使用Apache来启动Laravel的步骤
我将总结在Apache上启动Laravel的步骤。
运行环境
筆者的操作環境如下:
– 作業系統:Ubuntu 18.04.3 LTS
– Laravel 版本:6.2
– Apache 版本:2.4.29
前提条件 tí
基础条件 (jī chǔ
先决条件 jué
在确认完成以下步骤的前提下,我建议你:
– 已安装laravel命令(意思是可以通过“laravel new blog”来创建项目)
– 已安装Apache。
步骤
在工作目錄中建立一個Laravel項目。
请你在一个方便操作的地方使用Laravel命令创建项目。
[user@ ~/]$ cd ~/work
[user@ ~/work]$ laravel new laravelapp
将Laravel项目的域名写入etc/hosts文件中。
为了将Laravel项目的域名分配给本地地址(127.0.0.1),请在”/etc/hosts”中添加以下内容。
在下面的示例中,域名为”my-laravelapp.localhost”。
127.0.0.1 my-laravelapp.localhost
在分配的域名上编写VirtualHosts的设置
使用Apache的VirtualHost功能, 设定当访问添加的域名(my-laravelapp.localhost)时要引用哪个目录。
另外,请确认VirtualHost已经启用。
<VirtualHost *:80>
ServerName my-laravelapp.localhost
ServerAdmin sample-user@my-laravelapp.localhost
DocumentRoot /var/www/html/laravelapp/public
LogLevel debug
<Directory "/var/www/html/laravelapp">
RewriteEngine On
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
另外,上述已设置了”RewriteEngine On”,但如果没有进行rewrite_module的设置,则需要进行该设置。
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
填补
-
- “ServerName”に追加したドメイン(my-laravelapp.localhost) を設定します。
-
- “DocumentRoot”はApacheがアクセスするディレクトリです。まだ、”/var/www/html/laravelApp/public”のパスはありませんが、後で設定します。
-
- “<Directory “/var/www/html/laravelapp”>では”/var/www/html/laravelapp”以下の階層のファイルのアクセスできるように設定してあります。
- “RewritEngine On”でLaravelのルーティング(my-laravelapp.localhost/sampleにアクセスすると、対象のファイルを開いてくれる)に対応します。
设定完成后,请使用以下命令来应用更改。
[user@ ~/]$ sudo a2emod rewrite
[user@ ~/]$ sudo a2ensite my-laravelapp.conf
[user@ ~/]$ sudo service apache2 restart
4. 在Apache目录下创建一个作业目录的链接。
请使用以下命令创建对配置为VirtualHost的目录路径的链接。
[user@ ~/]$ sudo ln -s ~/work/laravelapp /var/www/html/laravelapp
将权限更改为Apache用户可以访问。
让Apache用户访问Laravel项目的设置。
[user@ ~/]$ sudo chown -R :www-data /var/www/html/laravelapp
[user@ ~/]$ cd /var/www/html/laravelapp
[user@ /var/www/html/laravelapp]$ sudo chmod -R 770 storage
填补
-
- 1行目はLaravelプロジェクトにApacheグループがアクセスできるように設定しています。
- 3行目はApacheグループがstorage配下(ログファイルや一時的な画像ファイルなどを置く場所)にアクセスできるように設定しています。