我想在AWS / EC2实例中安装Laravel。我首先尝试在我的主目录中安装。 laravel new命令运行良好,并安装子目录。我更改了文档根目录和目录部分中的/etc/httpd/conf/httpd.conf(见下文),以反映laravel安装的public子目录的路径。我重新启动了apache服务器。我将Laravel安装的存储子目录上的权限(递归地)更改为777.我意识到最终对777的更改需要更改为775,并向Web用户显示,但我希望首先使用此工具。
此配置会产生“禁止访问”您无权访问/在此服务器上。"响应。
我尝试在/ var / www中安装laravel。我改名为" html"目录。 " laravel new html"命令产生错误
PHP警告:file_put_contents(/var/www/laravel_42427584d5fd657ed6d5af1886e70011.zip):无法打开流:第114行/home/ec2-user/.composer/vendor/laravel/installer/src/NewCommand.php中的权限被拒绝
这似乎是一个权限问题,所以我尝试了sudo laravel new html。这会产生" sudo:laravel命令未找到"。我在我的路径中添加了〜/ .composer / vendor / bin。
我的偏好是在我的主目录中安装Laravel,但安装在任何有效的地方都可以。
stackoverflow(和一般网站)中的搜索产生的解决方案建议更改laravel安装目录apache的所有权:apache(产生相同的forbiden错误)并查看apache错误日志(拒绝进入/ var / log / httpd的权限)即使使用sudo,这个目录的chmod也没有改变结果。)
我已经包含了httpd.conf文件。提前感谢您的帮助。
httpd.conf文件(相关部分)
#DocumentRoot "/var/www/html"
DocumentRoot "/home/ec2-user/laravel_dir/public"
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
# Further relax access to the default document root:
#<Directory "/var/www/html">
<Directory "/home/ec2-user/laravel_dir/public">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch
ExecCGI MultiViews # #注意&#34; MultiViews&#34;必须明确命名 ---&#34;选项全部&#34; ... #AllowOverride无 AllowOverride All ... 要求全部授予