AWS EC2のAmazon LinuxにLaravelをインストール

AWS EC2にLaravel5をインストールしてみます。OSは、Amazon Linuxです。

phpをインストール


[bash]sudo yum install php56[/bash]

MySQL5.6をインストール


[bash]sudo yum install mysql56
sudo yum install mysql56-server
sudo yum install mysql56-devel
sudo yum install php56-mysqlnd.x86_64
[/bash]

MySQLを自動起動に設定
[bash]chkconfig mysqld on[/bash]

[bash]service mysqld start[/bash]

MySQLのパスワード設定
[bash]mysql -uroot
mysql> use mysql
mysql> update user set password=PASSWORD(‘パスワード’) where user=’root’;
mysql> flush privileges;
[/bash]

mbstringがないと後で怒られたので、入れておく。
[bash]sudo yum install php56-mbstring[/bash]

MySQLにrootでログインしてLaravel用のデータベースを作成

LaravelのためのアカウントとデータベースをMySQLに作成しておく。
[bash]mysql> create database laravel;
mysql> create user laravel;
mysql> grant all privileges on laravel.* to laravel@"%" identified by ‘パスワード’ with grant option;
mysql> grant all privileges on laravel.* to laravel@localhost identified by ‘パスワード’ with grant option;
[/bash]

[bash]sudo service mysqld restart[/bash]

Composerをインストール


[bash]sudo curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar /usr/bin/composer
sudo composer global require "laravel/installer=~1.1"
sudo yum update[/bash]

コメント等を日本語にする
[bash]composer require laravel-ja/comja5:~1
composer install
composer update[/bash]

[bash]sudo composer create-project laravel/laravel test[/bash]

作成したプロジェクトの下の.envのDB設定内容を修正

データベースのユーザ情報テーブルの作成
[bash]php artisan migrate[/bash]

phpの組み込みWebサーバを起動。外部クライアントからアクセスするため、最後のオプションが必要
[bash]sudo php artisan serve –host 0.0.0.0[/bash]

CentOSであればiptablesで設定するファイアウォールだが、AWSの場合Security Groupsで設定する。Security Groupsの一つに対して、INBOUNDで、ssh,http,mysql,8000を解放する。

これで、http://AWSのドメイン名:8000でアクセスして「Laravel 5」と表示されればとりあえず良しです。