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

CentOS7部署Laravel10 Apache启动失败及权限问题求助

问题排查与解决步骤

1. 修复.htaccess语法问题(已处理,补充规范生成方式)

你遇到的第一个错误是.htaccess首行存在未闭合的<<<<<<<标记,这属于Git合并冲突残留内容。既然已删除该文件,建议重新生成Laravel标准.htaccess:
在项目根目录执行:

cp public/.htaccess.example public/.htaccess

若没有.htaccess.example文件,直接创建以下内容的.htaccess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

2. 解决Apache读取/home/centos/vhosts权限拒绝问题

即使目录权限设为755,仍可能因以下原因报错:

  • 检查父目录权限:确保/home/centos目录权限为755,否则Apache运行用户(通常为apache)无法进入该目录:
    chmod 755 /home/centos
    
  • 修复SELinux上下文:临时关闭SELinux(setenforce 0)仅生效至重启,建议为目录配置正确的httpd上下文:
    semanage fcontext -a -t httpd_sys_content_t "/home/centos/vhosts(/.*)?"
    restorecon -Rv /home/centos/vhosts
    
  • 调整证书文件权限:证书文件设为644,密钥文件设为600(避免其他用户读取):
    chmod 644 /home/centos/vhosts/*.csr /home/centos/vhosts/sslcert/CER\ -\ CRT\ Files/*.pem
    chmod 600 /home/centos/vhosts/*.key
    

3. 修正虚拟主机配置中的错误

你的配置存在两处关键问题:

3.1 80端口VirtualHost的Directory路径不匹配

第一个<VirtualHost *:80>块中,DocumentRoot指向/home/centos/www/mysite/public,但<Directory>路径写为/home/centos/www/casacoding/public,需修改为:

<Directory "/home/centos/www/mysite/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

3.2 SSL证书文件类型错误

SSLCertificateFile需指向颁发的证书文件(.crt/.pem),而非CSR签名请求文件(.csr)。替换为实际证书文件路径:

SSLCertificateFile "/home/centos/vhosts/mysite-com.crt"  # 替换为你获取的正式证书路径

4. 验证配置并重启Apache

完成修改后先验证配置合法性:

httpd -t

若输出Syntax OK,再重启服务:

systemctl restart httpd

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:55:02