こんにちは、はじめまして。 pixiv.comのバックエンドAPIを作成しています、ソフトウェアエンジニアのサイリュムです。
pixiv.comではバッグエンドAPIをDebianのsqueezeに野良ビルドして入れたPHP5.4.xで動かしているのですが、最近PHPの更新頻度が高くて困ります。 なるべく更新の手間を押さえるため、pixivではDebianパッケージの作成まで自動で行うPHP5.4パッケージ自動生成スクリプトを作成して対応しています。
今回はそのスクリプトの一部を紹介しつつ、2012年8月21日現在の最新版であるPHP5.4.6のビルド手順を紹介したいと思います。
ビルドの準備
まずはPHPのビルドに必要なパッケージ群をaptを使ってインストールしておきます。
1
|
|
これでビルドに必要な環境は揃いました。 早速最新のソースをダウンロードしてきましょう。
最新の安定版パッケージはphp.netから取得できます。
http://www.php.net/downloads.php#v5
ダウンロードしたらtarで展開します。
1 2 |
|
ビルド & インストール
あとはいい感じのconfigureオプションを指定してビルドします。 DebianのパッケージはCLIのみのパッケージとApacheモジュールのみのパッケージがあり、同じような構成にしたい場合は–disable-cliオプションを指定しながら分けてビルドする必要がありますが、今回は一緒くたにしてしまいます。
php-fpmも有効にしておきましょう。 その他必要なものとそうでないものを適宜指定&解除してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
–enable-zend-multibyteオプションは5.4系では指定する必要はありません。
あとはmakeしてインストールするだけですが、既知のどれくらいバグがあるのかmake testして確認しておきましょう。
1 2 |
|
大丈夫だと思えるならmake installしましょう・・・と行きたいところですが、せっかくDebianを使っていることですし、debパッケージを作ってみたいですよね。
ところが、PHPのMakefileにはdebianパッケージを作成するためのオプションはありません…
Debianパッケージを作る
実はこういった需要に対応するためのツールがあります。 今回はCheckInstallを使って作成することにします。 checkinstallはdebianパッケージ以外にもいくつかのパッケージを作成することができます。便利ですね。
まだcheckinstallをインストールしていない場合は、aptitudeでインストールしておきましょう。 ただし、Debian squeezeのcheckinstallにはバグがあるため、パッチが当たっているwheezyのパッケージをインストールしましょう。
というわけで、ちょっと面倒ですが、whezzyのcheckinstallをインストールすることにします。 一時的にsource.dにwheezy.listを作成しましょう。root権が必要です。
1 2 3 |
|
checkinstallだけ新しいバージョンをインストールしたら、他のパッケージが更新されないように、wheezy.listは削除してしまいましょう。もちろんroot権が必要です。
1 2 |
|
それではcheckinstallを使ってパッケージを作成しましょう。 今回はパッケージの作成のみを行うため–install=noを指定していますが、そのままインストールしてしまってもOKな場合は–install=noは外してしまっても問題ありません。
1
|
|
これでPHP5.4のパッケージ作成は完了です。 dpkgコマンドを使って、インストールしてみましょう。
1
|
|
php -vで実際にバージョンを確認してみましょう。
1
|
|
APC
みんなが大好きなアクセラレータさん。 残念なことに、現在の安定版APCはPHP5.4に対応していませんが、beta版である3.1.10でPHP5.4に対応しました。
8月21日現在の最新版は3.1.12です。beta版ですがインストールしてみましょう。(root権が必要です)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
同じく、APCもdebianパッケージにしてしまいましょう。
1
|
|
インストールも同じくdpkgです。
1
|
|
さて、いかがでしょうか。
たったこれだけでPHP5.4環境を整えることができるのです。
Debian WheezyではPHP5.4が入ることが確実になっていますので、この機会にPHP5.4の検証に入ってみてはいかがでしょうか。