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.
|