
我有一個運行 Ubuntu 17.04 的 Web 伺服器,我正在嘗試使用Apache
.一切都運作良好,直到我決定透過 virtualHosts 在一台電腦上託管兩個網站。現在apache
即使啟用單一主機也拒絕啟動。每次我嘗試啟動時Apache
都會收到此錯誤:
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.
我嘗試解決這個問題都沒有任何成果,包括:
apt purge apache2 && rm -r /etc/apache2
錯誤訊息的第 80 行全部告訴我的是DefaultRuntimeDir ${APACHE_RUN_DIR}
。
我從來沒有看到在哪裡或什麼APACHE_RUN_DIR
被聲明為。
有人可以幫我嗎?
答案1
命令
source /etc/apache2/envvars
解決了我的問題(在嘗試了所有其他問題之後)。
要檢查一切是否正常,請使用命令
apache2 -S
我發現這比使用我的 DNS 記錄更快。
答案2
「man apache2」中缺少更新,至少對於選項 -V 而言;
今天,應該使用“apachectl”或“apache2ctl”而不是
「apache2」至少有一些選項,如中所述
答案3
Apache2用來/etc/apache2/envvars
設定環境變數。您可以使用此資訊來確保指向${APACHE_RUN_DIR}
的目錄有效。
我從 14.04 升級到 17.04 時遇到了相同的問題。問題是:${APACHE_RUN_DIR}
設定為/var/run/apache2
,但 apache2 資料夾遺失/var/run
。
對我來說,解決方法是:mkdir /var/run/apache2
答案4
就我而言,它與 apache2.conf 檔案中的“要求全部被拒絕”行有關,在我的情況下,該行(再次)被輸入為“要求被拒絕”