我有一个问题,apache2 仅当我使用 sudo
调用它时才会启动。主要问题是所有进程都以 root
身份运行,我不喜欢这样。
执行时出现以下错误:
$ service apache2 start
(13)Permission denied: apache2: could not open error log file /var/log/apache2/error.log.
如果我检查envvars
,我的结果是:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
以及/var/log/apache2
目录的权限:
drwxr-x--- 2 root root 4096 Jan 4 07:57 apache2
我尝试将文件夹chown
到www-data:www-data
和www-data:root
但没有成功。我还能做什么?
最佳答案
努力做到更好
sudo adduser yourlogin www-data
或者在/etc/apache2/envars 中:
export APACHE_RUN_USER=yourlogin
export APACHE_RUN_GROUP=yourlogin
但是使用 Apache 做这类事情相当痛苦,而使用 nginx 则更容易
关于linux - Apache2 只能通过 sudo 启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27824311/