CentOS7でzabbix5を構築してみた

## やってみた

### 1. yum update

yum update します。

```
sudo su -
yum -y update
```

### 2. SElinuxを無効化

今回はSElinux無効化します。

```
sed -i -e "s/^SELINUX=enforcing$/SELINUX=disabled/g" /etc/selinux/config
```

再起動します。

```
reboot
```

```
sudo su -
cat /etc/redhat-release
==========
CentOS Linux release 7.9.2009 (Core)
==========
```

```
getenforce
========== 
Disabled
==========
```

アップデートもselinux無効化も完了。

### 3. apacheインストール

httpdのインストール行います。

```
yum -y install httpd
```

2.4がインストール出来ました。

```
httpd -version
==========
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 16 2020 16:18:20
==========
```

### 4. mariaDBインストール

今回はmariadbインストールします。

```
yum -y install mariadb mariadb-server
```

バージョンも確認しました。

```
mysql --version
```

文字コードをUTF-8にしました

```
sed -i -e '/\[mariadb\]/a character-set-server = utf8' /etc/my.cnf.d/server.cnf
```

### 5. zabbix5インストール

リポジトリのインストール

```
yum -y install https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
```

zabbixとzabbixサーバの関連パッケージのインストール
*-scl系のパッケージはSCLのPHP 7.2と組み合わせて使用する際にインストールします
zabbix-web-japaneseは日本語のフォントを使用するためのパッケージです。

```
yum -y install zabbix-server-mysql zabbix-agent2 zabbix-web-japanese
```

### 6. mariadbでセキュリティの初期設定・データベース作成・データの投入

mariadbを起動・自動起動設定

```
systemctl start mariadb
systemctl enable mariadb
```

mariadbのセキュリティの初期設定を行います。

```
mysql_secure_installation
==========
・・・
# rootのパスワードを入力(今はないので、Enter)
Enter current password for root (enter for none): [そのままEnter]
・・・
# rootのパスワード設定しますか
Set root password? [Y/n] y
# rootのパスワード入力
New password: [パスワードを入力]
# 再度rootのパスワード入力
Re-enter new password: [再度パスワードを入力]
...
# 匿名のユーザーを削除しますか
Remove anonymous users? [Y/n] y
...
# rootログインをリモートで禁止しますか
Disallow root login remotely? [Y/n] y
...
# テストDBを削除しますか
Remove test database and access to it? [Y/n] y
...
# 特権テーブルをリロードしますか？
Reload privilege tables now? [Y/n] y


Thanks for using MariaDB!
==========
```


zabbixのデータベースの作成

```
mysql -uroot -p
Enter password:  [↑のパスワードを入力]

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpass';
MariaDB [(none)]> exit
```

初期データの投入
少し時間がかかります。

```
zcat /usr/share/doc/zabbix-server-mysql-5.0.12/create.sql.gz | mysql -uzabbix zabbix -p
Enter password:  [zabbixpass] ↑で決めたパスワードを記載
```

### 7. zabbixの設定更新

最初はとりあえずzabbixのパスワードの変更を行います。

```
sed -i -e '/# DBPassword=/a DBPassword=zabbixpass' /etc/zabbix/zabbix_server.conf
```

zabbixを起動・自動起動設定

```
systemctl start zabbix-server zabbix-agent2
systemctl enable zabbix-server zabbix-agent2
```

### 8. zabbixのwebインタフェースのインストール

Zabbix5からPHP7.2以降が必要なのですが
CentOS7の標準PHPは5.4のため、SCLを使用してPHP7.2をインストールする必要があります。

```
yum -y install centos-release-scl
```

webインタフェースのパッケージをインストールできるようにzabbix-frontendを有効にします

```
vi /etc/yum.repos.d/zabbix.repo
==========
[zabbix-frontend]
...
enabled=0
↓
enabled=1
==========
```

webインタフェースのパッケージをインストールします。

```
yum -y install zabbix-web-mysql-scl zabbix-web-deps-scl zabbix-apache-conf-scl
```

### 9. zabbixのwebインタフェースの設定更新


```
sed -i -e '/; php_value\[date.timezone\] = Europe\/Riga/a php_value\[date.timezone\] = Asia\/Tokyo'  /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
```

### 10. 各種起動・自動起動設定

PHP-FPMの起動・自動起動設定

```
systemctl start rh-php72-php-fpm
systemctl enable rh-php72-php-fpm
```

httpdの起動・自動起動設定

```
systemctl start httpd
systemctl enable httpd
```

### 11. zabbix初期設定

以下のURLでアクセスします。

```
http://[IPアドレス]/zabbix
```

初期画面が出てきます。
Next stepで次へ進みます。

![1Installation - Google Chrome 2021-05-29 01.13.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a1173c09-f318-f1aa-8714-668d8d9b2b16.png)


前提条件の確認で全てOKになってることを確認して
Next stepで次へ進みます。

![2Installation - Google Chrome 2021-05-29 01.14.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/843ee1b0-f5a0-6a32-900a-349ecaa88eb4.png)


DB接続設定を確認します。
Password に、mariadbで設定した zabbixpass を入力し
Next stepで次へ進みます。

![3Installation - Google Chrome 2021-05-29 01.15.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/dbdffdfe-42c0-3755-2d62-1168b6a171a5.png)


zabbixサーバの詳細を入力します。
特に何も入力せずにNext stepで次へ進みます。

![4Installation - Google Chrome 2021-05-29 01.16.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0c592d86-061d-dcc3-88a9-56673a00a9fd.png)


設定の再確認を行います。
問題なければNext stepで次へ進みます。

![5Installation - Google Chrome 2021-05-29 01.17.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/8414dee4-92ac-0254-c4d5-c544c9c2ed88.png)


無事インストール出来たので、Finishで完了します。

![6Installation - Google Chrome 2021-05-29 01.18.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/b08abd6f-4058-f1b6-fa89-1a3892b8de4d.png)


ログイン画面が出てくるので、下記の初期設定でログインします。
Username : Admin
Password : zabbix

![7Zabbix - Google Chrome 2021-05-29 01.19.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/f3d454ee-8c30-1fd2-98c1-c7e759699c1d.png)


ログインができるようになりました！

![9Dashboard - Google Chrome 2021-05-29 01.20.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/773d28cc-1d45-25e6-f6fb-2cbdeccdd310.png)

## 勉強後イメージ

zabbix4のときよりいろいろインストールするもの増えてたりする・・・
今度はzabbix4→zabbix5の移行してみたいな

## 参考

- [【Zabbix】Zabbix5.0をCentOS7にyumを使ってインストールする方法](https://t-dilemma.info/install-zabbix50-on-centos7-by-yum/)
- [Zabbix 5.0 インストール手順(CentOS7 / Apache2.4 / PHP7.2 / MariaDB5.5)](https://densan-hoshigumi.com/server/zabbix-50-centos7-apache-mariadb-install)
- [【Zabbix】Zabbix Server 5.0のインストール（CentOS 7/MariaDB/NGINX）](https://satimo.org/2020/05/zabbix50-install/)