无法重启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