我正在学习Laravel。我被告知,出于安全原因,不应将其安装在共享主机上。但我还是想这样做,因为那是我现在唯一的选择。
所以,我用Google搜索了解如何在共享主机上安装Laravel"。但是所有说明都基于您将项目置于主机的公共/ Web文件夹之外,然后将Laravel公共文件复制到主机的公共文件并更改索引文件中的路径。
但是我不能这样做,因为我没有权限在我的主机上的公共文件夹的父文件夹中添加或更改任何内容。所以我需要一个解决方案,其中Laravel安装在公共文件夹中。
我知道,这绝对不是推荐的解决方案。但是我想在这个学习阶段做到这一点。
如何在主机的公共文件夹中设置整个Laravel软件包?
答案 0 :(得分:0)
作为旁注;这是一个坏主意。您的所有代码都可以公开查看。
最简单的方法是将Laravel复制到/ public文件夹中。
然后,如果您使用的是cPanel之类的内容,则可以将域名的根目录从/
更改为/public
答案 1 :(得分:0)
如果它不重要,那么从根目录中的所有htaccess文件中禁止使用会更好。然后,公开更新文件以允许所有文件。然后使用http://example.com/public/访问您的网站(http://example.com您将被拒绝)。
如果你绝对不能那样做。
您可能希望在其他laravel目录(即供应商,应用程序,存储等)中放置一个htaccess文件(或等效,如果您运行的是nginx)。 (我不能提供这个,因为Apache 2.2与Apache 2.4与Nginx不同,但你可以谷歌搜索文件内容。)
然后,将public的内容移动到域根目录(即上一级)。
然后,编辑公共的htaccess文件,禁止访问所有隐藏文件,artisan,composer.json,composer.lock以及laravel在根文件夹中的任何其他文件。
然后,在index.php
中修改两个require语句,并在../
之前移除bootstrap
。
我认为这会有效,但我没有尝试过,所以如果你遇到错误请告诉我。
在任何情况下,绝对可以肯定无法下载.env
文件,因为这是您所有密码的所在。 http://example.com/.env应该拒绝给你403。如果下载,则遇到麻烦。