CakePHP環境構築
新たに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'); .... }
以上の設定を行い、ブラウザ上で再度確認すると以下の様な表示がされる.
以上が簡単なCakePHPの環境構築になります.