如果你将Ubuntu从12.04升级跨越到了14.04,那么这其中包括了一个重大的升级--Apache从2.2版本升级到2.4版本。Apache的这次升级带来了许多性能提升,但是如果继续使用2.2的配置文件会导致很多错误。

访问控制的改变

从Apache 2.4起所启用授权机制比起2.2的只是针对单一数据存储的单一检查更加灵活。过去很难确定哪个 order 授权怎样被使用的,但是授权容器指令的引入解决了这些问题,现在,配置可以控制什么时候授权方法被调用,什么条件决定何时授权访问。

这就是为什么大多数的升级失败是由于配置错误的原因。2.2的访问控制是基于IP地址、主机名和其他角色,通过使用指令Order,来设置Allow, Deny或 Satisfy;但是2.4,这些一切都通过新的授权方式进行检查。

为了弄清楚这些,可以来看一些虚拟主机的例子,这些可以在/etc/apache2/sites-enabled/default 或者 /etc/apache2/sites-enabled/你的网站名称 中找到:

旧的2.2虚拟主机配置:Order allow,denyAllow from all

新的2.4虚拟主机配置:Require all granted

apache 2.4 config

(LCTT 译注:Order、Allow 和 deny 这些将在之后的版本废弃,请尽量避免使用,Require 指令已可以提供比其更强大和灵活的功能。)

.htaccess 问题

升级后如果一些设置不工作,或者你得到重定向错误,请检查是否这些设置是放在.htaccess文件中。如果Apache 2.4没有使用 .htaccess 文件中的设置,那是因为在2.4中AllowOverride指令的默认是 none,因此忽略了.htaccess文件。你只需要做的就是修改或者添加AllowOverride All命令到你的网站配置文件中。

上面截图中,可以看见AllowOverride All指令。

丢失配置文件或者模块

根据我的经验,这次升级带来的另一个问题就是在2.4中,一些旧模块和配置文件不再需要或者不被支持了。你将会收到一条“Apache不能包含相应的文件”的明确警告,你需要做的是在配置文件中移除这些导致问题的配置行。之后你可以搜索和安装相似的模块来替代。

其他需要了解的小改变

这里还有一些其他的改变需要考虑,虽然这些通常只会发生警告,而不是错误。MaxClients重命名为MaxRequestWorkers,使之有更准确的描述。而异步MPM,如event,客户端最大连接数不等于工作线程数。旧的配置名依然支持。

DefaultType命令无效,使用它已经没有任何效果了。如果使用除了 none 之外的其它配置值,你会得到一个警告。需要使用其他配置设定来替代它。

EnableSendfile默认关闭

FileETag 现在默认为"MTime Size"(没有INode)

KeepAlive 只接受“On”或“Off”值。之前的任何不是“Off”或者“0”的值都被认为是“On”

单一的 Mutex 已经替代了 Directives AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex 和 WatchdogMutexPath 等指令。你需要做的是估计一下这些被替代的指令在2.2中的使用情况,来决定是否删除或者使用Mutex来替代。

ubuntu linux 14.04 apache,在 Ubuntu 14.04 中Apache从2.2迁移到2.4的问题相关推荐

  1. Ubuntu Linux 3D桌面完全教程 Ubuntu Linux 3D桌面完全教程

    注意:本文中envy等安装步骤已经不再使用 [5月20日更新] Ubuntu Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答. 本教程的前身是一善鱼 编写并发布在U ...

  2. debian mysql目录_debian Squeeze配置apache php mysql环境,debian中apache目录结

    1:安装apache 2.X版本 apt-get install apache2 打开apache重写 a2enmod rewrite 安装mysql apt-get install mysql-se ...

  3. ubuntu linux 32 16.04root密码,Ubuntu 16.04 Xenial:如何重置密码(忘记密码)

    最近一直没用VM,然后突然要用到的时候忘记密码了.root和各个user都忘记了.无奈,找了些方法都有点老.到root那一步还是要admin的权限密码.最后终于搞定顺利登入系统,把方法分享给大家: 环 ...

  4. ubuntu linux 启动日志,如何在Ubuntu 18.04 LTS上查看系统日志文件

    Linux管理员应该能够阅读和理解所有Linux系统生成的各种消息,以便对问题进行故障排除.这些消息称为日志,由Linux及其上运行的应用程序启动. Linux通过各种配置文件,程序,命令和守护程序不 ...

  5. ubuntu/linux系统知识(34)Ubuntu18.04下安装搜狗输入法失败

    有没有谁跟我一样,装了ubuntu 18.04 LTS的版本后,按照官方的ubuntu搜狗输入法,安装.配置 但是总是没办法正常使用. 打开/var/log/syslog,看看是否有什么错误 我的环境 ...

  6. ubuntu/linux系统管理(12)Ubuntu 22.04 安装文件比对工具Meld替代Beyond Compare

    Beyond Compare是商业软件,不建议使用. 其实Linux下文本比较工具很多,比如Meld. 安装: sudo apt-get install meld 想要运行直接在命令行中输入meld& ...

  7. ubuntu linux 基础问题---转自ubuntu论坛 adagio

    原帖地址: http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=187105&p=1156639#p1156639 以下都是被问过一万遍,也 ...

  8. linux简介ubuntu,Linux文件系统简介(基于Ubuntu)

    1. 查看Linux文件系统 (1)使用ls命令可以查看Ubuntu系统的的典型布局. 命令:$ ls /  显示: (2)要想看到更详细的目录层次结构,则应安装和使用tree命令来显示根目录或基本目 ...

  9. ubuntu linux显卡驱动安装教程,Ubuntu系统怎么安装英伟达显卡驱动呢 快速安装步骤详解...

    Ubuntu系统怎么安装英伟达显卡驱动呢?Ubuntu系统的电脑,显卡驱动都是默认的开源,并非官方驱动 在性能和功能方面,与官方驱动还是有差别的 下面介绍利用Ubuntu的驱动程序安装显卡官方驱动.需 ...

  10. ubuntu linux改中文语言包,Ubuntu安装中文语言包

    为Ubuntu 9.10升级语言包,只需要简单的几步. 1.点击顶部工具栏的System--Administration--Language Support. 2.弹出如下语言切换窗口. 3.点击In ...

最新文章

  1. Camel之AsyncProcessor
  2. PCA(主成分分析)+SVD(奇异值分解)+区别
  3. 终于把时间序列分析的关键点全讲清楚了!
  4. python下载pip脚本显示file_generateScriptFile.py脚本使用过程中遇到的问题及解决
  5. angular2集成highchart
  6. Wechat公众号授权登录接口
  7. 从零开始学习docker(十六)Swarm mode 创建集群
  8. pythontdd测试命名_荐Pytest之测试命名规则
  9. 题目1179:阶乘-------------阶乘不用long long int 就不能AC
  10. 【实战 Ids4】║ 认证中心之内部加权
  11. 论文学习1-DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning
  12. C语言 全局变量和局部变量区别 - C语言零基础入门教程
  13. ubuntu16.4 配置logstash6.3.2 kibanan6.3.2
  14. C语言基础学习教程之数据类型
  15. Hexo + Github搭建自己的博客
  16. python跨平台处理绝对路径和相对路径,open,with
  17. 孙鑫VC学习笔记:第六讲 菜单
  18. 职称评审要满足什么条件
  19. 【蓝桥杯备考】Acwing周赛 第41场 Java题解
  20. 大恒相机开发实践(1)——实时采图

热门文章

  1. 小程序学习笔记(2)-简单的小例子了解小程序的语法
  2. vue全家桶+element-UI
  3. 黑马vue实战项目-(四)商品分类页面的开发
  4. 三本学计算机没用吗,腾讯员工:我211学计算机都觉得写代码难,三本的人能写代码为啥考不上211...
  5. python玩转单片机_Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!...
  6. java 日志框架 详解_springboot日志详解
  7. 鸿蒙系统基于安卓10.0,鸿蒙系统呢?华为首批升级安卓10.0机型曝光:这11款!...
  8. Springboot的工作机制:4 再谈谈自动配置
  9. Spring框架的本质:1Spring框架的起源
  10. C语言的数组简单复习