在 laravel @Apache2 Server Ubuntu 14.04 LTS 中将 Root 设置为公用文件夹
Posted
技术标签:
【中文标题】在 laravel @Apache2 Server Ubuntu 14.04 LTS 中将 Root 设置为公用文件夹【英文标题】:Setting the Root to public folder in laravel @Apache2 Server Ubuntu 14.04 LTS 【发布时间】:2015-03-08 12:24:18 【问题描述】:我有以下配置,但我无法访问 直接使用 Laravel。
在/etc/apache2/sites-available/laravel.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/laravel/public
<Directory /var/www/html/laravel/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
出现以下内容:
任何帮助将不胜感激。 提前致谢。
【问题讨论】:
已经解决了吗? @HelderLucas - 不,我还没有找到解决方案。 @HelderLucas RafaelM 给出的解决方案是最好的解决方案,请尝试一下。 【参考方案1】:您必须将 /etc/apache2/sites-enabled/laravel.conf 文件中的目录更改为公共路径。像这样:
<VirtualHost your-ip-address:80>
ServerAdmin admin@amdinserver.es
ServerName localhost
ServerAlias your-url
DocumentRoot /var/www/html/laravel/public
<Directory "/var/www/html/laravel/public">
AllowOverride All
Options FollowSymLinks Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
您还应该检查目录的权限。大多数文件夹应该是正常的“755”和文件,“644”。当然,您的供应商文件夹必须可以安装任何更新。
记住 apache 用户是 www-data。
这是一个让 apache 应用程序在 laravel 引导缓存上工作的示例:
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
【讨论】:
虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高答案的长期价值。请阅读此how-to-answer 以提供高质量的答案。以上是关于在 laravel @Apache2 Server Ubuntu 14.04 LTS 中将 Root 设置为公用文件夹的主要内容,如果未能解决你的问题,请参考以下文章
如何在生产中运行 Laravel Websockets(ubuntu + apache2)?
如何设置别名或 VirtualHost 以在 Apache2 上运行 laravel 项目
这个 apache2.4 和 laravel 设置合适的虚拟主机是啥?