第21回 Laravelのプロジェクトの作成

公開日:2020-10-29 更新日:2020-10-29

1. 概要

Laravelのプロジェクト(空のサイト)の作成を行います。

2. 動画



3. Laravel Installer のインストール

Laravel のプロジェクトを作成する際に必要となる、Laravel Installer のインストールを行います。

composer を使うため、念のため root ユーザ以外のユーザに切り替えます。
su web

Laravel Installer のインストール先のディレクトリを作成して、そこへ移動します。
今回は Nginx のドキュメントルート(html)に作成していますが、好きな場所で構いません。
cd /usr/share/nginx/html
mkdir laravel_installer
cd    laravel_installer

そして、次のコマンドにより、Laravel Installer をインストールします。
composer require laravel/installer

完了すると、vendor/bin 配下に、laravel と言うコマンドが作成されます。
こちらのコマンドでプロジェクトを作成するため、
Nginx のドキュメントルート(html)に、このコマンドのシンボリックリンクを作成します。
vendor/bin にパスを通したり、laravel のコマンドを相対パスや絶対パスを指定して実行する場合は、リンクを作成しなくても構いません。
cd /usr/share/nginx/html
ln -s laravel_installer/vendor/bin/laravel laravel

次のコマンドでバージョンが表示されれば完了です。
./laravel -V

4. Laravel のプロジェクトの作成

次のコマンドで、app1 と言うプロジェクトを作成します。
cd /usr/share/nginx/html
./laravel new app1

rootユーザで、所有者とグループを変更します。
chown web:nginx -R app1  
今回は samba でファイル共有をしているため、所有者を web と言うユーザにしていますが、
本番環境では、所有者とグループを nginx にして、権限を554(読込と実行) にするのが良いと思います。

次に、app1 が書込可になっていない場合は、storage などに書き込み権限を付与します。
chmod 774 -R app1/storage
chmod 774 -R app1/bootstrap/cache

5. nginx の conf の変更

URLの最後がファイル名ではなく /(スラッシュ)で終わる場合、
デフォルトでは index.html か index.htm が表示されるため、
index.php も表示されるようにします。

conf を開きます。
vi /etc/nginx/conf.d/default.conf

location の index に、次のように index.php を追加します。
location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm index.php;
}

Nginx を再起動します。
systemctl retart nginx

これで、ブラウザでアクセスできれば完了です。
http://127.0.0.1/app1/public/

もしうまく表示されない場合は、以下を試してみてください。
・SELinuxを無効にする。
 getenforce で Enforcing の場合は、setenforce 0 を実行。
・index.php を付けてアクセスする。
・public 配下に適当な test.php などを作成してアクセスする。
・権限を変更する。
 chmod 774 -R app1
 chown nginx:nginx -R app1
・エラーログを確認する。
 /var/log/nginx/error.log