我在 ubuntu 13.10 上安装了 apache2。如果我尝试使用重新启动它
sudo /etc/init.d/apache2 restart
我收到这条消息:
AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 127.0.1.1。全局设置“ServerName”指令以禁止显示此消息
所以我读到我应该编辑我的httpd.conf
文件。但是,由于我在/etc/apache2/
文件夹中找不到它,我尝试使用以下命令找到它:
/usr/sbin/apache2 -V
但我得到的输出是这样的:
[Fri Nov 29 17:35:43.942472 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Fri Nov 29 17:35:43.942560 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Fri Nov 29 17:35:43.942602 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Fri Nov 29 17:35:43.942613 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Fri Nov 29 17:35:43.942627 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.947913 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.948051 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.948075 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
第 74 行/etc/apache2/apache2.conf
是这样的:
Mutex file:${APACHE_LOCK_DIR} default
我看了看我的/etc/apache2/envvar
文件,但我不知道如何处理它。
我应该怎么办?
通过像这样运行它来获取您的环境变量:
接着
你应该得到:
显示此消息是因为您直接执行了 apache2 二进制文件。在 Ubuntu/Debian 中,apache 配置依赖于仅激活的 envvar 文件。
如果您使用 init 脚本或 apachectl 启动 apache。
您最初的问题是您的机器没有正确的主机名(fqdn)。
如果您无法更改它,请将
ServerName
变量更改/etc/apache2/apache2.conf
为localhost
您喜欢的 FQDN。检查您
/etc/apache2/envvars
的 APACHE_LOCK_DIR。在我的 Ubuntu 12.04 中,这是/var/lock/apache2$SUFFIX
SUFFIX 通常为空。检查目录是否存在且可写。
可能是 envvars 文件的来源不正确?如果您看一下,
/etc/init.d/apache2
您会发现它的来源。我的(默认)
/etc/apache2/envvars
:如果没有任何效果,我会尝试重新安装软件包。
正如其他人所说,您必须在直接运行之前加载(源)您的环境另一个选项是使用:
apache2ctl
例如sudo apache2ctl -S
转储我的主机
TL;博士; 您应该使用已有的启动 apache2:
详细的:
此消息意味着您需要定义您的服务器名称/域名。对于本地主机/生产测试来说,这不是必需的,您不必担心。
当您尝试以另一种方式运行它时,仅使用
apache2
,您将收到这些错误消息,因为之前说过:环境变量是在您开始使用默认脚本时定义的init.d
。这对我有用
也许这会解决你的问题
您需要将 DocumentRoot 从更新
/var/www/html
为/var/www
编辑文件/etc/apache2/sites-available/000-default.conf如下