linux - Apache2 只能通过 sudo 启动

标签 linux apache ubuntu

我有一个问题,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

我尝试将文件夹chownwww-data:www-datawww-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/

相关文章:

php - 客户端访问/usr/local/apache/htdocs/on CPanel

java - 使用 Apache POI 在 Excel 中生成下拉列表时是否有最大项目数?

python - 在 XAMPP ubuntu 和 mac os x 中安装 a2enmod

linux - 如何使用 XFS 设置保证 io?

linux - 重新配置docker内的时区不起作用

linux - 更改 git 在 linux 上的安装位置

apache - 限制每个 Apache 虚拟主机的带宽

php - latex 不能在 php exec() 中工作

amazon-web-services - 我可以在没有 PEM 文件的情况下将文件复制到 Amazon EC2(使用 AWS CLI)吗?

linux - 如何使用 inittab 自动重启 PHP 程序?