CakePHPなるものを入れてみた。どんなフレームワークなんだろう(知らんのに入れるんか)。

OSはCent6。ApacheとPHPとMySQLはyumでサクサク入れる。

CakePHPをダウンロードしてcakephp-2.2.2-19.zipとして保存し、/var/www/htmlに解凍するとcakephpなんとかかんとかという長い名前のディレクトリとして作られるのでリネームする。とりあえず構築実験なのでcakeとした。wgetコマンドとunzipコマンドをyumる必要があるかも知れない。

# wget https://github.com/cakephp/cakephp/zipball/master -O /root/cakephp-2.2.2-19.zip
# cd /var/www/html
# unzip /root/cakephp-2.2.2-19.zip
# mv cakeなんとか cake

Apache君の/var/www/htmlにAllowOverrides Allと設定する。

ブラウザでアクセスすると、お、動いているっぽい・・・・なんか警告が出とるがね。
警告をもとに/etc/php.iniのタイムゾーンをAsia/Tokyoにする。
core.phpというファイルのSecurity.saltとSecurity.cipherSeedも変えろと出ている。これは、saltが英数でcipherSeedが数字のみのランダムらしいので適当に作る。ここで小ネタ登場。

# cat /dev/urandom | tr -c -d '[:alnum:]' | head -c 41

これで英数のランダム文字列を生成できる。cat urandomは説明の必要はあるまい。trは本当は文字変換プログラムで、普通は置換元と置換先の二つの文字集合を指定するのだが、-dオプションにより文字集合1が現れたら削るだけで置換を行わない、-cオプションで文字集合1を指定した文字集合の補集合(指定した文字達以外の全ての文字)にする、という意味で、すなわち上の例はアルファベットと数字以外の文字が現れたら削除するというコマンドになる。それをhead -cで指定文字だけ切り出している訳だ。なのでこのコマンドは半角大文字、半角小文字、数字のランダムな41文字の組み合わせを作るという意味になる。数字の場合はdigit。

# cat /dev/urandom | tr -c -d '[:digit:]' | head -c 18

これで18桁のランダムな数字を作れる。英数字の方をsaltに、数字の方をcipherSeedに設定して設定完了だ。

次はデータベース接続か。database.phpというファイルを作って・・・・cakephp_defaultとcakephp_testという2つの接続設定があるけどどうすればよかと。とりあえず二つともつくろう。DBはutf8に既になっている。

# mysql -p
Password:
mysql> create database cakephp_default;
mysql> create database cakephp_test;
mysql> create user cakephp identified by 'cakephp';
mysql> grant all on cakephp_default.* to cakephp;
mysql> grant all on cakephp_test.* to cakephp;
mysql> q

後はこの設定をdatabase.phpに反映させてやればOK。

さて・・・・ここから何をしようか・・・・。