AWS Cloud9で簡単PHP Laravel+MySQL開発環境構築

最近Webアプリを開発する機会があったので、構築の手順を整理しておこうと思います。AWSのCloud 9というサービスを利用すれば、15分ほどで環境構築ができてしまいます!とても簡単!!

1, AWS Cloud 9とは?

AWS(Amazon Web Service)クラウド上の統合開発環境(IDE)です。
統合開発環境(IDE)というのは、開発やテストに必要な、コーディングや、デバッグ・テストを補助する機能群が揃ったパッケージです。EclipseやVisual Basic Studioなんかが代表格ですね。最近ではこのIDEもクラウド上で完結できるようになっているんですね。。

AWS Cloud 9では、何も準備しない状態からボタンをポチポチ押していくだけで、AWS上に開発サーバが立ち上がり、開発に必要な言語、機能がそろった開発環境が作れます。それでは、構築手順です。

2, 開発環境構築の手順

2-0, AWSのアカウント作成

AWSにアカウントを持っていない方は、作成が必要です。
クレジットカード情報の登録など、若干の手続きは必要ですが、初回登録後は無料枠がついてくるので、Cloud 9もしばらく無料で使えます。

2-1, AWS Cloud 9上に新たな環境を作成

アカウントでAWSにログインしたら、Cloud9のサービス画面に移動します。

サービス一覧

“Create Environment”をクリックし、環境を新規作成します。

こんな感じの設定画面に移ります。以下を選択します。
個人利用の開発環境であれば、特にデフォルト設定から変える必要はないと思います。

1、環境種類
・EC2:AWS上に新たに開発サーバを立てる場合(デフォルト)
・SSH:既にAWSの外に開発サーバがあり、そこに接続する場合

2、インスタンス種類
CPUとメモリの性能を選びます。無料枠で利用できるのはt2.micro(デフォルト)だけです。個人開発の環境であれば十分だと思います。

3, OS種類
開発サーバのOS(Linux/Ubutu)を選択します。お好みと用途に合わせてご選択ください。

4, 節約設定
何分間利用がなければ環境を停止するかを設定できます。AWS上のサーバの場合は、時間課金ですので、開発環境であれば使っていない時間はなるべく落としておくべきです。Cloud 9ではこれをここで設定できます。

設定したらプレビューに移ります。

できました!ここまで5分もかかりません。
この段階で、コーディングの環境と、開発サーバが立ち上がったことになります。

2, データベース(MySQL)の確認

Cloud 9で立ち上げた開発サーバには、デフォルトでMySQLがインストールされています。下のコマンドでバージョンを確認します。何かしらのバージョンが表示されると思います。DBの設定、Laravelとの連携は次の記事でかく予定です。
ここではいったん確認だけ。

バージョンの確認

mysql --version

mysql Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1

My SQLの起動

sudo service mysqld status  ##ステータスの確認 (Stoppedになっている)
sudo service mysqld start   ##MySQLプロセスの起動
mysql ## MySQLデータベースにログイン
show databases; ##データベースの一覧を表示

これでMySQLへのログインと、MySQL上のデータベース一覧が表示されます。
アプリ構築で必要なデータベースは今後自分で作成していく必要があります。

3, PHP+Laravelのインストール

続いて、PHPとLaravelのセットアップを行います。

3-1, PHPのバージョンアップ

Cloud9で立ち上げる開発機にデフォルトで入っているPHPのVersionは古いため、必要に応じてアップデートしてやる必要があります。

php --version
ec2-user:~/environment $ php --version
 PHP 5.6.40 (cli) (built: Mar  8 2019 18:17:39) 
 Copyright (c) 1997-2016 The PHP Group
 Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
     with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

yumの更新+PHP7.2のインストール+リンクの張替え

以下のコマンドを実行してください。これでPHP7.2への更新が完了します。

sudo yum -y update
sudo yum -y install php72 php72-mbstring php72-pdo
sudo unlink /usr/bin/php ##旧バージョンのPHPリンクの削除
sudo ln -s /etc/alternatives/php7 /usr/bin/php ##PHP7.2へのリンク張りなおし
php --version
ec2-user:~/environment $ sudo unlink /usr/bin/php
 ec2-user:~/environment $ sudo ln -s /etc/alternatives/php7 /usr/bin/php                                                                                                                              
 ec2-user:~/environment $ php --version
 PHP 7.2.19 (cli) (built: Jun 12 2019 20:55:29) ( NTS )
 Copyright (c) 1997-2018 The PHP Group
 Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
 ec2-user:~/environment $ 

3-2, Laravelのインストール

お次はLaravelのインストール。LaravelはPHPのフレームワークですね。
このフレームワークを使うことでPHPを使った開発がとても効率的になります。

3-2-1, Composerのインストールと配置

LaravelをインストールするにはComposerというパッケージが最初に必要です。
Composerとは、PHPのパッケージ管理システムのことで、ライブラリ間の依存性を考慮してあるライブラリのインストール時に、そのライブラリを動かすために必要となる他のライブラリ群を自動でインストールしてくれたりするようなものらしい。基本的にPHPではこのComposerを使ってライブラリを追加していくようです。

curl -sS https://getcomposer.org/installer | php   ## Composerのインストール
sudo mv composer.phar /usr/local/bin/composer  ## Composerをbin配下に移動
composer ## Composerの実行確認

これでComposerのインストールは完了。

3-2-2, ComposerでLaravelをインストール

次に、Laravelをインストールします。調べてみると、Laravelのプロジェクトの作成方法には2つあるみたい。Laravelコマンドの方がプロジェクト作成にかかる時間は短いよう。1の場合はこの手順は要らないと思われるが、2でプロジェクト作成するためのLaravel Install方法をかいておきます。
1、Composer経由で作成
2、Laravelコマンドで作成

composer global require "laravel/installer"

3-2-3, Laravelプロジェクトの作成

続いて、Laravelプロジェクトを作成します。
以下のコマンドで、利用するPHPバージョンに対応している最新のLaravelバージョンでプロジェクトの作成が行われます。

composer create-project laravel/laravel プロジェクト名

Composerによって大量の関連パッケージがインストールされていき、プロジェクトの作成が完了!

environment配下でlsを打つと、プロジェクトフォルダが作成されていることが確認できます。

3-2-4, PHPビルトインサーバの起動・画面確認

最後に、画面の確認を行います。

cd <プロジェクトフォルダ名>
php artisan serve --port=8080

これで、PHPに内蔵されているサーバ機能が立ち上がり、ブラウサで画面が見れるようになります。

画面を確認するには、Cloud9のPreviewタブのPreview Running Applicationをクリックします。

この画面が出てきたら成功です。最低限の開発の準備が整いました!
次の記事ではDBとの連携、Laravelのディレクトリ構成など、もう少し細かく解説していきたいと思います。

また、オンライン講座のUdemyでは、PHP×Laravelでサービスを作ってみる講座もありますので、環境構築ができたら、講義を受けながら早速サービスの構築に取り掛かかれます!

PHP 7とLaravel で、はじめてのWebサービスを2日で作ってみよう!

今日も最後までご覧いただき有難うございました!

つづく

0

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US

アバター
Yuu113
初めまして。Yuu113と申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。