はじめに
Zabbix 6.0以前のメジャーバージョンでは、SELinuxを有効にしている環境でZabbixを起動するためには手動でSELinuxの設定コマンドを実行する必要がありました。
Zabbix 6.0以降では、SELinuxを有効にした状態でもZabbixを起動できるようにする便利なポリシーパッケージが提供されておりますので、オンラインマニュアルを参考にZabbixをインストールすればSELinuxを有効にした状態で起動可能です。
しかし、ZabbixサーバーとデータベースがNW経由(別ホスト)となる環境の場合、Zabbixをインストールするのみでは起動することができずSELinuxの設定コマンドを実行する必要があります。
本ブログでは、SELinuxを有効にした状態でZabbixを起動するにあたり、実際に試みた内容について紹介します。
【注意事項】
- 本記事の内容は、2026年2月25日時点の情報に基づいています。時間の経過により内容が変更される可能性がありますので、最新情報をご確認のうえ、適宜対応してください。
- 各設定については、環境に応じて適切に調整してください。本記事では基本的な設定方法のみを記載しています。
- OSおよびZabbix、データベースのインストール手順については、本記事では扱っておりません。
▼参考情報:検証した環境
Zabbixバージョン:7.0
OS:Red Hat Enterprise Linux9.4
データベース:MariaDB
データベース内包の構成でZabbixを起動してみる
まず最初に、オンラインマニュアルを参考に、データベース内包の構成でZabbixを起動してみました。
構成は下図の通りです。
Zabbix7.0をインストールし、起動を試みたところ正常に起動しました。

データベース外だしの構成でZabbixを起動してみる
次に、Zabbixサーバーとデータベースが別ホストになるケースについて、先ほどと同様にZabbix7.0をインストールしました。
構成は下図の通りです。
ServerAにZabbix7.0をインストールし、Zabbixサーバーを起動しました。
ServerBにMariaDBをインストールし、MariaDBを起動しました。

その後、Zabbixのログイン画面のURLにアクセスを試みたところ、下記データベース・エラーが表示されました。

Zabbixサーバーの/var/log/zabbix/zabbix_server.logを確認したところ、「データベース ‘zabbix’ への接続に失敗しました」という下記メッセージも表示されていることから、正常に起動できていないと考えられます。

対処
Zabbix社のマニュアルを参照したところ、下記コマンドを実行することでSELinuxを有効にしている環境でZabbixを起動できると記載がありました。
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on
上記コマンドを実行してみました。
しかしながら、再度Zabbixのログイン画面のURLにアクセスを試みたところ、Zabbixログインはできますがダッシュボードにエラーメッセージが表示されてしまいます。

調査
調べてみたところ、Zabbixサーバーの/var/log/messagesにzabbix_can_networkを有効にする必要があるとのメッセージ表示されておりました。

setsebool -P zabbix_can_network on
上記コマンド実行後、Zabbixサーバーが起動できるようになりました。

Zabbix社に確認したところ、外部DBを利用する場合はsetsebool -P zabbix_can_network onの実行が必要との回答がありました。
まとめ
SElinuxを有効にした状態で外部DBを利用する場合は、マニュアル通りに対応してもZabbixサーバーが起動しません。
そのため、ZabbixサーバーとDBインストール後に下記3つのコマンドを実行する必要があります。
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on
setsebool -P zabbix_can_network on

(←参考になった場合はハートマークを押して評価お願いします)