URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

RHEL7にZabbixをインストールしたときにつまずいたこと

 会社の検証環境でZabbixをインストールしたのですが、パッケージの依存性で引っかかりました。

# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.ZzSfwq: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 79ea5ed4: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:zabbix-release-2.4-1.el7 ################################# [100%]
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

~ 省略 ~

エラー: パッケージ: zabbix-web-2.4.3-1.el7.noarch (zabbix)
要求: php-bcmath
エラー: パッケージ: zabbix-web-2.4.3-1.el7.noarch (zabbix)
要求: php-mbstring
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest

 検証環境ではCentOSを使うことが多いのですが、今回はRHEL7を使いました。検証環境なのでサブスクリプションは購入していません。"yum"コマンドで参照しているRHELのレポジトリはインストールメディアです。

 どうやら"php-mbstring"や"php-bcmath"は"rhel-7-server-optional-rpms"レポジトリに含まれているようで、RHEL7のインストールメディアには含まれていないようです。
 サブスクリプションを購入していてRHNを利用できるのであれば、

# subscription-manager repos --enable=rhel-7-server-optional-rpms

とか実行してレポジトリを追加すればいいでしょう。

 しかし、今回はこの方法がとれないため、アンオフィシャルのレポジトリを使います。
 PHP関連は、定番ですがIUSのレポジトリが各種パッケージが揃っていて使いやすいと思います。

# rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/7/x86_64/ius-release-1.0-13.ius.el7.noarch.rpm
http://dl.iuscommunity.org/pub/ius/stable/Redhat/7/x86_64/ius-release-1.0-13.ius.el7.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.15m9Hz: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 9cd4953f: NOKEY
エラー: 依存性の欠如:

epel-release = 7 は ius-release-1.0-13.ius.el7.noarch に必要とされています

 上記の通り、IUSのレポジトリはEPLEレポジトリに依存性があるので、EPELも追加します。

# rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.c8c8XF: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:epel-release-7-5 ################################# [100%]
# rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/7/x86_64/ius-release-1.0-13.ius.el7.noarch.rpm
http://dl.iuscommunity.org/pub/ius/stable/Redhat/7/x86_64/ius-release-1.0-13.ius.el7.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.5KE0Rd: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 9cd4953f: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:ius-release-1.0-13.ius.el7 ################################# [100%]

 これで依存性を解決しつつZabbixがインストールできるようになりました。

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
読み込んだプラグイン:product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

~ 省略 ~

インストール:
zabbix-agent.x86_64 0:2.4.3-1.el7 zabbix-server-mysql.x86_64 0:2.4.3-1.el7 zabbix-web-mysql.noarch 0:2.4.3-1.el7

依存性関連をインストールしました:
OpenIPMI-libs.x86_64 0:2.0.19-11.el7 OpenIPMI-modalias.x86_64 0:2.0.19-11.el7
dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7
fontpackages-filesystem.noarch 0:1.44-8.el7 fping.x86_64 0:3.10-1.el7
httpd.x86_64 0:2.4.6-17.el7 httpd-tools.x86_64 0:2.4.6-17.el7
iksemel.x86_64 0:1.4-6.el7 libX11.x86_64 0:1.6.0-2.1.el7
libX11-common.noarch 0:1.6.0-2.1.el7 libXau.x86_64 0:1.0.8-2.1.el7
libXpm.x86_64 0:3.5.10-5.1.el7 libjpeg-turbo.x86_64 0:1.2.90-5.el7
libpng.x86_64 2:1.5.13-5.el7 libtool-ltdl.x86_64 0:2.4.2-20.el7
libvpx.x86_64 0:1.2.0-4.el7 libxcb.x86_64 0:1.9-5.el7
lm_sensors-libs.x86_64 0:3.3.4-10.el7 mailcap.noarch 0:2.1.41-2.el7
net-snmp.x86_64 1:5.7.2-18.el7 net-snmp-agent-libs.x86_64 1:5.7.2-18.el7
net-snmp-libs.x86_64 1:5.7.2-18.el7 php56u.x86_64 0:5.6.5-1.ius.el7
php56u-bcmath.x86_64 0:5.6.5-1.ius.el7 php56u-cli.x86_64 0:5.6.5-1.ius.el7
php56u-common.x86_64 0:5.6.5-1.ius.el7 php56u-gd.x86_64 0:5.6.5-1.ius.el7
php56u-mbstring.x86_64 0:5.6.5-1.ius.el7 php56u-mysqlnd.x86_64 0:5.6.5-1.ius.el7
php56u-pdo.x86_64 0:5.6.5-1.ius.el7 php56u-pear.noarch 1:1.9.5-1.ius.el7
php56u-pecl-jsonc.x86_64 0:1.3.6-3.ius.el7 php56u-process.x86_64 0:5.6.5-1.ius.el7
php56u-xml.x86_64 0:5.6.5-1.ius.el7 t1lib.x86_64 0:5.1.2-14.el7
unixODBC.x86_64 0:2.3.1-10.el7 zabbix.x86_64 0:2.4.3-1.el7
zabbix-server.x86_64 0:2.4.3-1.el7 zabbix-web.noarch 0:2.4.3-1.el7

完了しました!

 なお、IUSのレポジトリを追加した後にMariaDBを入れようとすると関連パッケージがコンフリクトするので、あらかじめMariaDB関連は入れておくか、Zabbixを入れた後はIUSレポジトリは無効化して必要なときだけ"yum --enablerepo=ius"するのがいいと思います。

 それ以外のZabbixのインストールは一般的な手順の通り。

 まあ、こんな事しなくてもCentOS使えばいいし、RHEL使うならちゃんとサブスクリプションを買いましょうね。