[Zabbix]Zabbix5.0をAlma Linux8.5に構築する手順

# ●はじめに
Zabbix5.0をAlma Linux8.5に構築する手順を記載します。
AlmaLinuxは無償で、かつRHEL8以降と1:1のバイナリ互換があるとのことで、CentOSと同じ感覚で利用できるようです。
このへんはまだ詳しくないので今回は省きます。

# ●環境
**機器環境**
|項目|詳細|
|:-:|:-:|
|ホストOS|macOS Monterey 12.2.1|
|仮想化ソフト|VMware Fusion 12.2.0|
|ゲストOS|Alma Linux 8.5|
|NiC設定|ブリッジされたネットワーキング、自動検出（ネットにつながり放題）|

**Linux環境**
|項目|詳細|
|:-:|:-:|
|selinux|stop,disable|
|firewalld|stop,disable|
|DNS|取り急ぎ8.8.8.8|

※他細かい設定は省略

# ●参考
**Zabbix公式ページ**

https://www.zabbix.com/jp/download?zabbix=5.4&os_distribution=centos&os_version=8&db=mysql&ws=apache

# ●手順

## 1. レポファイルの取得

```bash
# Zabbix公式アクセス
上記「Zabbix公式ページ」にアクセス

# サーバプラットフォームの選択
Zabbixバージョン：5.0LTS
OS：CentOS
データベース：MySQL
Webサーバ：Apache

# レポファイルの取得
「a. Install Zabbix repository」にあるrpmコマンドをコピーして実行
例）rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

# キャッシュファイルの削除
dnf clean all
```

## 2. パッケージの取得

```bash
# Apache,php,mysqlの取得
dnf module install httpd php mysql

# Zabbix関連パッケージの取得（Zabbix公式からコピーでもOK）
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-web-japanese
```
- 公式には記載ないですが、zabbix-web-japaneseは日本語化に必須なので入れます

## 3.MySQLの初期設定

```bash
# mysql_secure_installationの実行
mysql_secure_installation

# 以下対話式
Press y|Y for Yes, any other key for No:  ←nを入力

New password: ←DBユーザrootのパスワードを入力

Re-enter new password: ←再度DBユーザrootのパスワードを入力

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y　←yを入力

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y　←yを入力

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y ←yを入力

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y ←yを入力

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y ←yを入力
```

- 初期設定前にパスワード求められたら、/var/log/mysqld.logで一時パスワードを探します
- ただ、上記logに一時パスワードが存在しない場合は、[こちら](https://qiita.com/ky-sato/items/1ab110d9b303877d5e0c)の方法で強制的にrootのパスワードを設定しました（※この方法で設定した場合、設定後に再度mysql_secure_installationを実行）


## 4.Zabbix用データベースとDBユーザの作成

```bash
# Zabbix用のデータベースとDBユーザを作成
mysql -u root -p
Enter password:  ←手順3で決めたDBユーザrootのパスワードを入力

mysql> CREATE DATABASE 任意のデータベース名 character set utf8 collate utf8_bin;

mysql> CREATE USER 任意のユーザー名@localhost IDENTIFIED BY '任意のパスワード';

mysql> GRANT ALL ON 任意のデータベース名.* TO 任意のユーザー名@localhost;

mysql> quit
```
- 「任意の〜」の部分は、自分で考えたデータベース名、ユーザー名、パスワードを記述

## 5.設定ファイルの編集

```bash
# Apacheのphp実行環境の設定ファイル編集
vi /etc/php-fpm.d/zabbix.conf


# タイムゾーン行のコメントアウトを外し、Asia/Tokyoに変更
; php_value[date.timezone] = Europe/Riga
↓
php_value[date.timezone] = Asia/Tokyo


# Zabbix-serverの設定ファイル
vi /etc/zabbix/zabbix_server.conf


# 以下の通り記述
DBUser=手順4で作成したユーザー名
DBPassword=手順4で作成したユーザーに付与したパスワード
DBName=手順4で作成したデータベース名
```

## 6. Zabbix用DBスキーマと初期データをデータベースに流し込み

```bash
#  Zabbix用DBスキーマと初期データをデータベースに流し込み
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u 手順4のユーザ名 -p 手順4のデータベース名


# 手順4で決めたユーザのパスワードを入力
Enter password:
```


## 7.サービスの起動設定

```bash
# サービスの再起動
systemctl restart zabbix-server zabbix-agent httpd php-fpm mysqld

# サービスの自動起動設定
systemctl enable zabbix-server zabbix-agent httpd php-fpm mysqld
```

## 8.WebUIの設定

```bash
# Google Chrome等、ブラウザのURLに以下を入力してアクセス
http://zabbixserverのIP/zabbix

# 項目「Configure DB connection」の設定内容
Database name：手順4で決めたDB名
User：手順4で決めたユーザー名
Password：手順4で決めたパスワード

# 項目「Zabbix server details」の設定内容
特に設定変更せず次へ

# ログイン
Admin, zabbix
```
:::note warn
Admin, zabbixは初期パスワードなので要変更
:::

## 9.日本語化
- ログイン後、左ペインの一番下にある「User settings」を押下
![スクリーンショット 2022-04-10 16.44.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1359780/e6aa20fa-410d-89d7-7c9b-3c5e37ed1342.png)
- Languagesから日本語を選択し、Updateを押下
![スクリーンショット 2022-04-10 16.46.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1359780/1ee1bf5f-b9ca-82b2-5327-18ed9cf1f198.png)