LoginSignup
15
12

More than 5 years have passed since last update.

AWS EC2にCakePHP2.xの環境を構築する

Last updated at Posted at 2015-05-15

EC2の1インスタンスにLAMPを構築して、CakePHP2.xの環境を作った。

1.EC2のインスタンス作成
2.EC2の初期設定
3.LAMPの構築
4.CakePHPの設定
5.動作確認

1.EC2インスタンス作成

 下記のポリシーでインスタンスを作成


- t2.microの1インスタンスの最小構成(メモリ1G、SSD8G)
- 開発や小規模用途
- ELBや拡張は考慮せず
- AMI2015.03を使用
- SSH:22とHTTP:80とSMTP:25だけ空ける
- SMTPはマイIP専用

2.EC2の初期設定

 (SSHの鍵認証でのログイン方法の記述は省略)
 SSHでログインしたら

 AMIのアップデート

sudo yum update

 webサーバのコンテンツ用にwwwグループを作成

sudo groupadd www

 ec2-userをwwwグループに参加

sudo usermod -a -G www ec2-user

 exit等をして、自分が所属しているグループを確認

exit
(再ログイン後)
groups
id

 な感じ

 とりあえず、時計をローカルタイムにする

sudo vim /etc/sysconfig/clock

 以下に変更

ZONE="Asia/Tokyo" 
UTC=false

 ローカルタイムもコピーしておく

sudo cp /usr/share/zoneinfo/Japan /etc/localtime

 確認

date

 cronも再起動

sudo service crond restart

3.LAMPの構築

Apache2.4のインストール

 yumからインストール

sudo yum install httpd24

 初期設定

sudo vi /etc/httpd/conf/httpd.conf

 下記の内容に変更

<Directory /var/www/html>
(省略)
#AllowOverride None
AllowOverride All

 とりあえずスタート

sudo service httpd start

 自動起動にしておく

sudo chkconfig httpd on

 確認

chkconfig --list httpd

 /var/wwwの所有グループをwwwに変更

sudo chown -R root:www /var/www

 パーミッションも変更

sudo chmod 2775 /var/www

 以後/var/wwwのディレクトリは775、ファイルは664になるようにする

find /var/www -type d -exec sudo chmod 2775 {} +
find /var/www -type f -exec sudo chmod 0664 {} +

MySQL5.5のインストール

 yumでインストール

sudo yum install mysql55 mysql55-server

 初期設定

sudo vi /etc/my.conf

 以下を[mysqld]に追加

default-storage-engine = InnoDB
character-set-server = utf8

 このまま起動するとエラーになるので、mysql_install_dbを実行

sudo mysql_install_db --datadir=/var/lib/mysql --user=mysql

 とりあえずmysqldを起動

sudo service mysqld start

 自動起動にする

sudo chkconfig mysqld on

 確認

chkconfig --list mysqld

 初期設定コマンドにて、rootパスワード設定、無名アカウント、テストDBを削除

mysql_secure_installation

 mysqlにログイン

mysql -uroot

 CakePHP(Webアプリ)用のアカウントとDBを作成

#DB:webapp01作成
create database webapp01;

#id:app01/pass:hoge01を作成
create user 'app01'@'localhost' identified by 'hoge01';
create user 'app01'@'127.0.0.1' identified by 'hoge01';

#app01にwebapp01にのみ権限を付与
grant all on webapp01.* to 'app01'@'localhost' identified by 'hoge01';
grant all on webapp01.* to 'app01'@'127.0.0.1' identified by 'hoge01';

#更新
flush privileges;

quit

PHP5.6のインストール

 yumでインストール

sudo yum install php56
sudo yum install php56-dba php56-mbstring php56-mcrypt php56-opcache php56-pdo
php56-tidy php56-mysqlnd php56-dbg

 php.iniの設定

default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation=off
mbstring.detect_order=auto
date.timezone = Asia/Tokyo

 httpd再起動

sudo service httpd restart

初期動作確認

 テスト用HTML作成

vi /var/www/html/index.html
<html>
<head>
<title>Index</title>
</head>
<body>
<h3>Index Page</h3>
</body>
</html>

 PHP確認用

vi /var/www/html/phptest.php
<?php
echo "PHP TEST!!";
phpinfo();
?>

4.CakePHPの初期設定

 CakePHPをDL
https://github.com/cakephp/cakephp/archive/2.6.4.zip

 zipを解凍して/var/www/html/にupload
 uploadしたフォルダ名を作成するアプリケーション名に変更(ex:webapp01)
 
 webapp01/app/tmp のパーミションを777に変更

sudo chmod -R 777 app/tmp

 設定を変更

vi webapp01/app/Config/core.php
Configure::write('Security.salt','任意の文字列:40文字');
Configure::write('Security.cipherSeed','任意の数列:32文字');

 DBの設定(前述で設定した内容を設定)

#名前を変更する
mv app/Config/database.php.default app/Config/database.php

vi webapp01/app/Config/database.php
    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'app01',
        'password' => 'hoge01',
        'database' => 'webapp01',
        'prefix' => '',
        'encoding' => 'utf8',
    );

 DebugKitのDL
 https://github.com/cakephp/debug_kit/archive/2.2.zip
 ※2.x系は2.2を使用。masterは3.0以上専用。

 設定

vi webapp01/app/Config/bootstrap.php
CakePlugin::load('DebugKit');
vi webapp01/app/Controller/AppController.php
class AppController extends Controller {
        public $components = array('DebugKit.Toolbar');
}

5.動作確認(完了)

http:// [public DNS] /webapp01/

参考

http://qiita.com/muttan/items/ecba4bb6d68b4c35bdf9
http://qiita.com/shizuma/items/126d2245c58d97b274c7
http://qiita.com/tsumekoara/items/d79254a1c791bb38ae8e
http://qiita.com/shojimotio/items/035ad7b598cd14f118e2

15
12
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
15
12