无法重启Apache,收到错误:apache2:错误的用户名$ {APACHE_RUN_USER}

我试图重启Apache时遇到此错误,是否有人知道如何解决这个问题? 谢谢,

要解决此问题,您必须对两个单独的文件进行更改。

首先,编辑/etc/apache2/apache2.conf ,添加以下行:

 User www-data Group www-data 

其次,编辑/etc/apache2/envvars ,添加以下行:

 export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data 

这将为当前会话设置apache2 ENV变量,并允许您在不修改配置的情况下使用apache2二进制文件:

 source /etc/apache2/envvars 

的/ etc / apache2的/ envvars中

只是一个设置一些环境变量的脚本。 当您使用apachectl时,它会在启动apache2之前对其进行处理。 如果你想从终端调用apache2,你也需要这些变量。

因此,调用source /etc/apache2/envvars设置允许apache2在apachectl之外工作的变量。

您可以通过许多其他方式设置它们。 例如,登录时调用envvars。

在我的情况下,通过重新启动计算机错误消失(我刚刚安装了apache2),我能够发出命令sudo /etc/init.d/apache2 restart并重启apache2。

我使用的临时修复程序是编辑/etc/apache2/apache2.conf的文件。 寻找这个:

 User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} 

并将其更改为:

 User www-data Group www-data 

无论出于何种原因,apache2都没有查看envvars以获取适当的环境变量。 为什么会发生这种情况的真正答案是追踪为什么没有咨询envvars

当我尝试sudo /usr/sbin/apache2 -k restart时得到了这个。
实际上/ usr / sbin中的apache2链接到共享库’/ lib / apache2 / mpm-worker / apache2′
而是应该如上所述使用sudo /etc/init.d/apache2 restart

尝试运行apache2 -M时,我遇到了同样的错误。

我最终只是采购了这样的envars文件:

 . /etc/apache2/envvars 

这样就可以在标准init脚本之外运行apache2,从而正确设置环境变量。

当我运行apache2 -M我得到了同样的错误。 找到这个解决方案

 groupadd sshusers 

我不知道为什么要修复它,但确实如此。

手动编辑/etc/group并在那里添加www-data然后启动apache

添加www-data:x:1012:www-data文件末尾的www-data:x:1012:www-data并保存为Ctrl-X是{enter}(1011是我的组文件中的最后一个数字)

启动apache sudo service apache2 start

它适用于我的情况

我有一个明智的问题,并检查apache2ctl status ,它说我需要配置www-browser或调整apache_lynx

我的shell告诉我安装lynx,所以我做了,这解决了我。

 sudo apt-get install lynx