ysku's blog

ウェブ・無線通信・組み込みとか

CakePHP環境構築

f:id:yusuke1581:20141112005253j:plain
新たにCakePHPの環境構築が必要となったので、その手順を残しておきます.

【環境】
・さくらVPS
CentOS 6.6 (Final)
CakePHP 2.5
PHP 5.3.3
MySQL 5.1

【手順】
1)PHPのインストールと設定
以下のコマンドを実行

# yum -y install php php-mbstring php-mysql php-devel

デフォルトタイムゾーンの設定

# vi /etc/php.ini

ここで、以下を追記する

data.timezone = Asia/Tokyo

2)httpdのインストールと設定
さくらVPSの場合だと初期状態でインストールされている

設定の編集

# vi /etc/httpd/conf/httpd.conf

以下をそれぞれ変更
1.ServerTokens OS → ServerTokens Prod

2.#ServerName www.example.com:80 → ServerName centossrv.com:80
3.CGIの許可 Options Indexes FollowSymLinks → Options Includes ExecCGI FollowSymLinks
4..htaccessの許可 AllowOverride None → AllowOverride All
5..plの追加 #AddHandler cgi-script .cgi → AddHandler cgi-script .cgi .pl

3)MySQLのインストールと設定
次のサイトを参考にした
http://centossrv.com/mysql.shtml

インストール

# yum -y install mysql-server

設定の編集

# vi /etc/my.cnf

以下を追加する
[mysqld]の部分

character-set-server = utf8

[mysql]の部分(ない場合は書き加えます)

default-character-set = utf8

起動

# /etc/rc.d/init.d/mysqld start

起動時に実行するように設定

# chkconfig mysqld on

4)CakePHPのインストールと設定
公式ページを参考にしました.
インストール - 2.x

ディレクトリを/var/www/htmlに移動させ、以下を実行

# git clone git://github.com/cakephp/cakephp.git

これでcakephpというフォルダがダウンロードされます.

この時点でブラウザ上でhttp://localhost/cakephpと入力すると確認出来るがエラーメッセージが表示された状態である.そのため,以下の手順を踏む必要がある.

4−1)database.phpの作成と設定
app/Configに移動する
初期にdatabase.php.defaultというファイルが存在するため、それをコピーして作成する

# cp database.php.default database.php

設定の編集

# vi database.php

設定に関しては,過去に書いた以下の記事を参考にお願いします.

MySQLデータベースの移行&CakePHPの外部DBサーバアクセス - ysku's blog


4−2)Security.saltとSecurity.cipherSeedの設定
Security.saltとはパスワードを暗号化する際に付与されるデータである.
ターミナル上で以下のコマンドを入力すると生成される.

php -r '$num="";for($i=0;$i<10;++$i){$num.=rand(100,999);}echo sha1($num)."\n";'

Security.cipherSeedとは暗号化・複合化のシードとなるランダムな数値である.
同様に以下のコマンドを入力すると生成される.

php -r '$num="";for($i=0;$i<10;++$i){$num.=rand(100,999);}echo $num."\n";'

生成方法はこちらを参考させて頂きました.
http://blog.shiten.info/2013/03/cakephp-security-salt-%E3%81%A8-security-cipherseed-%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B.html


4−3)CacheEngine.phpの編集

# vi ~/lib/Cake/Cache/CacheEngine.php

以下の場所にdata_default_timezone_set('Asia/Tokyo');を追加する

        public function init ($settings = array()) {
                ...
                if (!is_numeric($this->settings['duration'])) {
                        data_default_timezone_set('Asia/Tokyo');
                ....
        }

以上の設定を行い、ブラウザ上で再度確認すると以下の様な表示がされる.
f:id:yusuke1581:20141208021515p:plain

以上が簡単なCakePHPの環境構築になります.