尝试在Apache下运行Laravel

2019年8月9日 (2019 8 yuè 9 rì)

请参考以下文章来了解如何搭建环境。

尝试在CentOS 7上创建LAMP环境
尝试安装Laravel

将Laravel安装在Apache的目录下。

为了在Apache上运行,将Laravel安装到/var/www目录下。

$ cd /var/www ← /var/wwwに移動
$ composer create-project laravel/laravel laratest ← 「laratest」というプロジェクトを作成

当显示“应用密钥已成功设置。”时,完成。

在Apache中设置虚拟主机

因为将整个Apache设置为适用于Laravel有点笨拙,所以进行虚拟主机配置,设置laratest的子域名。

创建用于虚拟主机的conf文件。

在/etc/httpd下创建一个目录,用于存放虚拟主机配置文件的conf文件。

# mkdir /etc/httpd/vhost.d

将虚拟主机配置到conf文件中。

<VirtualHost *:80>
  DocumentRoot /var/www/laratest/public
  ServerName test.lalatest.com
</VirtualHost>

修改httpd.conf文件以导入存储在vhost.d目录中的conf文件。


(最終行に追加)
include /etc/httpd/vhost.d/*conf

当把vhost.d中存储的conf文件导入到httpd.conf中,这样就完成了。
修改httpd.conf后需要重新启动httpd。

如果你真的想把它分成多个url,那么要么分配不同的端口,要么确保在DNS中正确解析名称来访问。

!!注意!!无法写入日志

当使用上述配置来访问宿主操作系统的IP地址时,会连接到Laravel,但会出现以下错误信息:“无法打开流或文件“/var/www/laratest/storage/logs/laravel-2019-08-10.log”:打开流失败:权限被拒绝。”这是说日志的权限设置不正确,我根据下面的网站进行了修正,但情况没有改变。在使用CentOS/Apache/Laravel时设置权限的方法。

添加了这个设置后,就能顺利访问了。
在laravel5的安装中,出现了文件权限错误。

整理一下,大概是这样的。
· 确认能够访问以下laravel目录的组和权限。
./storage
./bootstrap/cache

如果仍然出现权限错误,很有可能是由于selinux的干扰。
使用以下命令设置上下文。

# semanage fcontext -a -t httpd_sys_rw_content_t "[laravel projectのディレクトリ]/storage"
# semanage fcontext -a -t httpd_sys_rw_content_t "[laravel projectのディレクトリ]/bootstorage/cahce"

顺便说一下,通常在Apache中使用的目录会设置为“httpd_sys_content_t”,但是上述目录必须设置为“httpd_sys_rw_content_t”。然而,Selinux真是一件麻烦事…

确认访问

当使用客户操作系统的IP地址访问时,会显示Laravel的页面。

image.png

当想要运行多个Laravel环境时,请参考附录。

以下的网站很有参考价值。
我想在Homestead上创建两个Laravel项目,并且希望将它们放在本地开发环境中,但是报错说’homestead-7’已经存在,问题已经解决。
使用Homestead创建多个Laravel项目的简便方法。

广告
将在 10 秒后关闭
bannerAds