我有操作系统CentOS Linux 版本 7.6.1810(核心)。我尝试启动几乎纯粹的httpd.service。我运行命令:
systemctl start httpd.service
我尝试从我的用户和从根- 没有什么不同。在我的错误日志中我注意到字符串:
pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
我以为错误就在这里。在我尝试纠正它之后,我尝试在文件中替换/etc/pam.d/password-auth-ac和/etc/pam.d/system-auth旧字符串:
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
使用新字符串:
auth requisite pam_succeed_if.so quiet_success
这个错误字符串转换为
pam_succeed_if(sshd:auth): no condition detected; module succeeded
我尝试重新安装 httpd - 它不起作用。现在完整的错误登录图像。我只想启动我的 httpd。
答案1
问题出在 SELinux 上。为了检查这是我们的情况还是不是从 root 运行:
setenforce 0
然后
sudo systemctl restart httpd.service
如果问题消失了,那么这可能就是我们的情况。如需额外检查:在主 .conf httpd 文件中添加日志调试级别。就我而言 /etc/httpd/conf/httpd.conf我在这个文件中添加了:
LogLevel debug
然后将 setenforce 设置回 1 并重新启动 httpd。在错误日志中,您可能会看到如下内容:
(13)权限被拒绝:AH00091:httpd:无法打开错误日志文件/var/www/example.com/logs/error.log 如果您看到这一点 - 这正是我们的情况。那么我们需要:
- 将 setenforce 设置为 0。
使用此命令更改输出日志文件的类型
chcon -t httpd_sys_rw_content_t error.log
将 setenforce 设置为 1。
重新启动httpd.service
步骤之后 - 一切都应该正常工作。
PS 不要忘记在firewall-cmd 中打开端口。