CentOSは保守的?なパッケージ構成なので、新しいバージョンがほしい時には標準リポジトリから取得できないものが多い。セキュリティ系の修正はバックポートで反映されてると、知識ベースで知ってるものの機能がほしい場合もある。
例えば、PHP。2012/1/11に確認したら次のような反応。
$ yum info php ・・・ Available Packages Name : php Arch : i386 Version : 5.1.6 Release : 27.el5_5.3 Size : 2.3 M Repo : base ・・・
ネット見てると、5.3系なれば別パッケージであるとか。見てみたらあった。
$ yum info php53 Loaded plugins: fastestmirror Available Packages Name : php53 Arch : i386 Version : 5.3.3 Release : 1.el5_7.3 Size : 1.3 M Repo : updates Summary : PHP scripting language for creating dynamic web sites
WordPress 3.3.1では5.2.4以降がいるとの事。phpパッケージでいくか、php53に切り替えるか。
php53に切り替えた場合は、Apacheとかの設定も変更する必要がありそう。phpのアップグレードにしても、依存関係のライブラリとかの更新があるだろうから影響範囲は変わらないかな?今後、このサーバーのアップグレードポリシーを考える方が大事か。
外部リポジトリを追加
外部リポジトリのphpパッケージを見てみる。外部リポジトリは多種多様に存在するよう。
- EPELリポジトリ
- Fedora(前衛的?)の成果のリポジトリ。Fedoraの成果を、別のRedHat系ディストリビューションで使えるようにする為のもの。
- remiリポジトリ
- remiを使う場合には、EPELも必要なよう
- フランスのRemi CollectさんというFedra ProjectのContributorがメンテしているもよう
こちらを参考に作業する。
使ってるCentOSが5.3なので、各リポジトリは 5 -> 4 にして実行。
$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-5-4.noarch.rpm $ sudo rpm -Uvh http://remi-mirror.dedipower.com/enterprise/remi-release-5.rpm
次のフォルダに、repoファイルが3つ作成された。それぞれのファイルに、パッケージの取得先などの情報がある。
- /etc/yum.repos.d/
- epel-testing.repo
- epel.repo
- remi.repo
外部リポジトリのパッケージ確認
epel
$ yum info --enablerepo=epel php Available Packages Name : php Arch : i386 Version : 5.1.6 Release : 27.el5_5.3 Size : 2.3 M Repo : base Summary : PHP HTML 埋め込みのスクリプト言語 (PHP: Hypertext Preprocessor) URL : http://www.php.net/ ・・・ $ yum info --enablerepo=epel php53 Loaded plugins: fastestmirror Available Packages Name : php53 Arch : i386 Version : 5.3.3 Release : 1.el5_7.3 Size : 1.3 M Repo : updates Summary : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ ・・・
remi
$ yum info --enablerepo=remi php Available Packages Name : php Arch : i386 Version : 5.3.9 Release : 1.el4.remi Size : 2.6 M Repo : remi Summary : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ ・・・
remiを使えば、phpパッケージのまま5.3系になる事までは把握。リリースされたばかりの 5.3.9 が!あとは、方針決めだなぁ。
# めずらしくLinuxネタだった。
外部リポジトリを追加(2)
php53でいいかなと思って作業を継続したけど、すんなりもいかないよう。
- php53-mcrypt が updates では提供されてない
それで調べたら、次のような方法もあった。
IUS Community Project というところが提供しているリポジトリで利用が可能。
- IUSリポジトリ
- phpのダウンロードページからもバイナリのリンクあり
- http://php.net/downloads.php
導入は、次の通り。2行目は、すでにepel導入済みだったら不要と思われます。
$ sudo rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm $ sudo rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.ius.el5.noarch.rpm
- /etc/yum.repos.d/
- epel-testing.repo
- epel.repo
- remi.repo
もう一つ、php53-mcryptは、epelリポジトリでは提供があった。こうなると選択肢は次の3つ。
さあ、どれにしよう。