提问人:Mustafa Arslan 提问时间:9/12/2023 最后编辑:Mustafa Arslan 更新时间:9/12/2023 访问量:39
如何在 Ubuntu Apache2 AWS EC2 Laravel 项目上调试 HTTP ERROR 500
How to debug HTTP ERROR 500 on Ubuntu Apache2 AWS EC2 Laravel Project
问:
我在 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或服务器设置的经验,所以欢迎任何想法。
如果您希望我提供更多详细信息或共享特定文件,请发表评论。
提前致谢。
答:
首先,您需要确保项目所在的文件夹与 和 匹配。Directory
DocumentRoot
其次,您的网站将由某个用户加载,在 Ubuntu 中,该用户是 .此用户需要具有对项目文件的访问权限,否则您将很难使用它们。www-data
这就是为什么您的解决方案似乎如下:
1. 将项目文件夹移动到适当的位置
请确保将项目移动到适当的位置,例如 /var/www/html/MyProject。(重命名 MyProject 或根据需要选择其他路径)
2. 授予访问权限
您的用户需要能够访问项目文件。或者,您可以让其他用户成为文件的所有者,但随后需要确保该用户拥有它:www-data
sudo chown -R www-data /var/www/html/MyProject
或
sudo chown -R youruser:www-data /var/www/html/MyProject
但随后确保您的用户存在并具有该角色。您可以通过以下方式找出哪些用户是该组的成员:www-data
www-data
grep ^www-data /etc/group
以下是将用户添加到组的方法:www-data
sudo adduser youruser www-data
3 更改配置
查找里面的配置文件,并确保你有一个正确的配置,也就是说,你定义,以便它指向正确的位置,以及标签应该指向正确的位置,比如/etc/apache2/sites-available
DocumentRoot
Directory
<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
评论
index.php
index.php.bak
评论
/var/www/html
似乎是托管网站的好地方。你为什么要改变它?