Ubuntu LinuxにNginxでZabbixをインストールする方法

このチュートリアルでは、Zabbix 4とNginxおよびPHP-FPMをUbuntu Linuxにインストールするために必要なすべての手順を説明します。

このチュートリアルはUbuntu 18.04でテストされました。

NTPを使用して日付と時刻を設定する

システムを正しい日付と時刻に保つことは非常に重要です。

正しいタイムゾーンを設定してください。

# dpkg-reconfigure tzdata

Ntpdateパッケージをインストールして正しい日付と時刻を設定します。

# apt-get update
# apt-get install ntpdate
# ntpdate pool.ntp.br

UbuntuのデフォルトのNTPクライアントを無効にします。

再起動後もコンピュータの日付と時刻を最新の状態に保つためにNTPサービスをインストールします。

# timedatectl set-ntp 0
# apt-get install ntp

コンピュータに正しい日付と時刻が設定されていることを確認してください。

# date

2. Ubuntu LinuxにMySQLをインストールする

Zabbixはすべての設定を保存するためにデータベースシステムを必要とします。

MySQLサーバーをインストールするには、Ubuntu APTコマンドを使用します。

# apt-get update
# apt-get install mysql-server mysql-client

MySQLサービスコンソールにアクセスするには、次のコマンドを使用します。

# mysql -u root -p

MySQLコンソールで、以下のタスクを実行する必要があります。

•zabbixという名前のデータベースを作成します。
•zabbixという名前のMySQLユーザーアカウントを作成します。
•zabbixデータベースをzabbixユーザーに完全に制御します。

CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'kamisama123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
quit;

Zabbixインストールパッケージをダウンロードしてデータベーステンプレートを入手してください。

# mkdir /downloads
# cd /downloads
# wget https://ufpr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz

Zabbixインストールパッケージを解凍します。

MySQLデータベース内のZabbixデータベーステンプレートをインポートします。

要求されたら、ZabbixユーザーのMySQLパスワードを入力する必要があります。

# tar -zxvf zabbix-4.0.3.tar.gz
# cd zabbix-4.0.3/database/mysql/
# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
# mysql -u zabbix -p zabbix < data.sql

Zabbixデータベースのインストールが完了しました。

3. Ubuntu LinuxにNginxをインストールする

Nginxサーバーをインストールするには、Ubuntu APTコマンドを使用します。

# apt-get update
# apt-get install nginx

nginx.conf構成ファイルを編集します。

HTTPセクションにclient_max_body_sizeを追加します。

最大アップロードサイズを32メガバイトに設定します。

# vi /etc/nginx/nginx.conf

これが私たちの設定ファイルです。

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
client_max_body_size 32M;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Nginx Webサーバーを手動で再起動します。

# service nginx restart
# service nginx status

Nginxサービスの状態を確認してください。

● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-12-29 04:29:22 UTC; 1h 17min ago
Docs: man:nginx(8)
Process: 2233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 2221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 2238 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─2238 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2239 nginx: worker process

Nginx Webサーバーは正常にインストールされました。

4. NginxにPHPサポートを追加する

NginxはPHPサポートを追加するために外部プログラムを必要とします。

Ubuntu APTコマンドを使用してPHPの必須パッケージをインストールします。

# apt-get update
# apt-get install php7.2-fpm

以下のコマンドを使用して、必要なPHPモジュールをインストールしてください。

# apt-get install php7.2-mysql php7.2-mbstring php7.2-xml
# apt-get install php7.2-gd php7.2-curl php7.2-bcmath php7.2-ldap

システム上のPHP設定ファイルの場所を見つけます。

php.ini設定ファイルを編集します。

# updatedb
# locate php.ini
# vi /etc/php/7.2/fpm/php.ini

あなたのPHPのバージョンは私たちのものと同じではないかもしれません。

あなたのPHP設定ファイルの場所は私たちのものと同じではないかもしれません。

これが私たちの設定ファイルです。

max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 32M
max_input_time = 300
date.timezone = America/Sao_Paulo

NginxのデフォルトWebサイト設定ファイルを編集します。

# vi /etc/nginx/sites-available/default

これが私たちの設定の前の、元のファイルです。

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}

これが私たちの設定による新しいファイルです。

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Nginxの設定ファイルにエラーがないか確認してください。

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

PHPサービスを再起動します。
Nginxサービスを再起動します。

# service php7.2-fpm restart
# service nginx restart

NginxサーバーのPHP設定が完了しました。

5. Ubuntu LinuxにZabbix 4をインストールする

MySQLとNginxの設定が完了したら、Zabbixのインストールを開始できます。

Zabbixサービスに必要なユーザーアカウントを作成します。

# groupadd zabbix
# useradd -g zabbix -s /bin/bash zabbix

必要なパッケージをインストールするには、Ubuntu APTコマンドを使用します。

# apt-get install build-essential libmysqlclient-dev libssl-dev libsnmp-dev libevent-dev
# apt-get install libopenipmi-dev libcurl4-openssl-dev libxml2-dev libssh2-1-dev libpcre3-dev
# apt-get install libldap2-dev libiksemel-dev libcurl4-openssl-dev libgnutls28-dev

Zabbixインストールパッケージがダウンロードされたディレクトリにアクセスします。

Zabbixサーバーアプリケーションをコンパイルしてインストールします。

# cd /downloads/zabbix-4.0.3/
# ./configure --enable-server --enable-agent --with-mysql --with-openssl --with-net-snmp --with-openipmi --with-libcurl --with-libxml2 --with-ssh2 --with-ldap
# make
# make install

システム上のZabbixサーバー設定ファイルの場所を見つけます。

zabbix_server.conf構成ファイルを編集します。

# updatedb
# locate zabbix_server.conf
# vi /usr/local/etc/zabbix_server.conf

これが私たちの設定の前の、元のファイルです。

LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
Timeout=4
LogSlowQueries=3000

これが私たちの設定による新しいファイルです。

LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=kamisama123
Timeout=4
LogSlowQueries=3000

次のコマンドを使用してZabbixサーバーを起動します。

# /usr/local/sbin/zabbix_server

次のコマンドを使用してZabbixエージェントアプリケーションを起動します。

# /usr/local/sbin/zabbix_agentd

オプション! Zabbixインストールパッケージはサービス起動スクリプトを提供します。

Zabbix起動スクリプトをコピーします。

# cd /downloads/zabbix-4.0.3/
# cp misc/init.d/debian/* /etc/init.d/

これで、Zabbixサーバーサービスを開始するために次のコマンドを使用できます。

# /etc/init.d/zabbix-server start

次のコマンドを使ってZabbixサーバーサービスを停止できます。

# /etc/init.d/zabbix-server stop

Nginxのルートドライブディレクトリにあります。

www-dataユーザーにZabbixディレクトリとそのファイルを完全に制御させます。

# cd /downloads/zabbix-4.0.3/frontends
# mv php /var/www/html/zabbix
# chown www-data.www-data /var/www/html/zabbix/* -R

Nginxサービスを再起動します。

# service nginx stop
# service nginx start

6. Ubuntu LinuxでZabbixを設定する

ブラウザを開き、WebサーバーのIPアドレスと/ zabbixを入力します。

この例では、ブラウザに次のURLが入力されています。

•http://200.200.200.200/zabbix

Zabbixのインストールウィザードが表示されます。

Zabbix Installation

Zabbixのすべての要件が正常に満たされたかどうかを確認します。

Zabbix install Nginx requirements

Zabbixデータベースへの接続に必要なMySQLログイン情報を入力してください

Zabbix database connetion

Nextボタンをクリックしてください。

Zabbix Agent Connection

Zabbixインストールの概要を確認してください。

Zabbis Installation Summary

[完了]ボタンをクリックしてZabbixログイン画面にアクセスします。

Zabbix installation finished

Zabbixログイン画面で、以下の情報を入力します。

•Zabbixのデフォルトのユーザー名:Admin
•Zabbixのデフォルトパスワード:zabbix

Zabbix Login

ログインに成功すると、Zabbixダッシュボードが表示されます。

Zabbix Dashboard

おめでとうございます、Zabbixがあなたのシステムにインストールされました。

7. Zabbixサーバを監視する

Zabbixサーバーは自分自身を監視できなければなりません。

Zabbixダッシュボードで、[設定]メニューにアクセスして[ホスト]オプションを選択します。

Zabbix menu

画面右上で、Zabbixサーバというオプションを選択します。

Zabbix Server Group

Zabbixサーバーという名前のホストを見つけて、「無効」という単語をクリックします。

これにより、Zabbixサーバーは自分自身を監視できます。

Zabbix server agent disabled

Zabbixサーバーのステータスが「無効」から「有効」に変わります。

Zabbix server agent enabled

Zabbixサーバーは現在自分自身を監視しています。