LinuxMint12でCakePHPの環境構築

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.15

For 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


これで環境はできました。あとはチュートリアル等続けてやる感じです。