没有这样的文件或目录:AH02291:无法访问主错误日志的目录“/usr/logs/”AH00014:配置检查失败

Was*_*dar 5 php apache bash macos-sierra

我正在尝试在我的 MacOS Sierra 上安装和配置 PHP 7.2。安装后,我无法启动 Apache 服务器并出现以下错误。

No such file or directory: AH02291: Cannot access directory '/usr/logs/' for main error log
AH00014: Configuration check failed
Run Code Online (Sandbox Code Playgroud)

我也尝试创建 '/usr/logs/' 目录,但这是不允许的。我正在使用的命令:

$sudo apachectl start
$apachectl configtest
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

Aur*_*ris 5

Apache 需要日志的写权限:

在 osx 上 /usr 是受保护的目录,系统不允许在其中手动创建子目录。

  • 创建目录/日志 sudo mkdir /logs
  • 设置权限 sudo chmod 775 /logs
  • 设置所有者 sudo chown {your-apache-user}:{your-apache-group} /logs
  • 可选地,您可以将 apache 用户添加到当前目录所有者的组中(这将是一个更通用和更清洁的解决方案),而不是让 apache 成为所有者
  • 在apache config(不要忘记vhosts)中,将日志目录更改为onew目录
  • 重启阿帕奇

更好的选择:使用 Vagrant https://www.vagrantup.com/,这样你就不会破坏你的操作系统


Clé*_*ent 5

https://support.plesk.com/hc/en-us/articles/214527565-Unable-to-start-Apache-when-Apache-logs-directory-is-missing-No也给出了完整且令人满意的解决方案-此类文件或目录-无法打开日志

如果错误消息是

启动httpd: (2)没有那个文件或目录:httpd:无法打开错误日志文件/etc/httpd/logs/error_log。
无法打开日志

或者

httpd[26817]:AH00526:/etc/httpd/conf.d/mod_security.conf 第 43 行的语法错误:httpd[26817]:ModSecurity:无法打开调试日志文件:/var/log/httpd/modsec_debug.log

或者

[error] (2)No such file or directory: mod_jk: could not open JkLog file /var/log/httpd/mod_jk.log Configuration Failed

甚至

apachectl[1891]:(2)没有那个文件或目录:AH02291:无法访问主错误日志的目录“/var/log/apache2/”
apachectl[1891]:(2)没有那个文件或目录:AH02291:无法访问目录 '/var/log/apache2/' 用于在 /etc/apache2/sites-enabled/000-default.conf:1 中定义的 vhost 的错误日志

然后运行(以root身份):

mkdir /var/log/httpd
chmod 700 /var/log/httpd/
service httpd start
Run Code Online (Sandbox Code Playgroud)

或者

mkdir /var/log/apache2
chmod 750 /var/log/apache2
chown root:adm /var/log/apache2
 service apache2 start
Run Code Online (Sandbox Code Playgroud)

应该做!