代码之家  ›  专栏  ›  技术社区  ›  Mustafa Arslan

如何在Ubuntu Apache2 AWS EC2 Laravel项目上调试HTTP ERROR 500

  •  0
  • Mustafa Arslan  · 技术社区  · 1 年前

    我对我在AWS EC2实例上的laravel项目有问题。 强调文本

    我在AWS EC2实例上做了“重启实例”。在重新启动之前,它运行良好。

    重新启动后出现默认的apache2页面。

    我编辑过 /etc/apache2/sites-available/000-default.conf 文件来自;

    DocumentRoot /var/www/html
    

    DocumentRoot /home/ubuntu/my-laravel-oproject-folder/public
    

    我的项目在哪里。

    之后,错误被转到 403 Forbidden 。我试过了 sudo chmod -R 775 /home/ubuntu/my-laravel-oproject-folder/public 我编辑了 /etc/apache2/apache2.conf 文件来自;

    <Directory /var/www>
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
    </Directory>
    

    <Directory /home/ubuntu>
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
    </Directory>
    

    经过这些变化,现在我得到了 HTTP ERROR 500 .

    我用重新启动了apache sudo service apache2 restart 每次更改后。

    我是编程新手,对aws或服务器设置没有任何经验,所以任何想法都是受欢迎的。

    如果你想让我提供更多细节或分享特定的文件,请留言评论。

    提前谢谢。

    0 回复  |  直到 1 年前
        1
  •  1
  •   Lajos Arpad    1 年前

    首先,您需要确保项目所在的文件夹与 Directory DocumentRoot .

    其次,你的网站会被一些用户加载,在Ubuntu中,这个用户是 www-data 。此用户需要对您的项目文件具有访问权限,否则您将很难使用这些文件。

    这就是为什么您的解决方案如下所示:

    1.将项目文件夹移动到适当的位置

    确保将项目转移到适当的位置,例如 /var/www/html/MyProject 。(根据需要重命名MyProject或选择其他路径)

    2.授予访问权限

    你的 www数据 用户需要能够访问项目文件。或者,您可以让另一个用户成为文件的所有者,但您需要确保该用户拥有该文件:

    sudo chown -R www-data /var/www/html/MyProject
    

    sudo chown -R youruser:www-data /var/www/html/MyProject
    

    但请确保您的用户存在并且具有 www数据 角色这是您可以了解哪些用户是的成员的方法 www数据

    grep ^www-data /etc/group
    

    这就是如何将用户添加到 www数据

    sudo adduser youruser www-data
    

    3更改配置

    查找内部的配置文件 /etc/apache2/sites-available 并确保您有一个正确的配置,也就是说,您定义 网站根目录 以便它将指向正确的位置以及 目录 标签应该指向正确的位置,比如

    <Directory /var/www/html/MyProject>
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
    </Directory>
    

    4.确保配置正确

    一般来说,每个站点都有自己的配置文件是很好的,所以您可以

    cp 000-default.conf yoursite.conf
    

    5.启用您的网站

    如果您的网站已经启用,那么您可以运行

    sudo a2dissite yoursite
    

    以便禁用它。然后,运行

    sudo a2ensite yoursite
    

    启用它。

    6重新启动Apache

    sudo systemctl restart apache2.service
    
    推荐文章