【Zabbix6.4】インストールと初期設定(AlmaLinux8.7 / CentOS8 / RHEL8 + nginx + php + MySQL)
こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。
本記事では、AlmaLinux8.7(CentOS8 / RHEL8)環境にZabbix6.4をnginx + php + MySQL構成でインストールし、初期設定を完了するまでの手順を解説します。「最小のインストール」でセットアップしたOS環境を前提としており、上から順に実施することでZabbixにログインできる構成になっています。「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
動作確認環境
| 名称 | バージョン |
|---|---|
| OS | CentOS8.7 / AlmaLinux8.7 / RHEL8.7 |
| PHP | 7.4.30-1.module_el8.7.0+3286+227f3cf0 |
| PHP-FPM | 7.4.30-1.module_el8.7.0+3286+227f3cf0 |
| Zabbix | 6.4.0-rc4.release1.el8 |
| nginx | 1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| MySQL | 8.0.30-1.module_el8.6.0+3340+d764b636 |
インストール時のパラメーター
| 設定項目 | 設定値(例) |
|---|---|
| Zabbixサーバーのホスト名 | zabbix01 |
| ZabbixデータベースDB名 | zabbix |
| Zabbix管理用MySQLユーザー名 | zabbixadmin |
| Zabbix管理用MySQLパスワード | zabbixpass |
| Zabbixアクセスポート番号 | 8080 |
Linuxの初期設定
SELinuxの設定
SELinuxというセキュリティ機能を無効化しつつログ取得を可能にする設定です。RedHatの推奨設定に準拠しています。/etc/selinux/config を以下のように編集します。
Firewallの無効化
サーバー単位のファイアウォールを無効化します。
systemctl stop firewalld systemctl disable firewalld
その他の初期設定
必須ではありませんが、Linux全般の初期設定として以下の記事も参考にしてください。

Zabbixに必要なパッケージのインストール
① Zabbixリポジトリをインストールする
rpm -Uvh https://repo.zabbix.com/zabbix/6.3/rhel/8/x86_64/zabbix-release-6.3-1.el8.noarch.rpm
② dnf をクリーンする
dnf clean all
③ PHP をインストールする
dnf -y module switch-to php:7.4
④ Zabbixサーバー関連パッケージをまとめてインストールする
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-web-japanese
⑤ MySQL をインストールする
yum info mysql yum install -y @mysql:8.0
MySQLの設定
MySQLの初期設定
mysqld を起動・自動起動設定してから初期設定を実行します。
systemctl start mysqld systemctl enable mysqld mysql_secure_installation
Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
New password: (rootユーザーのパスワードを入力)
Re-enter new password: (rootユーザーのパスワードを再入力)
Do you wish to continue with the password provided? : y
Remove anonymous users? : y
Disallow root login remotely? : y
Remove test database and access to it? : y
Reload privilege tables now? : y
root ユーザーで MySQL にログインします。
mysql -u root -p
Enter password: (rootユーザーに設定したパスワード)
Zabbix用データベースの作成
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Zabbix用MySQLユーザーの作成
mysql> CREATE USER 'ユーザー名@localhost' IDENTIFIED BY 'パスワード'; mysql> grant all privileges on zabbix.* to ユーザー名@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;
初期スキーマとデータのインポート
Zabbixサーバーホストで初期スキーマとデータをインポートします。処理完了まで数分かかります。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u Zabbix管理ユーザー名 -p Zabbix用データベース名 Enter password: (Zabbix管理用ユーザーのパスワード)
log_bin_trust_function_creators の無効化
mysql -u root -p
Enter password: (rootユーザーのパスワード)
mysql> set global log_bin_trust_function_creators = 0; mysql> quit;
Zabbixサーバーの設定
ZabbixサーバーとMySQLの連携設定(/etc/zabbix/zabbix_server.conf)
■変更前
■変更後
Zabbixサーバーとnginxの連携設定(/etc/nginx/conf.d/zabbix.conf)
「server_name」にはご自身の環境のDNS名またはIPアドレスを設定します。複数定義する場合は半角スペースで区切ります。(例:192.168.1.1、zabbix01)
■変更前
■変更後
Zabbix関連サービスの再起動と自動起動設定
systemctl restart nginx systemctl restart php-fpm systemctl restart zabbix-server systemctl restart zabbix-agent systemctl enable nginx systemctl enable php-fpm systemctl enable zabbix-server systemctl enable zabbix-agent
Webでの初期設定ウィザード
ブラウザで以下のURLにアクセスします。「★IPアドレスまたはDNS名★」はご自身の環境のサーバーのDNS名またはIPアドレスに置き換えてください。「server_name」に定義した値と一致している必要があります。
http://★IPアドレスまたはDNS名★:8080/ (繋がらない場合) http://★IPアドレスまたはDNS名★:8080/setup.php http://★IPアドレスまたはDNS名★:8080/index.php
① ブラウザでURLにアクセスし、初期画面が表示されることを確認します。

② 言語を「日本語(ja_JP)」に変更し、「次のステップ」をクリックします。

③ 前提条件のチェックがすべて「OK」であることを確認し、「次のステップ」をクリックします。

④ 以下を設定し、「次のステップ」をクリックします。
データベース名 ← MySQLのデータベース名
ユーザー ← MySQLのZabbix管理用ユーザー名
パスワード ← MySQLのZabbix管理用ユーザーのパスワード

⑤ 以下を設定し、「次のステップ」をクリックします。
Zabbixサーバー名 ← Zabbixサーバーのホスト名
デフォルトのタイムゾーン ← Asia/Tokyo

⑥ 設定内容を確認し、「次のステップ」をクリックします。

⑦ 完了メッセージが表示されることを確認し、「終了」をクリックします。

⑧ 以下の初期ユーザー情報でサインインします。大文字・小文字に注意してください。
ユーザー名 : Admin
パスワード : zabbix

⑨ 以下のダッシュボード画面が表示されればインストール完了です。

次のステップ:エージェントレスPing監視の設定
ZabbixでエージェントレスのPing監視(ICMP)を設定する手順は以下の記事をご覧ください。

まとめ
本記事ではAlmaLinux8.7(CentOS8 / RHEL8)環境へのZabbix6.4インストールと初期設定手順として、Linux初期設定・パッケージインストール・MySQL設定・Zabbixサーバー設定・Webウィザードによる初期設定完了までを解説しました。同様の環境構築で困っている方はTwitterでご連絡ください。
カユラ(@kayura_SE)

コメント