AWSでlaravel6を動かす

AWS php

前回までのステップでphpの実行が確認できている所からスタートになります。

参考
https://qiita.com/zushi_0905/items/1be42dc704d65f8a4ff7

環境

  • AWS
  • AL2(Amazon Linux2)
  • Nginx
  • php
  • laravel

Composerのインストール

PHPのライブラリ管理のためのcomposerをインストールします。

curl -sS https://getcomposer.org/installer | php

パスが通ってるディクトリにファイルを移動

sudo mv composer.phar /usr/local/bin/composer

※下記コマンドでパスの通ってる場所を確認できる。

echo $PATH

下記コマンドでcomposerコマンドが実行できるかの確認

composer

laravelのインストール

laravelプロジェクトのインストール前にインストールディレクトリに移動して下記を実行する。

・php-mbstring
・php-pdo
・php-xml
が必要らしいのでインストール。

yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-xml

laravel_siteと言う名のlaravel_siteプロジェクトを作る。
下記コマンドを実行すると、実行環境のプレゼントディレクトリ直下にlaravelのプロジェクトが作成されるのでディレクトリを作成して移動してから実行する。

下記のバージョンによってコードも変わるので実行したいソースがあるバージョンを使用する事。
特に理由が無い場合は最新バージョンを入れる。

laravelの5.5系の場合

composer create-project --prefer-dist laravel/laravel laravel_site "5.5.*"

laravelの6.5系の場合

composer create-project --prefer-dist laravel/laravel laravel_site "6.5.*"

laravelの初期設定

上記をインストールした内容をlaravelの実行環境に反映させる為下記のコマンドを実行する。

composer update

AWSの最小構成で実行した場合メモリ不足でエラーが出ますので、スワップメモリの割り当てを下記のコマンドで実行します。

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1

.envの為のセキュリティーキーを作成する。こちらのコマンドを実行しないと、エラー500になるので注意

php artisan key:generate

laravelの動作確認

参考のサイトを見習って下記のartisanコマンドを実行する。

php artisan route

下記のコマンドが無いよとartisanコマンドを実行して怒られたら成功

  Command "route" is not defined.  

  Did you mean one of these?       
      route:cache                  
      route:clear                  
      route:list  

次にnginxの設定ファイルを編集し、laravelの実行環境を通します

sudo vi /etc/nginx/nginx.conf

nginx.confファイルのrootの記述されている後を実行ファイルのパスに変更します。作成したフォルダ/publicになります。

root laravelの実行環境のパス/public

/etc/nginx/nginx.confを下記のように編集する。

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

try_filesは第1の引数、第2の引数、第3の引数の順にアクセスを試行します。
この設定をしないとrouteが上手く動かない為に注意です。

laravelプロジェクト配下のstorageフォルダの権限を変更

$ chmod -R 777 storage/

laarvelプロジェクト配下のbootstrap/cacheフォルダの権限を変更

chmod -R 777 bootstrap/cache

これで設定完了です。
公開されているIPにブラウザでアクセスして、下記画面が表示されれば成功です。