我有一个运行 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 文件中的“Require all denied”行有关,而在我的情况下,它(再次)被输入为“Require denied”