CakePHPの環境をLinuxMint12 64bitで作ったのでメモです。Ubunutu11.10でも一緒だと思います
OSインストール直後のまっさらな状態です。CakePHPは2.0.5です。
ミドルウェアのインストールはtaskselコマンドで済ませてるので対して何もやってないです。
LAMP環境
## taskselインストール $ sudo aptitude install tasksel ## LAMP $ sudo tasksel install lamp-server
Apacheの設定ファイルにphp拡張子の設定足す
Addtype application/x-httpd-php .php AddType application/x-httpd-php-source .phps
cakephpを公開ディレクトリに置いてアクセスしてみる。表示されたけどcssとか聞いてない
どうやらmod_rewriteが有効になっていないみたいな
/etc/apache2/mods-enabledを見るとrewrite.loadがないので有効にしてみます
sudo a2enmod rewrite
あとは設定ファイルとかでAllowOverride ALLとかやると.htaccessが動作するようになってちゃんと出る。
PHPUnit
/test.phpにアクセスするとテストに関する情報がみれるみたいなんだけどPHPUnitが入っていなかったのでこんなメッセージでた
CakePHP Test Suite 2.0
PHPUnit is not installed!You must install PHPUnit to use the CakePHP(tm) Test Suite.
PHPUnit can be installed with pear, using the pear installer.
To install with the PEAR installer run the following commands:
pear channel-discover pear.phpunit.de pear channel-discover components.ez.no pear channel-discover pear.symfony-project.com pear install phpunit/PHPUnit-3.5.15For full instructions on how to install PHPUnit, see the PHPUnit installation guide.
Download PHPUnit
PEARをインストールしてから言われたとおりにやってみたんだけどうまく入らない
$ sudo aptitude install php-pear
ダウンロードできていなかったりPEARのバージョンが足らなかったりするみたい
$ sudo pear install phpunit/PHPUnit-3.5.15 Did not download optional dependencies: pear/XML_RPC2, use --alldeps to download automatically Did not download optional dependencies: phpunit/PHP_Invoker, use --alldeps to download automatically phpunit/PHPUnit requires PEAR Installer (version >= 1.9.3), installed version is 1.9.2 phpunit/PHPUnit can optionally use package "pear/XML_RPC2" phpunit/PHPUnit can optionally use PHP extension "curl" phpunit/PHPUnit can optionally use PHP extension "dbus" phpunit/DbUnit requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/Text_Template requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/PHP_CodeCoverage requires package "phpunit/Text_Template" (version >= 1.1.1) phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/PHPUnit_MockObject requires package "phpunit/Text_Template" (version >= 1.1.1) phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/PHPUnit_Selenium requires PHP extension "curl" phpunit/PHPUnit requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 phpunit/PHPUnit requires package "phpunit/Text_Template" (version >= 1.1.1) phpunit/PHPUnit requires package "phpunit/PHP_CodeCoverage" (version >= 1.1.0) phpunit/PHPUnit requires package "phpunit/PHPUnit_MockObject" (version >= 1.1.0) phpunit/PHPUnit can optionally use package "phpunit/PHP_Invoker" (version >= 1.1.0) phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2 downloading File_Iterator-1.3.1.tgz ... Starting to download File_Iterator-1.3.1.tgz (5,157 bytes) .....done: 5,157 bytes downloading PHP_Timer-1.0.2.tgz ... Starting to download PHP_Timer-1.0.2.tgz (3,686 bytes) ...done: 3,686 bytes downloading YAML-1.0.6.tgz ... Starting to download YAML-1.0.6.tgz (10,010 bytes) ...done: 10,010 bytes install ok: channel://pear.phpunit.de/File_Iterator-1.3.1 install ok: channel://pear.phpunit.de/PHP_Timer-1.0.2 install ok: channel://pear.symfony-project.com/YAML-1.0.6
上記のリンクを見てその方法でためしてみるとうまくいった
sudo pear upgrade PEAR sudo pear config-set auto_discover 1 sudo pear install pear.phpunit.de/PHPUnit
これで環境はできました。あとはチュートリアル等続けてやる感じです。