LoginSignup
8
8

More than 5 years have passed since last update.

AWS EC2にCakePHP3.2をインストール・環境構築

Last updated at Posted at 2016-07-07

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
qiita.rb
[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
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,
8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8