一年前,我决定使用codeigniter而不是laravel,因为codeigniter更容易设置。我现在正准备我的下一个项目,似乎codeigniter现在已经过时了(至少大多数人似乎建议使用laravel而不是codeigniter)。
现在我的问题:我使用虚拟ubuntu机器开发Web应用程序,因此我有一个类似于生产环境的开发环境(这有助于我避免一些问题(特别是区分大小写...;))) / p>
我安装了composer和laravel,并在/ var / www / quickstart中创建了一个名为“quickstart”的新laravel项目。然后我按照他们的“入门指南”(这里:Guide)。到目前为止一切正常。
但问题出现了: 我在/ var / www中有两个其他Web应用程序,所以当我输入机器的ip时,我会看到3个目录。
问题1: Normaly我希望,只要我点击浏览器中的“quickstart” - 目录,就会显示webapp,但是我必须再次点击“public”,然后显示webapp。 / p>
问题2:当然,页面上的链接也是错误的,因为它们会转到(例如)“/ task”,这在服务器上找不到。
问题是我对apache配置并不熟悉。我怀疑它与VirtualHosts有关,但AFAIK需要具有root访问权限才能配置虚拟主机,而我在开发环境中没有root权限。
你能指出一种方法告诉我如何在一个子目录中完成laravel工作,我可以在完成项目后立即将文件和文件夹移动到我的主机中吗?我想只更改一个文件,而不是所有文件中的所有路径和URL;)
此致 基督教
答案 0 :(得分:0)
感谢波格丹,我能够弄明白。我的主机允许符号链接,所以我这样做了:
我将laravel安装在
中/srv/web/quickstart
(quickstart是项目的名称)。然后我创建了以下符号链接:
ln -s /srv/web/quickstart/public /srv/web/www/public
apache的文档根目录配置为
/srv/web/www/public
之后我才得到一个空白页面。那是因为我忘了在存储文件夹上设置正确的权限。所以我设置了以下权限
chmod -R 777 /srv/web/quickstart/storage
这适用于开发环境。对于生产,我建议只允许webserver-user写入该目录。
瞧瞧:一切正常!
感谢您的帮助bogdan。 基督教