PHPのMCrypt対応(CentOS4.4/4.5編)



CentOS4.4 の場合、標準のPHPでは MCrypt をサポートしていないため DB の暗号化等ができません。おやじの扱っている例でいえば、 Maia Maiguard でのパスワードの暗号化ができません。
そこで、標準の SRPM にパッチをあてて MCrypt 対応にしてみました。作成した RPM はダウンロードにアップしておきますので、利用してください。
バージョンアップ時にmcryptが個別対応だとアップできないので、yumも使用できるようにしました。

■事前準備

PHP を MCrypt 対応するとはいっても、libmcrypt モジュールがないことには始まりません。しかしながら、CentOS4.4 では残念ながら libmcrypt はサポートされていません
そこで、 yum で dag リポリトジからRHEL4用の libmcrypt-devel をインストールしておきます。( dag リポリトジ対応はこちらを参照)

# yum install libmcrypt-devel [Enter]


■MCryptモジュールの作成

MCrypt モジュールを作成するといっても特段難しい話ではありません。最新の SRPM を持ってきて、SPEC ファイルにパッチをあててリビルドするだけです。
但し、関連する多くの xxx-devel パッケージをインストールする必要があります。これらについては、特に触れませんがリビルドすると依存関係のエラーがでるので、全てインストールしてください。

  1. SRPM をダウロードしてきて、展開する。

    # cd /usr/src/redhat/SOURCES [Enter]
    # wget http://ftp.riken.go.jp/Linux/centos/4.4/updates/SRPMS/php-4.3.9-3.22.src.rpm [Enter]
    # rpm -Uvh php-4.3.9-3.22.src.rpm [Enter]

  2. MCrypt 用のパッチをあててリビルドし、mcrypt をインストールする。

    # cd ../SPECS [Enter]
    # wget http://www.aconus.com/~oyaji/centos/php-4.3.9-3.22.mcrypt.centos4.4.patch [Enter]
    # patch -p0 < php-4.3.9-3.22.mcrypt.centos4.4.patch [Enter]
    # rpmbuild -ba php.spec --with mcrypt [Enter]
    # rpm -Uvh ../RPMS/i386(x86_64)/php-mcrypt-4.3.9-3.22.i386(x86_64).rpm [Enter]

yumでのMCryptモジュールのインストール

MCrypt モジュールだけが、単独だとバージョンアップが厄介なのでyumを使えるようにしました。他のリポリトジと同じように扱えます。但し、おやじはCentOSは常用していないのでアップは遅れ気味なので、突付いていただければ早くなるかも・・・。

  1. 以下のようなおやじのリポリトジ用の設定ファイル(/etc/yum.repos.d/oyaji.repoでもしてください)を作成する。

    [oyaji]
    name=Oyaji RPM Repository for RHEL4/CentOS4
    baseurl=ftp://ftp.aconus.com/yum/repos/centos4.5/updates/$basearch/RPMS/
    enabled=1
    gpgcheck=1
    gpgkey=http://www.aconus.com/~oyaji/ftp/RPM-GPG-KEY-Oyaji

  2. (おやじのGPG keyをインポートする。) 上記でgpgkeyの記述があれば不要。

    # rpm --import http://www.aconus.com/~oyaji/ftp/RPM-GPG-KEY-Oyaji [Enter]

  3. yum updateを行う。phpのmcryptモジュールはおやじのところからアップデートされる。その他は従来どおり。

    # yum update [Enter]



Top Pageへ