Ubuntu Apache2 DefaultRuntimeDir 必須是有效目錄,絕對目錄或相對於 ServerRoot 的目錄

Ubuntu Apache2 DefaultRuntimeDir 必須是有效目錄,絕對目錄或相對於 ServerRoot 的目錄

我有一個運行 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」至少有一些選項,如中所述

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879571

答案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 檔案中的“要求全部被拒絕”行有關,在我的情況下,該行(再次)被輸入為“要求被拒絕”

相關內容