EC2 Amazon LinuxのインスタンスにCakePHPの環境を構築する
Amazon EC2にCakePHPの環境を作ってみた際のメモです。
Amazon Linuxだから引っかかったというところはほとんど無いです。
Amazon LinuxはyumのリポジトリがCentOS 5.5よりも新しく、PHPは5.3、MySQL5.1がインストールされるので、CentOSが素で入っているクラウド/VPSサービスよりも環境構築は楽かと。
バージョンの確認
PHP
$ php -v PHP 5.3.6 (cli) (built: Mar 29 2011 19:13:32) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
設定変更
PHPの設定
日本語の設定等をします。
$ sudo /etc/php.ini
;default_charset = "iso-8859-1" default_charset = "UTF-8" ;mbstring.language = Japanese mbstring.language = Japanese ;mbstring.internal_encoding = EUC-JP mbstring.internal_encoding = UTF-8 short_open_tag = Off short_open_tag = On
※ short_open_tagの設定は今回始めてしましたが、これはAmazon Linuxだから?それともPHPの細かいバージョンによってことなるのでしょうか?
これがOnになっていないと<?= ?>の記述が使えません。
CakePHPの動作確認
https://github.com/cakephp/cakephp/downloads
から2011年5月現在の安定版の最新1.3.8をダウンロードするか、wgetでダウンロードします。
$ wget --no-check-certificate http://github.com/cakephp/cakephp/tarball/1.3.8
$ cd /var/www/html $ sudo tar xvfz ~/cakephp-cakephp-1.3.8-0-g33afe21.tar.gz $ sudo mv cakephp-cakephp-41cd0e4 cakephp
Apacheの設定
CakePHPに含まれる.htaccessを使う場合は、AllowOverride Allを指定します。
$ sudo vi /etc/httpd/conf.d/cakephp.conf
DocumentRoot /var/www/html/cakephp AllowOverride All
設定を読み込みます。
$ sudo /etc/init.d/httpd reload
cacheディレクトリの権限変更
$ sudo chown -R apache:apache cakephp $ sudo chmod -R +w cakephp/app/tmp/cache $ sudo vi cakephp/app/config/core.php
「Security.salt」、「Security.cipherSeed」の値を適当に変更して、「date_default_timezone_set('UTC');」のコメントを外します(http://book.cakephp.org/ja/view/920/%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D)
/** * A random string used in security hashing methods. */ Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); /** * A random numeric string (digits only) used to encrypt/decrypt strings. */ Configure::write('Security.cipherSeed', '76859309657453542496749683645'); ... /** * If you are on PHP 5.3 uncomment this line and correct your server timezone * to fix the date & time related errors. */ date_default_timezone_set('UTC');
以上で、アプリケーション開発環境は整いました。
ここまでの設定を追えてトップページを表示してみたスクリーンショット、残るエラーはデータベースの設定のみです。
データベースの設定を始めアプリケーション開発については公式マニュアルを参照ください。