【Laravel】AWSにLaravelをインストールする

 こんにちわ、タカです。今回は備忘録も意味も兼ねてAWSにLaravel(5.4)をインストールする際の手順を紹介したいと思います。

 そもそも「Laravelって何?」という方は下記記事をご参照ください。

AWSでEC2インスタンスの作成

 まずは、EC2インスタンスを作成いたします。今回はAmazon Linux AMIのt2.microを作成します。ここは用途に合わせて適切なインスタンスを選択してください。

 EC2インスタンスの作成に関しては、公式のチュートリアルがとてもわかりやすいのでご参照ください。

LAMP環境の構築

 EC2インスタンスを作成したらLAMP環境を構築していきます。ちなみに、LAMPではなくても大丈夫なので用途に合わせて適切な環境を構築してください。

SSHでEC2に接続

 SSHでEC2に接続します。なお、下のコードはキーペアが「.ssh/MyKeyPair.pem」にありユーザー名が「ec2-user」を想定しています。またパブリック DNSは各自インスタンス情報を参照してください。

$ ssh -i ~/.ssh/MyKeyPair.pem ec2-user@パブリック DNS (IPv4)

yumのアップデート

 EC2インスタンスに接続したら、まずすべてのソフトウェアパッケージが最新の状態であることを確認するため、yumをアップデートします。

$ sudo yum update -y

LAMPのインストール

 yumのアップデートが完了したら、下記コードでLAMPをインストールしていきます。なお、今回はPHPのバージョンは7mysqlのバージョンは5.7をインストールします。またPHPの拡張モジュール「mysqlnd」も合わせてインストールします。

$ sudo yum install -y httpd24 php70 mysql57-server php70-mysqlnd

Apacheの起動

 LAMPのインストールが完了したらApacheを起動します。

$ sudo service httpd start

HTTPトラフィックの許可

 ブラウザからアクセスするためにEC2インスタンスのセキュリティグループのインバウンドにてHTTPトラフィックを許可します。

 これでブラウザからパブリックIPを叩けばApacheの画面が表示されると思います。

ユーザー(ec2-user)に書き込み権限の割り当て

 これでLaravelをインストールする環境が一応揃ったのですが、その前にドキュメントルートの書き込み権限をec2-userに割り当ててあげる必要があります。(デフォルトではroot権限)

 今回はAWSの公式サイトでも紹介されている方法でやってみます。

ec2-userをapacheグループに追加

 下のコードでec2-userをApacheグループに追加します。

$ sudo usermod -a -G apache ec2-user

ログアウトして再ログイン

 新しいグループを取得するために一度ログアウト(下記コード)して再度SSH接続します。

$ exit

メンバーシップの確認

 下記コードでメンバーシップの確認をします。(ec2-user wheel apacheと表示されればOK)

$ groups
ec2-user wheel apache

グループ所有権をApacheグループに変更

 続いて下記コードで/var/wwwとその配下のコンテンツのグループ所有権をApacheグループに変更します。

$ sudo chown -R ec2-user:apache /var/www

グループの書き込み許可

 次に下記コードでグループの書き込み許可をします。

$ sudo chmod 2775 /var/www

ディレクトリ許可を変更

 さらに、下記コードで/var/www とサブディレクトのディレクトリ許可を変更。

$ find /var/www -type d -exec sudo chmod 2775 {} \;

 これでユーザー(ec2-user)への書き込み権限の割り当ては完了です。これでec2-userから/var/www配下への書き込みが可能になります。

Laravelのインストール

 さて、ここから本題のLaravelインストールになります。今回は現時点での安定バージョン5.4をインストールしていきたいと思います。

/var/wwwへ移動

 まず下記コードでLaravelのインストール先である「/var/www」へ移動します。

$ cd /var/www

mbstringとpdoのインストール

 実際にLaravelをインストールする前にLaravelでは下記のモジュールが必要になるのでyumを使ってインストールします。なお、ここではPHPのバージョンが7になりますので、モジュールもそのバージョンに合わせてインストールします。

  • mbstring
  • pdo
$ sudo yum install -y php70-mbstring php70-pdo

Composerのインストール

 また、LaravelのインストールにはComposerが必要になりますのでインストールします。

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

Composerにパスを通す

 次にComposerにパスを通します。こちらは好みの問題なので別に必須ではありません。

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

 下記コードでパスの確認をします。(/usr/local/bin/composerと表示されれば正常です)

$ which composer

 さらに、下記コードでComposerのバージョンも確認しておきましょう。正常であればインストールされたバージョンが表示されます。

$ composer -V

Laravel5.4のインストール

 これで本当にLaravelをインストールする環境が整ったので、下記コードでLaravel本体(今回はバージョン5.4)をインストールします。下記コードのプロジェクト名の箇所に好きな名前をつけてください。また、インストールには数分かかる場合があります。

$ composer create-project --prefer-dist laravel/laravel [プロジェクト名] "5.4.*"

ドキュメントルートの変更

 インストールが完了したら今度はドキュメントルートを指定します。Laravelではプロジェクト内のpublicディレクトリをドキュメントルートに指定してあげる必要があるので、Apacheのhttpd.confを編集していきます。

$ sudo vi /etc/httpd/conf/httpd.conf

 上記コードでhttpd.confを開いたら、「DocumentRoot “/var/www/html”」の箇所を「DocumentRoot “/var/www/プロジェクト名/public”」に変更します。

.htaccessの有効化

 さらに、Laravelでは.htaccessを利用するので下記コードをhttpd.confに追記します。


 AllowOverride All

Apacheの再起動

 httpd.confの変更を有効化するためにApacheを再起動します。

$ sudo service httpd restart

パーミッションの変更

 最後にLaravelではstorageディレクトリとbootstrap/cacheディレクトリのパーミッションを変更する必要があるので下記コードで変更します。

$ sudo chmod -R 777 /var/www/[プロジェクト名]/storage
$ sudo chmod -R 775 /var/www/[プロジェクト名]/bootstrap/cache

 これで全て完了です。ブラウザからアクセスするとLaravelのインストールが確認できると思います。

まとめ

 以上、今回はAWSにLaravelをインストールする際の手順を備忘録も兼ねて紹介させていただきました。

 それでは今回はここまで!また!

この記事のまとめ

  • AWSにLaravel5.4をインストール

お仕事のご相談・ご依頼
お気軽にお問い合わせください!

お仕事の依頼はこちら

シェアありがとうございます!

タグ
AWS laravel PHP

著者プロフィール

Taka

東京、奄美大島を拠点にサーフィンとスノーボードが好きなフリーランスのWebクリエイターです。普段はプログラム書いたりデザインしたり映像作ったりしています。いろいろな人の話しを聞くのが好きなので、このブログを通して多くの人と繋がりが出来たら嬉しいです。noteとInstagramもやっているのでフォローしてくれたらありがたいです!

人気記事

コメントを残す

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