SLES 15 SP6部署Passbolt失败:php-fpm权限绑定错误求助
问题排查与解决:PHP-FPM启动失败(权限拒绝)
核心问题定位
从报错日志可知,php-fpm进程无法绑定到/run/php-fpm/www.sock套接字文件,错误码13对应权限不足,这是导致服务启动失败的直接原因。
分步解决方法
1. 检查套接字目录权限
先查看/run/php-fpm目录的归属与权限:
ls -ld /run/php-fpm
SLES系统中,该目录默认应归属wwwrun用户、www用户组,权限至少为750。
2. 修正目录归属与权限
若目录权限或归属不符合要求,执行以下命令调整:
# 设置目录归属为web服务用户组 chown wwwrun:www /run/php-fpm # 设置目录权限,确保php-fpm进程可读写 chmod 750 /run/php-fpm
3. 检查PHP-FPM池配置
打开/etc/php8/fpm/pool.d/www.conf配置文件,确认以下项与系统匹配:
user = wwwrun group = www listen.owner = wwwrun listen.group = www listen.mode = 0660
确保配置的用户/组为SLES默认的web服务运行身份(wwwrun用户、www组)。
4. 清理残留套接字文件
若之前进程异常退出,可能残留无效的套接字文件,执行清理:
rm -f /run/php-fpm/www.sock
5. 重启PHP-FPM服务
完成上述调整后,重启服务并验证状态:
systemctl restart php-fpm.service systemctl status php-fpm.service
额外注意事项
你将SSL证书放在/root目录下,而nginx进程以wwwrun用户运行,会因权限限制无法读取该目录下的文件,后续可能引发nginx启动失败。建议调整证书路径:
# 创建专用证书目录 mkdir -p /etc/ssl/passbolt # 移动证书文件 mv /root/cert.pem /root/key.pem /etc/ssl/passbolt/ # 设置证书权限 chown wwwrun:www /etc/ssl/passbolt/* chmod 600 /etc/ssl/passbolt/key.pem chmod 644 /etc/ssl/passbolt/cert.pem
之后修改nginx配置中的证书路径为新路径,重启nginx服务即可。
内容的提问来源于stack exchange,提问作者Kai Henne
相关产品推荐
相关产品推荐

