はじめに ※2011年8月追記
当記事は、CentOS 5.5環境の構築手順です。CentOSと言えば、4月に5.6、7月にようやく6.0がリリースされました。
5.6環境のインストールは、この記事で解説している5.5と全く同じ流れでいけます。ちなみに、5.6だとPHP5.3のパッケージが提供されています。
6.0の場合、微妙に違いますが殆ど変わらないので、何となく分かるかとは思いますが、確実を期したければこちらを参照してください。ただしApacheとPHPの動作確認、CakePHPインストールは当記事の通りです。
では本題
LAMPほぼ童貞の男がお送りする、VMware Player上のCakePHP自習環境構築第2弾。今回はCentOS上にLAMPの『AMP』及びCakePHPをインストールする手順をお届け。
※VMware PlayerとCentOS仮想マシンの構築手順はこちらを参照。
Apache インストール
※プロンプトが『$』の場合は一般ユーザー、『#』の場合はrootユーザーで実行(或いは頭に「sudo」をつける)してください。# yum install httpd
インストール済んだら起動。
# /etc/init.d/httpd start
ファイアウォール設定
「システム」→「管理」→「セキュリティレベルとファイヤーウォールの設定」を選択。「ファイアウォールのオプション」タブを選択して
- ファイアウォール:有効
- 信頼できるサービス:「WWW(HTTP)」にチェック
ここいらで接続確認
まずIPアドレスを確認。# ifconfig※パス通ってない場合は「/sbin/ifconfig」とフルパス指定してください。
ブラウザで「http://{IPアドレス}」にアクセスし、Apacheのテストページが表示されたらOK。
MySQL インストール
# yum install mysql-server
インストール済んだら起動。
# /etc/init.d/mysqld start
DBやユーザーの作成に関しては、今回は割愛。
PHP インストール
MySQL接続用のパッケージも一緒にインストールします。バージョン 5.1
# yum install php php-mysql
バージョン 5.3 ※CentOS 5.6のみ
# yum install php53 php53-mysql
インストール済んだらApache再起動。
# /etc/init.d/httpd restart
ここいらでPHP動作確認
Apache公開ディレクトリ(デフォルトでは/var/www/html)直下に以下ソースを適当なファイル名で保存(拡張子は「.php」)。ブラウザで「http://{IPアドレス}//{ファイル名}」にアクセスし、「PHP Version…」から始まるページが表示されればOK。
CakePHP インストール
以下ページよりアーカイブをダウンロード。3月下旬時点での最新安定バージョンは「1.3.8」。アーカイブを解凍し(tar zxvf {ファイル名})、Apache公開ディレクトリ(デフォルトでは/var/www/html)内に展開。
CakePHPディレクトリ内の.htaccess有効化
「/etc/httpd/conf/httpd.conf」を開き、以下設定を追加。ここいらでCakePHP試食
ブラウザで「http://{IPアドレス}/{CakePHPのパス}」にアクセス。403エラーが発生した場合、SELinux設定を確認し、有効になっていたら無効に設定。
# getenforce Enforcing ←disabled以外の場合は有効 # setenforce 0 ←無効化コマンドさらに再起動時にも無効になるよう、設定ファイル編集。
# vim /etc/sysconfig/selinux SELINUX=disabledここでOS再起動。これで恐らくOKな筈。
警告メッセージがいくつか表示されているはずなので、一つずつ潰していく。
apacheユーザーにapp/tmpディレクトリの書込権限追加
以下は一例。「chmod -R 757」とかでもOK。chmod -R o+w {CakePHPのパス}app/tmp/
「strtotime()」の警告が発生したら
PHPが5.3でタイムゾーン設定を行っていない場合に発生する。/etc/php.iniを開き、「date.timezone」の値に「Asia/Tokyo」を設定。
;date.timezone = ↓ 修正 date.timezone = "Asia/Tokyo"設定済んだらApache再起動。
app/config/core.phpのセキュリティ関連パラメータ変更
以下項目の値をデフォルト値から適当に変更。- 'Security.salt'
- 'Security.cipherSeed'
app/config/database.php作成
既存のdatabase.php.defaultを元に作成。ここまでの手順でMySQLをインストールした場合、パスワード無しの「root」ユーザーと「test」DBが作成されている筈なので、とりあえず接続情報を以下のように設定する。
PCREだか何かのエラーが発生してたら
「cake/libs/validation.php」のalphaNumeric関数内にある正規表現を修正する。※ここの部分は以下のブログを参考にさせていただきました。
*
以上でとりあえず完成(の筈)。OS起動時にApacheやMySQLを自動起動させる設定やらMySQLのDB・ユーザー作成やらは、後述の関連エントリを参照してください。それではCakePHPを召し上がってください。
関連エントリ
- LAMP of CakePHP on VMware:構築手順メモ1~CentOS 5.5(or5.6)インストールまで
- LAMP of CakePHP on VMware:構築手順メモ外伝 ~CentOS 6.0環境構築
- LAMP of CakePHP on VMware:構築後のデザート~Apache, MySQL自動起動設定
- LAMP of CakePHP on VMware:構築後のデザート~NTP設定
- LAMP of CakePHP on VMware:MySQL追加設定~日本語設定、DB・ユーザー作成など
- LAMP of CakePHP on VMware:構築後のデザート~phpMyAdminインストール
*