7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ZabbixAdvent Calendar 2019

Day 8

Zabbix 4.4をCentOS 8にインストール(MySQL+nginx編)

Last updated at Posted at 2019-12-08

Zabbix Advent Calendar 2019の8日目の記事です。

先日の「Zabbix 4.4をCentOS 8にインストール(MySQL編)」では、Webサーバーとしてhttpdを使用しましたが、nginxを使用する場合をご紹介します。

システム構成

今回の構成は、以下のような構成になるようにします。

  • Zabbix : Zabbix 4.4.3
  • OS : CentOS 8 (バージョン 8.0.1905)
  • Webサーバー : nginx 1.14.1 (CentOS 8標準)
  • PHP : PHP 7.2.11 (CentOS 8標準)
  • DBMS : MySQL 8.0.13 (CentOS 8標準)

インストール手順の異なる点

httpdを使用する場合、以下のコマンドラインでZabbixのWebインターフェースをインストールする際に、以下のコマンドラインでインストールしていたかと思います。

# dnf install zabbix-web-mysql zabbix-apache-conf zabbix-web-japanese

nginxを使用する場合は、「zabbix-apache-conf」の代わりに「zabbix-nginx-conf」をインストールします。

# dnf install zabbix-web-mysql zabbix-nginx-conf zabbix-web-japanese

追加の設定作業

PHPのtimezoneの設定に関しては、httpdを使用する場合と同様です。
/etc/php-fpm.d/zabbix.conf内の「php_value[date.timezone]」の値を「Asia/Tokyo」にします。

あと、現時点(2019/12/05)のパッケージでは、nginxの設定として、Zabbixのコンテンツへのアクセスが、サブディレクトリを指定しないような設定になっているようです。
この場合、デフォルトで用意されているserverの設定とぶつかってしまいますので、/etc/nginx/nginx.conf内のserverの設定をコメントアウトしておきます。

# vi /etc/nginx/nginx.conf

コメントアウトした箇所は以下の通りです。

--- nginx.conf.bak      2019-10-08 06:17:41.000000000 +0900
+++ nginx.conf  2019-12-05 16:39:38.611000000 +0900
@@ -35,26 +35,26 @@
     # for more information.
     include /etc/nginx/conf.d/*.conf;

-    server {
-        listen       80 default_server;
-        listen       [::]:80 default_server;
-        server_name  _;
-        root         /usr/share/nginx/html;
-
-        # Load configuration files for the default server block.
-        include /etc/nginx/default.d/*.conf;
-
-        location / {
-        }
-
-        error_page 404 /404.html;
-            location = /40x.html {
-        }
-
-        error_page 500 502 503 504 /50x.html;
-            location = /50x.html {
-        }
-    }
+#    server {
+#        listen       80 default_server;
+#        listen       [::]:80 default_server;
+#        server_name  _;
+#        root         /usr/share/nginx/html;
+#
+#        # Load configuration files for the default server block.
+#        include /etc/nginx/default.d/*.conf;
+#
+#        location / {
+#        }
+#
+#        error_page 404 /404.html;
+#            location = /40x.html {
+#        }
+#
+#        error_page 500 502 503 504 /50x.html;
+#            location = /50x.html {
+#        }
+#    }

 # Settings for a TLS enabled server.
 #

/etc/nginx/conf.d/zabbix.conf内の「listen」や「server_name」は必要に応じて設定してください。

Zabbix用の各サービスの起動

サービスの起動時には、httpdではなくnginxを使用するので、起動や自動起動設定は以下のように実行します。

# systemctl start zabbix-agent zabbix-server php-fpm nginx
# systemctl enable zabbix-agent zabbix-server php-fpm nginx

Webインターフェースへのアクセス

ブラウザを利用して、
http://ZabbixサーバーのIPアドレス/
にアクセスします。httpdの使用時につけていた後ろの「/zabbix/」が不要となるような設定になっています。「/zabbix/」をつけるのであれば、/etc/nginx/conf.d/zabbix.conf内の「location」の設定を変更する必要があります。

最初のアクセス時は、Zabbix設定のウィザードが実行されるので、DBへのアクセス情報などを入力して次へ次へと進めてください。
「Configure DB connection」では、データベース作成時に指定したUserとPasswordを必ず入力してください。

設定が終わるとログイン画面になります。アカウント「Admin」、パスワード「zabbix」でログインしてください。

ログイン後、まずは日本語画面に切り替えます。
右上の人型のアイコンをクリックしてUser Profileを開き、LanguageとしてJapaneseを選択してSaveボタンを押してください。

最後に

これまでのバージョンでは、Webインターフェースで使用するWebサーバーとしてhttpdに限定するようなパッケージの依存関係が指定されていました。そのため、これまでも、nginxを使用して環境構築はできたのですが、パッケージの依存関係を生かしてZabbixのWebインターフェースをインストールすると、httpdが必ずインストールされてしまっていました。
RHEL 8(CentOS 8)からは、nginxも標準のパッケージとして用意されたので、httpd用とnginx用とを明確に切り分けてインストールできるようなパッケージの構成と依存関係の設定になっています。

つまり、Zabbix 4.4とRHEL 8(CentOS 8)の組み合わせでは、「zabbix-web-mysql」というパッケージと一緒に、httpdを使用するときは「zabbix-apache-conf」というパッケージ、nginxを使用するときは「zabbix-nginx-conf」というパッケージを一緒にインストールすることで、それぞれのWebサーバーに合わせた環境構築ができるようになりました。

明日は、誰でしょう?
どなたかよろしくお願いします。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?