2011年12月5日

【AWS】【CakePHP】Ubuntuにcakephpを導入する。

今回はサーバサイドを久々に。

私はPerlとPHPとJavaとCぐらいしか書けないんですが、
サーバサイドはよくPHPで書いています。
Frameworkは何でもいいんですが、
今回はcakephpの導入方法を書いていきます。


OS:Ubuntu10.04
FQDN:dev.shonanshachu.com
を前提としていますので、
必要な部分は変更して下さい。

まずはインストール
cd /var/www
wget https://github.com/cakephp/cakephp/tarball/1.3.9
tar xvf 1.3.9
mv cakephp-cakephp-4a161c1/ cakephp/
cp -aR /var/www/cakephp/* /var/www/dev/
chmod -R 777 /var/www/dev/app/tmp/
sudo a2enmod rewrite
cakephpはmod_rewriteを使用しますので、enableにしておきます。

cakephpの設定

/var/www/dev/app/config/core.php

Configure::write('Security.salt', '書き換えしておく');
  Configure::write('Security.cipherSeed', '書き換えしておく');

Security.saltとSecurity.cipherSeedはサイトによって適当に変えておかなくてはいけません。

/var/www/dev/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
  </IfModule>

/var/www/dev/app/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase    /app
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
  </IfModule>

/var/www/dev/app/webroot/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /app/webroot
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
  </IfModule>

あとはデータベースやキャッシュ方法の設定をして完成です。
mv /var/www/dev/app/config/database.php.default /var/www/dev/app/config/database.php
vi /var/www/dev/app/config/database.php
 //DBユーザ名等の書き換え

以上で完成です。

出来ましたかね?

細かくは解説してませんが、
分からない部分はDNSの設定とあわせてお読み下さい。
AWSでDNSを設定する(1)
AWSでDNSを設定する(2)