さくらのVPS:Laravel デプロイ
さくらのVPS に、Laravel をデプロイしました。
URL(http://111.22.333.44/)で、Laravel が動きます【注】。
Laravel デプロイで、何か上手くいかないときに、参考にしてください。
【注】111.22.333.44 は、適宜、各自の ip アドレス に読み替えてください。
記事「さくらのVPS:Laravel インストール」も、参考にしてください。
準備
先ず、PHP のバージョンが古い(5.4 など)と、Laravel が動かないので、バージョンアップします。
- PHP バージョンアップ:記事「さくらのVPS:PHPバージョンアップ 5.4→7.2」参照
次に、laravel で必要なモジュールをインストールします。
# yum install --enablerepo=remi,remi-php72 php php-xml php-devel php-mbstring php-mysqlnd php-pdo php-gd php-op # systemctl restart httpd.service
- php-mbstring, php-xml , etc. をインストール
- リスタート
Composer インストール
最初に、/var/www に移動します。
# cd /var/www
そして、Composer のサイトの「download」ページに行きます(https://getcomposer.org/download/)。
下に示したコマンド行があるので、それをコピーし、ペーストします。
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" # php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" # php composer-setup.php # php -r "unlink('composer-setup.php');"
結果、/var/www フォルダに、「composer.phar」ファイルが生成されます。
- /var/www/composer.phar
Laravel インストール
/var/www に、Laravel をインストールします。
ファイル名は「sample」です。
# cd /var/www # php composer.phar create-project --prefer-dist laravel/laravel sample
インストールが成功したので、Laravel のバージョンを確認します。
# cd /var/www/sample # php artisan --version
- Laravel Framework 5.7.15 などと、表示
httpd.conf の変更
ドキュメントルートを、/var/www/sample/public に変更します。
そのために、httpd.conf に変更を加えます。
httpd.conf は重要なファイルなので、バックアップを取っておきます。
# cd /etc/httpd/conf # cp httpd.conf httpd_old.conf # nano httpd.conf
- ディレクトリー移動
- httpd.conf のバックアップをとる
- エディター(vi, nano, etc.)で、httpd.conf を編集
httpd.conf で、以下の個所を、修正・追加する。
DocumentRoot "/var/www/sample/public" <Directory "/var/www/sample/public"> AllowOverride All Require all granted </Directory>
- ドキュメントルートを、/var/www/sample/public に変更
設定を変更したので、Apache に設定ファイルを再読み込みさせます。
# systemctl reload httpd.service
オーナー・権限の変更
オーナーを「apache」に変更します。
そして、次のフォルダ「storage, bootstrap/cache, database」を、書き込み可能(+w)に変更します。
# chown -R apache:apache /var/www/sample # chmod -R 775 /var/www/sample/storage # chmod -R 775 /var/www/sample/bootstrap/cache # chmod -R 775 /var/www/sample/database
SELinux の調整
SELinux を無効にすると、Laravel が動きますが、セキュリティ上好ましくないので、調整します。
# chcon -R -t httpd_sys_rw_content_t /var/www/sample/storage # chcon -R -t httpd_sys_rw_content_t /var/www/sample/bootstrap/cache # chcon -R -t httpd_sys_rw_content_t /var/www/sample/database
Web 経由での動作確認
ブラウザーで、URL(http://111.22.333.44/)にアクセスすると、Laravel が動きます【注】。
【注】ip アドレス(111.22.333.44)は、適宜、各自の ip アドレスに読み替えてください。
- http://111.22.333.44
デプロイ後に開発
運用環境上で開発できる場合、Laravel をデプロイした後に、開発を始めることも可能です。
- 開発環境 == 運用環境の場合、
- デプロイした後に、開発を始める、ことも可能
その場合、開発中は、Basic 認証などで、鍵をかけておきましょう。
Basic 認証を設定するには、何段階かの手順がありますが、手順:httpd.conf 修正では、以下のようにします。
<Directory "/var/www/sample/public"> AuthType Basic AuthName "Private Area" AuthUserFile /etc/httpd/conf.d/htpasswd AllowOverride All Require valid-user </Directory>
Basic 認証については、【参考-1】に詳しい解説があります。
より強固な鍵をつけたいなら、Digest 認証にしましょう。
Basic 認証や Digest 認証については、【参考-2】をご参照ください。
【参考】
- ゼロからはじめるLinuxサーバー構築・運用ガイド 動かしながら学ぶWebサーバーの作り方
- 標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド