このページでは、Red Hat Enterprise Linux 環境における Zabbix Server のパッケージ導入手順を整理する。
Zabbix は RHEL の標準リポジトリには含まれていないため、まず公式の Repository を追加し、そのうえで Zabbix Server、Web フロントエンド、および関連パッケージを導入する。
また、Zabbix Web フロントエンドの動作に必要となる Apache(httpd)、PHP、PHP-FPM についても、この手順の中であわせて導入する。
本ページは、監視サーバー(仮称)に Zabbix Server を構築するための初期パッケージ導入手順を、外部公開向けの内容として整理したものである。
作業対象サーバー
監視サーバー(仮称)(ZBX-WEB)
OS
Red Hat Enterprise Linux 10
構築対象
Zabbix Server
Zabbix Web フロントエンド
Apache(httpd)
PHP / PHP-FPM
本ページで登場するサーバーは以下のとおりである。
監視サーバー(仮称)(ZBX-WEB)
Zabbix Server、PostgreSQL、Web フロントエンドを構成するサーバー
証明書管理サーバー(仮称)(CERT-WEB)
後続手順で HTTPS 化を行う際に証明書管理で使用するサーバー
監視対象 Web サーバー(仮称)(MON-WEB01)
Zabbix Agent2 を導入して監視対象とする Web サーバー
監視対象 DB サーバー(仮称)(MON-DB01)
Zabbix Agent2 を導入して監視対象とする DB サーバー
本ページは外部公開向けページである。
ただし、Zabbix の管理画面や監視基盤そのものは外部公開しておらず、内部利用を前提としている。
そのため、本ページでは実際のサーバー名や内部 IP アドレスは記載せず、仮称を用いて構成を説明する。
最初に、Zabbix 用の Repository がまだ利用できない状態であることを確認する。
Zabbix は RHEL 標準リポジトリには含まれていないため、
先に公式 Repository を追加する必要がある。
dnf repolist | grep zabbix
解説
この確認では、現在利用できる Repository 一覧の中に
Zabbix 関連の Repository があるかを確認している。
まだ追加前であれば、何も表示されないか、対象が存在しない状態になる。
Zabbix 公式 Repository を追加する。
dnf install https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
解説
このコマンドは、Zabbix のリポジトリ定義パッケージをインストールする。
RHEL 10 環境では、この手順では EL9 用パッケージを利用している。
キャッシュを更新する。
dnf clean all
dnf makecache
解説
dnf clean all は既存のキャッシュを削除する。
dnf makecache は追加した Repository を含めて
新しいメタデータを取得し直す。
Repository が追加されたことを確認する。
dnf repolist | grep zabbix
解説
この確認で Zabbix 関連の Repository が表示されれば、
追加処理は完了である。
次に、PHP を導入するための Remi Repository が未追加であることを確認する。
dnf repolist | grep remi
解説
Zabbix Web フロントエンドでは PHP を利用する。
この環境では Remi Repository から PHP を導入するため、
先に利用可能かどうかを確認する。
Remi Repository を追加する。
dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
解説
このコマンドは、Remi Repository の定義パッケージをインストールする。
Enterprise Linux 10 向けの Remi Repository を登録する処理である。
Remi Repository が追加されたことを確認する。
dnf repolist | grep remi
解説
この確認で remi-modular や remi-safe が表示されれば、
Repository 追加は完了である。
利用可能な PHP バージョンを確認する。
dnf module list php
解説
このコマンドは、利用可能な PHP の Stream 一覧を表示する。
どのバージョンを有効化できるかを事前に確認するために実施する。
既存の PHP モジュール設定をリセットする。
dnf module reset php
解説
過去に PHP モジュールが有効化されていると、意図しない Stream が選ばれることがある。
そのため、いったんリセットしてから設定し直す。
PHP 8.5 を有効化する。
dnf module enable php:remi-8.5
解説
この手順では PHP 8.5 を利用する。
Remi Repository の php:remi-8.5 Stream を有効化することで、
以降の dnf install でそのバージョン系が使用される。
有効化対象が反映されているかを再確認する。
dnf module list php
解説
一覧の中で php:remi-8.5 が有効化済みとして確認できれば、
PHP モジュール設定は完了である。
PHP が未導入、または必要パッケージが揃っていないことを確認する。
php -v
rpm -qa | grep ^php
解説
php -v は PHP 本体の導入有無を確認する。
rpm -qa | grep ^php は関連パッケージの一覧確認に使う。
未導入であれば php コマンドが存在しないか、必要パッケージが不足している状態となる。
Zabbix Web フロントエンドで必要な PHP パッケージを導入する。
dnf install \
php \
php-fpm \
php-pgsql \
php-gd \
php-bcmath \
php-mbstring \
php-xml \
php-json \
php-ldap \
php-opcache
解説
php は PHP 本体である。
php-fpm は Apache と連携して PHP を実行する。
php-pgsql は PostgreSQL 接続用である。
そのほかのモジュールは Zabbix Web フロントエンドで必要となる。
PHP が正常に導入されたことを確認する。
php -v
解説
バージョン情報が表示されれば、PHP 本体は正常に導入されている。
この手順では PHP 8.5 系が導入されている想定で進める。
PHP-FPM がまだ起動していないこと、または自動起動設定されていないことを確認する。
systemctl status php-fpm
解説
この確認では php-fpm サービスの状態を見る。
導入直後であれば inactive や disabled の場合がある。
PHP-FPM を起動し、自動起動も有効にする。
systemctl enable --now php-fpm
解説
enable は OS 起動時に自動起動する設定である。
--now を付けることで、その場でサービスも起動する。
PHP-FPM が起動していることを確認する。
systemctl status php-fpm
解説
active (running) が確認できれば正常である。
httpd が未導入であることを確認する。
rpm -qa | grep httpd
解説
この確認では Apache 関連パッケージの導入有無を見る。
未導入であれば何も表示されないか、必要パッケージが揃っていない状態となる。
Apache(httpd)をインストールする。
dnf install httpd
解説
Zabbix Web フロントエンドは Apache 経由で公開する。
そのため、httpd をここで導入する。
Apache のバージョンを確認する。
httpd -v
解説
バージョンが表示されれば、Apache 本体は正常に導入されている。
Zabbix 関連パッケージがまだ導入されていないことを確認する。
rpm -qa | grep zabbix
解説
この確認では、Zabbix 関連パッケージの導入状況を確認する。
未導入であれば何も表示されないか、Repository 追加パッケージのみの状態になる。
Zabbix Server、Web フロントエンド、関連パッケージを導入する。
dnf install \
zabbix-server-pgsql \
zabbix-web-pgsql \
zabbix-apache-conf \
zabbix-sql-scripts \
zabbix-agent
解説
zabbix-server-pgsql は PostgreSQL 用の Zabbix Server 本体である。
zabbix-web-pgsql は PostgreSQL 利用時の Web フロントエンド関連である。
zabbix-apache-conf は Apache 用設定を提供する。
zabbix-sql-scripts は初期スキーマ投入時に使用する。
zabbix-agent は Zabbix Server 自身の監視にも利用できる。
Zabbix Server のバージョンを確認する。
zabbix_server --version
解説
バージョン情報が表示されれば、Zabbix Server 本体は正常に導入されている。
インストール済みパッケージを確認する。
rpm -qa | grep zabbix
解説
関連パッケージが一覧で表示されれば、
導入は正常に完了している。
この手順が完了すると、以下を満たしている状態になる。
PHP がインストールされている
PHP-FPM が起動している
Apache(httpd)がインストールされている
Zabbix Server パッケージがインストールされている
確認コマンド
php -v
systemctl status php-fpm
httpd -v
zabbix_server --version
次の手順では、
Zabbix Server が使用する PostgreSQL を導入する。