Apache 服务器 : Editing httpd. conf 文件(权限被拒绝)

标签 apache logging permissions config

所以我刚刚按照此处规定的说明下载了 Apache 服务器及其所有文件(httpd、apr、apr-util、pcre):http://httpd.apache.org/docs/2.4/install.html

但是,设置后,当我尝试启动位于 usr/local/bin/中的 Apache 服务器时,系统提示我以下消息:

[allen@allen-lnx ~]$ /usr/local/bin/apachectl start
(13)Permission denied: AH00091: httpd: could not open error log file /usr/local/logs/error_log.
AH00015: Unable to open logs

经过一些研究,我发现我需要编辑我的 httpd.conf 文件,我之前这样做是为了允许正确的 ServerName 和 Listen 选项。但是,我不确定如何编辑我的 conf 文件以允许访问“日志”目录。

值得注意的是,当我使用“sudo”命令时,该命令将运行,但我不想总是使用它,因为它似乎是一种解决方法。

任何帮助将不胜感激。谢谢!

编辑:我实际上注意到我可能有两个 httpd.conf 文件,事实证明这有点麻烦。另一个位于我的根/etc/目录 (etc/httpd/conf/httpd.conf)。我想我现在修改的问题是……我应该保留哪一个?如下面 faff 的评论所示,/etc/版本是内置的吗?

当前解决方案:我想我会接受这样一个事实,即我需要在编辑此文件时使用 sudo,因为我需要成为 root。我稍后可能会更改它,以便我始终以 root 身份运行,但现在,sudo就足够了。

最佳答案

这看起来像是文件系统权限的问题。确保 /usr/local/logs/目录存在并且可以由您运行 Apache 的用户写入。

如果您不想拥有您的 logs普通用户可写的目录,您可以创建日志文件:

sudo touch /usr/local/logs/error_log

然后将文件的所有者更改为正确的用户:
sudo chown allen /usr/local/logs/error_log

假设您想以用户 allen 的身份运行 Apache .

如果要更改 Apache 日志文件的位置,请查找 ErrorLog httpd.conf 文件中的指令(如果它不存在,则必须添加它):
ErrorLog path/to/logfile

关于Apache 服务器 : Editing httpd. conf 文件(权限被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127553/

相关文章:

java - 使用 log4j2 配置文件设置记录器时

hadoop - 在Hive UDF中记录消息

javascript - 将权限传播到 Javascript

ruby-on-rails - 使用 Apache、Puma、Ubuntu 设置 Rails SSL

php - 安装PHP,MySQL和Apache2后,在Ubuntu的哪里可以找到DocumentRoot?

java - JAVA中有没有类似XML Beans for 834文件的工具

java - android.Manifest.permission.WRITE_EXTERNAL_STORAGE - 应用程序崩溃

android - HttpHostConnectException 10.0.2.2 :8080 refused

java - 调用 executeUpdate 时 UCanAccess/Jackcess 异常禁用我的 Logger 输出

java - 防止调试器看到变量值