プログラム

さくらのVPS:Laravel デプロイ

さくらのVPS に、Laravel をデプロイしました。

URL(http://111.22.333.44/)で、Laravel が動きます【注】。

Laravel デプロイで、何か上手くいかないときに、参考にしてください。

【注】111.22.333.44 は、適宜、各自の ip アドレス に読み替えてください。

 

記事「さくらのVPS:Laravel インストール」も、参考にしてください。

 

 

準備

先ず、PHP のバージョンが古い(5.4 など)と、Laravel が動かないので、バージョンアップします。

 

次に、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】をご参照ください。

 

 

 

【参考】

  1. ゼロからはじめるLinuxサーバー構築・運用ガイド 動かしながら学ぶWebサーバーの作り方
  2. 標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です