從Ubuntu 12.04到14.04的升級會帶來一些重要的更新,比如說Apache2.2到2.4的更新。Apache的更新雖然帶來一些改進,但是當你用apache2.2的配置文件時是不是有可能會引起錯誤呢。
Apache2.4虛擬主機的訪問控制
Apache2.4的授權(quán)比之前更加靈活,僅僅是簡單檢查下類似在Apache2.2中的一個數(shù) 據(jù)倉庫。過去,很難知道如何授權(quán),以何種順序授權(quán),但是隨著授權(quán)容器命令(比如說and)的引入,授權(quán)時的配置 問題就能解決,也能知道決定什么時候擁有訪問權(quán)限的規(guī)則。
配置出錯就是大多數(shù)更新失敗的問題所在,在Apache2.2中,訪問控制是基于IP地址, 主機和其他使用命令行排序,準許,拒絕和滿足條件的特征,但是在Apache2.4中,這只要在授權(quán)檢查時使用一個 新的模塊就能完成。
為了更加明白,我們看看幾個虛擬主機的實例,在你的/etc/apache2/sites- enabled/default或者/etc/apache2/sites-enabled/YOURWEBSITENAME能夠看到:
舊的Apache2.2的虛擬主機配置:
Order allow,deny
Allow from all
新的的Apache2.4的虛擬主機配置:
Require all granted
.htaccess問題
如果更新后一些設(shè)置不能使用或者出現(xiàn)需要重新配置的錯誤,那么你檢查下這些設(shè)置 是不是在一個.htaccess文件中。如果.htaccess文件中的設(shè)置沒有被使用,那是因為2.4里AllowOverride 默認被設(shè)置為None,于是.htaccess文件被忽略了。你要么更改要么增加AllowOverride所有的命令到你的 site配置文件中。
你也能在上面的屏幕截圖中看到AllowOverride所有的命令設(shè)置。
丟失的配置文件和模塊
根據(jù)我的經(jīng)驗,更新的另一個問題是配置文件包含舊的模塊或者配置文件在2.4中不被需要或者不被支持,你會看到一個顯眼的警告Apache can't include the respective file and all you have to do is go to your configuration file and remove the line that causes problem。之后你可以查詢或者安裝一個相同的模塊。
你需要知道的其他小的改變
有一些其他的改變盡管通常導(dǎo)致警告,不導(dǎo)致錯誤,但是需要你注意:
>MaxClients改名為MaxRequestWorkers,精確的描述出了它是什么。對于異步的MPMs,就像事件,客戶的最大數(shù)不等于工作的線程數(shù)。舊的名字仍舊被支持。
>命令DefaultType不再使用,若是被賦值使用(不為none)就導(dǎo)致一個警告。在2.4中你需要使用其他配置設(shè)置來代替它。
>EnableSendfile默認是Off。
>FileETag 默認值是"MTime Size"(沒有INode)。
>KeepAlive 接受 On 或者 Off兩個值。之前,除了Off和0之外的值都被當作On處理。
>命令 AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, and WatchdogMutexPath 已經(jīng)被一個命令 Mutex 所代替。你需要估計一下在2.2的配置中這些被去除的命令的使用去決定他們是不是僅僅被刪除或者需要被 Mutex 所代替。
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |