【问题标题】:Laravel Deploy on ubuntuLaravel 在 ubuntu 上部署
【发布时间】:2017-06-17 11:38:25
【问题描述】:
我正在尝试在 ubuntu 服务器上部署 laravel 脚本,但有 2 个问题。
1-如何从 url 中删除 public(从 myip/laravel/public/myURL 到 myip/laravel/myURl)
2-如何保护其他文件(如果发出获取请求 myip/laravel/.env 它会显示 .env 文件的所有内容)
谢谢
【问题讨论】:
标签:
apache
laravel
ubuntu
laravel-5
【解决方案1】:
我建议您查看web server configuration 上的文档页面。
它为您提供了有关如何在您的服务器上设置 Laravel 的建议。
基本步骤
1) 将你的 laravel 应用放在特定文件夹中
2) 将您的网络服务器文档根目录指向 your_app/public
3) 确保文件夹的 RWX 权限正确。
特别是第 2 点将确保您不能调用 .env 文件...
【解决方案2】:
第一期:
如果您在 ubuntu 服务器上使用 apache2,首先,您必须将 laravel 文件放在 /var/www/html,以便能够更改文档根目录。然后打开您的 /etc/apache2/sites-enabled/000-default.conf (或您的默认站点配置的任何文件)查找
DocumentRoot /var/www/html/
并将其替换为
DocumentRoot /var/www/html/public。这会将它指向 var/www/html 的公共文件夹,该文件夹应该是您的项目所在的位置。
第二个:
在您的/etc/apache2/sites-enabled/000-default.conf 文件更改中
Options Indexes 在<Directory> 标签下到Options -Indexes。最后运行
sudo a2dismod autoindex.
这应该可以解决您的 apache 服务器问题。不要忘记使用sudo service apache2 restart 重新启动您的 apache2 服务器。
【解决方案3】:
你必须将 laravel 公用文件夹文件放在 www 文件夹中,其余的放在 www 文件夹之前。