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

访问新建Laravel应用出现Forbidden错误的技术求助

解决Laravel应用Apache权限拒绝问题

错误原因

日志提示的search permissions are missing核心问题是:Apache的运行用户(默认是www-data)没有权限遍历/root目录。/root目录默认权限为700,仅允许root用户访问,即使你配置了public目录的权限,上级目录的访问限制依然会导致Apache无法读取项目文件。

推荐解决方案(迁移项目到安全目录)

1. 移动项目到非root目录

将Laravel项目从/root目录迁移到Apache默认的网站根目录/var/www/:

sudo mv /root/testing-laravel /var/www/

2. 设置正确的文件所有权

修改项目目录的所属用户和组为Apache运行用户www-data:

sudo chown -R www-data:www-data /var/www/testing-laravel

3. 调整目录权限

确保Apache能正常读写必要的目录:

# 设置项目根目录权限
sudo chmod -R 755 /var/www/testing-laravel
# 给storage和bootstrap/cache目录添加写入权限
sudo chmod -R 775 /var/www/testing-laravel/storage /var/www/testing-laravel/bootstrap/cache

4. 更新Apache虚拟主机配置

编辑/etc/apache2/sites-available/laravel-testing-site.conf,修改DocumentRoot和Directory的路径:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName testing-laravel.mydomain.com
    DocumentRoot /var/www/testing-laravel/public

    <Directory /var/www/testing-laravel/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

5. 重启Apache服务

sudo systemctl restart apache2

临时解决方案(不推荐,有安全风险)

如果必须保留项目在/root目录下,可以临时开放/root目录的遍历权限给其他用户:

sudo chmod o+x /root

注意:此操作会降低系统安全性,非必要不建议在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:32:19