Fedora 上的 Lighttpd + PHP 权限问题

Fedora 上的 Lighttpd + PHP 权限问题

我正在尝试设置支持 PHP 的 Lighttpd 网络服务器。我基本上按照本文,但重新启动服务器后(虽然我没有收到错误消息并systemctl status lighttpd.service声称它正在运行),服务器没有响应。

其中/var/log/lighttpd/error.log

(mod_fastcgi.c.978) bind failed for: unix:/var/lib/lighttpd/sockets/php-fastcgi-1.socket-0 Permission denied

这本身就是一条直截了当的消息,显然服务器缺乏访问var/lib/lighttpd/sockets目录的权限。但是,我确实将目录的所有权(递归)更改为,lighttpd:lighttpdls -al /var/lib/lighttpd给出了以下信息:

drwxr-xr-x.  3 lighttpd lighttpd 4096 Mar 13 17:12 .
drwxr-xr-x. 42 root     root     4096 Mar 13 17:10 ..
drwxr-xr-x.  2 lighttpd lighttpd 4096 Mar 13 17:12 sockets

看起来这已经成功了,服务器应该拥有所有必要的权限。这里是不是有什么我没看到的地方?

答案1

看起来像是 SELinux 的问题。您可以暂时禁用 SELinux 并测试此理论。尝试在命令行上执行

sudo echo 0 >/selinux/enforce

然后重启 lighttpd。看看它是否能正常工作。如果不起作用,则不是 SELinux 问题。重启机器以重新启用 SELinux 或执行:

sudo echo 1 >/selinux/enforce

如果它确实解决了问题,您可以禁用 SELinux 或将其设置为宽容以永久解决问题,如下所示:

编辑/etc/selinux/config并设置

SELINUX=enforcing 

SELINUX=permissive

然后重新启动。不要将 SELinux 设置为禁用,因为这可能会在您稍后希望重新激活 SELinux 时造成麻烦。

相关内容