Amazon EC2(Amazon Elastic Compute Cloud)のインスタンス(Amazon linux)の設定および立ち上げが終わったところから手順のご案内をスタートします。
#1、LAMP環境構築
まずは、下記コマンドでルートユーザーに変更するとともに、yumでインストールしたパッケージのアップデートを行います。
$ sudo -i
$ yum update
その後、下記の通り、AWS EC2にLAMP環境を構築していきます。
## 1-1、Apacheのインストール
今回は、Apache2.4のバージョンをインストールします。
$ yum install -y httpd24
$ chkconfig httpd on
$ service httpd start
## 1-2、PHPのインストール
次はPHPをインストールします。今回インストールするPHPのバージョンは5.6です。
$ yum install -y php56
## 1-3、MySQLのインストール
下記コマンドで、MySQLは最新のバージョンがインストールされます。
$ yum install -y mysql-server
$ chkconfig mysqld on
$ service mysqld start
### 1-3-1、MySQLをバージョンを指定してインストール
リポジトリを以下で追加し、MySQLをインストール
$ rpm -Uvh http://dev.mysql.com/get/mysql57-community-$release-el6-7.noarch.rpm
$ yum install mysql-community-server
$ cp -p /etc/my.cnf /etc/my.cnf.orig
$ vi /etc/my.cnf
[mysqld]
character-set-server=utf8 <-- [mysqld]セクションに追加する
サービス起動し、初期パスワードを取得後、セキュリティチェック
$ service mysqld start
$ grep 'temporary password' /var/log/mysqld.log
$ mysql_secure_installation
## 1-4、拡張ライブラリーのインストール
$ yum install php56-intl
それと、
$ install php56-mbstring
PDOクラスがないと怒られるので、
$ yum install php56-pdo
//$ yum install -y php56-mysqlnd
//$ yum install php-mysql
#2、CakePHP3のインストール
CakePHP3では、バージョン3からはcomposer(コンポーザー)でのインストールが推奨されてます。このため、composerを利用する形でCakePHP3のインストールの手順をご案内します。
## 2-1、composer(コンポーザー)のインストール
ドキュメントルートのディレクトリーにcomposerをインストースし、compposerにパスを通します。
$ curl -sS https://getcomposer.org/installer | sudo php
$ mv composer.phar /usr/local/bin/composer
$ ln -s /usr/local/bin/composer /usr/bin/composer
## 2-2、CakePHPのプロジェクトを作成
composerを利用しドキュメントルートに下記コマンドを実行しプロジェクトを作成します。その後、コンポーザーをインストールします。
$ composer self-update && composer create-project --prefer-dist cakephp/app app名
$ sudo composer install
すると、プロジェクトが作成され、プロジェクト内のapp/vendor にライブラリーがインストールされます
以上でCakePHP3.2のインストールは終わりになります。
次は、データベースの作成と設定の手順をご案内します。
## 2-3、データベース作成
インストールしたCakePHP3のプロジェクトためのデータベースを作成するとともに、MySQLユーザーを作成しその権限を付与します。
$ mysql -u root -p
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE `cakephp`;
作成したユーザーに対して、該当データベースへの権限を付与する
mysql> GRANT ALL PRIVILEGES ON `cakephp`.* TO "user"@"localhost";
mysql> FLUSH PRIVILEGES;
mysql> exit
## 2-4、データベースの設定
$ vi app/config/app.php
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
/**
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'ユーザー名',
'password' => 'パスワード',
'database' => 'データベース名',
'encoding' => 'utf8',
'timezone' => Asia/Tokyo,
'flags' => [],
'cacheMetadata' => true,
'log' => false,