hnwの日記

Suhosinの野良portsを作った

MacportsSuhosinが入れられるように、githubに野良Portsを作りました。怪しい英語で説明も書いてみました:http://wiki.github.com/hnw/macports-repos-hnw


Suhosinというのは「なぜSuhosinを使うのか」でも紹介しましたが、PHPのセキュリティレベル向上のためのPHPに対するパッチ、およびエクステンションを提供するプロジェクトです。

インストール方法


まず、野良Portsをローカルに取得します。

$ cd /opt/local/var/
$ sudo git clone git://github.com/hnw/macports-repos-hnw.git
$ cd /opt/local/var/macports-repos-hnw/
$ sudo portindex
$ sudo vi /opt/local/etc/macports/sources.conf
(「file:///opt/local/var/macports-repos-hnw」を追記します)


次に、php5(+suhosinすることでSuhosinパッチが当たります)とphp5-suhosinSuhosinエクステンション)をインストールします。

$ sudo port deactivate php5
$ sudo port install php5 +mysql5 +postgresql83 +sqlite +pear +suhosin
$ sudo port install php5-suhosin


php.iniを書き換え、Suhosinエクステンションをロードするよう指定します。Apacheの再起動も忘れずに。

extension=suhosin.so

注意点

第一の注意点は、githubからpullしてこないとパッケージが更新されないことです。気が向いたタイミングで下記のようにする必要があります。

$ cd /opt/local/var/macports-repos-hnw
$ sudo git pull
$ sudo portindex


port selfupdateとかでアップデートできればいいんですけど、実現する方法を僕が知りません。


次に、オフィシャルのphp5パッケージと名前がかぶっています。オフィシャルのphp5パッケージが更新されたのに、この野良リポジトリを優先していてphp5は古いまま、ということが起こりえます。パッケージ名を変えるとかした方がいいんでしょうか。


本当はMacports本家に入れてもらうのが正解なんでしょうね。Suhosinパッチ&SuhosinエクステンションはPHP本体のリリースより数日遅れてくるので、php5パッケージに含めるのは微妙な気がしますけど。