[Apache] Apache 2.2 升級至 2.4 版 conf 修復

Apache Server 2.4 與 2.2 版有一些設定上的差異,若升級時設定檔沒有修正將無法啟動。Tsung Hao 大神的 這篇文章 有整理了一些,可直接參考。本文只記錄一些額外的東西。

這篇的狀況是做完升級後 Apache 服務沒有起來,啟動服務時出現這段訊息:

1
2
3
4
5
6
7
8
* Starting web server apache2
*
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 60 of /etc/apache2/sites-enabled/000-default.conf:
Either all Options must start with + or -, or no Option may.
Action 'configtest' failed.
The Apache error log may have more information.

意思就是說關於 Options 這行的設定後面接的每一個 option value 你要全部上 + 或是 -,又或是全部都不加,不然在 config test 時就無法通過。解法就如同字面意思,要嘛全加,要嘛都不加。

1
2
3
4
5
6
<Directory /var/www/>
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride FileInfo
    Order allow, deny
    allow from all
<Directory>

如果原設定檔的 option value 有點多,也可以把 value 獨立寫一行,像這樣

1
2
3
4
5
6
7
8
<Directory /var/www/>
    Options FollowSymLinks MultiViews
    # 需要 +- 號的 value 獨立出來
    Options -Indexes
    AllowOverride FileInfo
    Order allow,deny
    allow from all
<Directory>

apachectl configtest 只會偵測到一個錯誤點就停下,不會一次全部列出,所以要一步一步找出所有還沒修改到的地方,直到出現 Syntax OK後,就可以啟動了。

1
2
3
4
apachectl configtest
Syntax OK
sudo service apache2 start
* Starting web server apache2 ... done.
Licensed under CC BY-NC-SA 3.0 TW
comments powered by Disqus