You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora 34系统Apache部署Laravel出现access forbidden错误求助

问题排查与解决方案

1 确认SELinux为问题根源

首先临时关闭SELinux验证问题:
setenforce 0
刷新页面如果可以正常访问,说明就是SELinux权限限制导致的403错误,验证完成后重新开启SELinux:
setenforce 1
不要直接永久关闭SELinux,会带来安全风险

2 配置SELinux文件上下文规则

Fedora默认开启SELinux强制模式,Apache进程仅有权限访问带有httpd_sys_content_t上下文的文件,你将项目放在用户家目录下,默认上下文不符合Apache的访问要求,按以下步骤修改:

  • 给整个Laravel项目设置可读的SELinux上下文:
    chcon -R -t httpd_sys_content_t /home/myuser/gitlab/register/
  • Laravel的storage和bootstrap/cache目录需要写入权限,单独配置可写上下文:
    chcon -R -t httpd_sys_rw_content_t /home/myuser/gitlab/register/storage/
    chcon -R -t httpd_sys_rw_content_t /home/myuser/gitlab/register/bootstrap/cache/
  • 持久化规则,避免系统重启后配置失效:
    semanage fcontext -a -t httpd_sys_content_t "/home/myuser/gitlab/register(/.*)?"
    semanage fcontext -a -t httpd_sys_rw_content_t "/home/myuser/gitlab/register/storage(/.*)?"
    semanage fcontext -a -t httpd_sys_rw_content_t "/home/myuser/gitlab/register/bootstrap/cache(/.*)?"
  • 应用持久化规则:
    restorecon -Rv /home/myuser/gitlab/register/

3 可选排查项(如果上述操作后仍有问题)

  • 检查rewrite模块是否开启,执行命令:
    httpd -M | grep rewrite
    如果没有输出,执行a2enmod rewrite开启模块,之后重启httpd服务:
    systemctl restart httpd
  • 检查项目上层目录的权限,确保/home/myuser、/home/myuser/gitlab目录权限至少为755,可执行命令设置:
    chmod 755 /home/myuser /home/myuser/gitlab

内容的提问来源于stack exchange,提问作者Mohammad Jalili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:27:01