Red Hat 6にphp-mbstringをインストール

redhat logoRed Hat 6 に PHP 拡張モジュールの mbstring をインストールしようとしたらハマったのでメモ。
Red Hat 6 では php-mbstring パッケージはオプションレポジトリに分類されているため、明示的にレポジトリを追加しないとインストール出来ない。

デフォルトのレポジトリ

デフォルトのレポジトリ状態で php-mbstring をインストールすると、以下のようになる。

# yum install php-mbstring
Loaded plugins: rhnplugin
Setting up Install Process
No package php-mbstring available.
Error: Nothing to do

# yum search mbstring
Loaded plugins: rhnplugin
Warning: No matches found for: mbstring
No Matches found

実際に、レポジトリを確認すると、、、

# yum repolist
Loaded plugins: rhnplugin
repo id                       repo name                                  status
rhel-x86_64-server-6          Red Hat Enterprise Linux Server (v. 6 for  10,162
repolist: 16,172

オプションレポジトリの追加

php-mbstring は rhel-x86_64-server-optional-6 というレポジトリで管理されているので、このレポジトリを yum の参照先に追加する。
追加するには

  • Webベースでカスタマーポータルから有効にする方法
  • コマンドラインから有効にする方法

の2つがある。

Web ベース

多くのブログでは、この方法の解決策が書かれている。
ただし、最近サイトがリニューアルされたようなので、画面遷移やキャプチャが古くなっている。

次のナレッジベース通りにやれば、有効にできるとおもわれる。(未検証)

How do I subscribe to the Optional channel in RHN or Satellite?
https://access.redhat.com/knowledge/solutions/70019

コマンドラインベース

今回はこちらを採用。

RHEL にはコマンドラインからチャンネル(レポジトリ)を購読する rhn-channel(8) というコマンドがあるので、こいつを利用。追加するチャンネルは rhel-x86_64-server-optional-6 。

# rhn-channel --add --channel=rhel-x86_64-server-optional-6
Username:
Password:

ナレッジベースによると、Username と Password はコマンドラインからも渡せる模様(未検証)

# rhn-channel -a -c rhel-`uname -i`-server-optional-6 -u  -p

コマンドラインから、追加したレポジトリを確認

# yum repolist
Loaded plugins: rhnplugin
rhel-x86_64-server-optional-6                              | 1.8 kB  00:00
rhel-x86_64-server-optional-6/primary                      | 1.4 MB  00:01
rhel-x86_64-server-optional-6                                        6010/6010
repo id                       repo name                                  status
rhel-x86_64-server-6          Red Hat Enterprise Linux Server (v. 6 for  10,162
rhel-x86_64-server-optional-6 RHEL Server Optional (v. 6 64-bit x86_64)   6,010
repolist: 16,172

# yum search php-mbstring
Loaded plugins: rhnplugin
================================== Matched: php-mbstring ===================================
php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling

php-mbstring が見えるようになったので、あとは # yum install php-mbstring すれば OK

教訓

RHEL と CentOS の違いにやられた。
本番環境と開発環境は出来る限り環境をあわせましょう。

References

Advertisements
Tagged with: , , ,
Posted in linux, PHP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: