Ubuntu Apache2 DefaultRuntimeDir は、ServerRoot からの絶対または相対の有効なディレクトリである必要があります。

Ubuntu Apache2 DefaultRuntimeDir は、ServerRoot からの絶対または相対の有効なディレクトリである必要があります。

Ubuntu 17.04 で実行している Web サーバーがあり、 でセットアップしようとしていますApache。virtualHosts を介して 1 台のマシンで 2 つの Web サイトをホストすることを決めるまではすべて正常に動作していました。しかし、今ではapache1 つのホストが有効になっていても起動しません。起動しようとするたびに、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

少なくともオプション -V については、「man apache2」に更新がありません。

現在では、「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ファイルの「Require all denied」行に関するものでしたが、私の場合は(再び)単に「Require denied」と入力されていました。

関連情報