【基本】Amazon LightsailにLaravel環境を作成する
Amazon Lightsailとは
Amazon Lightsailとは、AWSがリリースしたVPS(Virtual Private Server)と呼ばれる仮想プライベートサーバーサービスです。
他のAWSのサービスとの違いとしては、他のAWSサービスが、機能ごと1つのサービスとして提供されているのに対し、Amazon Lightsailでは、コンピューティング・ストレージ・データ転送などの、Webサイトやサービスなどに使用するためのサーバーとして必要な機能を組み合わせ1つに集約したパッケージで提供されています。そのため、Amazon Lightsailのサービスに申し込むだけで、Webサイトやサービスを容易に作成することができます。
また、スペックの異なる幅広い料金プランが用意されており、コストを抑えることが可能です。
比較的シンプルなWebサイトやサービスの構築に向いていると言えます。
Laravelとは
Laravelとは、Microsoft社の.NETの開発に携わっていたTaylor Otwell氏により開発され、2011年にリリースされたオープンソースのPHPで書かれたWebアプリケーションフレームワークです。
Laravelは、比較的扱いやすくPHPの中でも人気のフレームワークとなっています。
また、Taylorを中心としたコミュニティ活動により活発な開発が続いており、今後も発展していくであろうフレームワークの一つです。
Laravelの特徴
多機能MVCモデル
Laravelでは、MVCモデルが採用されています。MVCモデルとは、処理をModel(=データの処理)・View(=画面の表示)、Controller(=全体の制御)というように機能ごとに分けて、それぞれ開発を行なう開発モデルを指します。
行いたい処理のよってコードを書く場所が明確なため、比較的学習コストが低くなり、開発経験の浅いエンジニアにも扱いやすいフレームワークと言えます。
Composerの使用
Laravelは、パッケージ管理ツールとして、Composerを使用しています。Composerは、開発のために必要になるライブラリやパッケージの管理や、Laravelをインストールするために使用します。
実績のあるフレームワークSymfonyがベース
Laravelは、PHPのフレームワークで古くからあるSymfonyというフレームワークを土台として開発されました。 Symfonyは、主に大規模開発において数十年と長きに渡り実績を多く積んでいるため、Laravelの基礎は安定していると言えます。
Bladeテンプレート
LaravelではViewの部分で、Bladeテンプレートを採用しています。
Bladeテンプレートは比較的軽量と言われており、HTMLの中にPHPの変数や処理を入れ込むような形で実装していくのが一般的です。
頻繁なバージョンアップ
先述したようにLaravelはコミュニティによる開発活動が今も活発に行われております。そして、更新される度に便利な機能が追加されます。また、シェア拡大が続いているため、プラグインなどの開発活動も精力的に行われています。
頻繁にバージョンアップがされることをデメリットとして捉えられるかもしれませんが、バージョン更新の際は、バージョン更新サービスとして用意されているLaravelShiftというツールを使用することで、前バージョンとの変更点の通知や、Pull Requestを自動的に作成してくれます。
Amazon LightsailにLaravel環境の作成
①AWSコンソールにログインしてLightsailへ移動します。
「インスタンスの作成」をクリックしてスタートします。
②「OSのみ」をクリックして「Ubuntu」を選択します。
③インスタンスプランは、規模によりますが初めは「 $3.5 」を選択しましょう。
足りなければ既に選択しているプランより規模が大きいものであればプラン変更が可能です。
リソース名を入力し、「インスタンスの作成」を選択します。
④初めはステータスが「保留中」ですが、少し時間をおくと「実行中」に変わります。また同時にアイコンの色が変更されればセットアップの完了です。
また、インスタンスが起動するとブラウザ上でインスタンスにSSH接続が可能となるため、コマンドを叩きます。
⑤インストールするディレクトリに移動
$ cd インストールするディレクトリのパス
⑥Laravelプロジェクトの作成
$ composer create-project –prefer-dist laravel/laravel laravel
上記コマンドでエラーが出た場合は、Composerのアップデートやプロジェクト作成にメモリの消費が激しく、結果的にメモリ不足になっている可能性があるので、インスタンスプランを一つ上位のものに変更するなどして対処してください。
⑦bitnami.conf 内に記述されているドキュメントルートの変更
DocumentRoot “/opt/bitnami/apache2/htdocs/laravel/public”
Directory “/opt/bitnami/apache2/htdocs/laravel/public”
⑧Laravelプロジェクトの権限を変更する
$ sudo chown -R bitnami:daemon laravel/*
⑨apache再起動
$ sudo /opt/bitnami/ctlscript.sh restart apache
上記完了すると、ブラウザ上にLaravelのウエルカムページが開かれます。
まとめ
いかがでしたでしょうか?
是非参考にされてみてください。