Zabbix3.4をCentos7にローカルリポジトリでインストール

#【背景】

　　客先サーバ室内など、インターネットアクセスが不可能な環境でZabbixをインストールしたい。
　　他のエントリにもあるものの、ところどころはまったのでまとめ。

#【環境】

　　今回検証したのは以下の環境。Centos6とかだと同様にはいかないかも。

　　　● OS：Centos7
　　　● DB：Postgresql 9.6
　　　● Zabbix：Ver3.4
　　　● ユーザ：zabbix
　　　● repoフォルダ：/home/zabbix/repo

#【手順（インターネット接続環境）】

　　おおまかな手順は以下の通り。

##リポジトリフォルダの作成

```
$mkdir /home/zabbix/repo
```


##リポジトリの追加

　　→zabbix,postgreSqlのリポジトリを以下の手順で追加

```
$sudo rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
$sudo yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
```

##rpmの入手
　　→インターネットアクセス可能な環境にて、必要なrpmを入手
　　　
　　配布元からrpmを直接wgetしてもよさそうだが、依存性を満たしたいので

```
$sudo yum install [パッケージ名] --downloadonly --downloaddir=[ダウンロード先]
```

　　とし、本体＋依存関係を満たすパッケージをDL。

　　今回は[ダウンロード先]を./repoとしたので、例えばcreaterepoをDLする際は

```
$sudo yum install createrepo --downloadonly --downloaddir=repo
```

　　とした。今回入手したrpmは以下の通り。

　　● createrepo
　　● postgresql96-server
　　● postgresql96-contrib
　　● zabbix-server-pgsql
　　● zabbix-web-pgsql
　　● zabbix-agent


#【手順（インターネット非接続環境）】

##リポジトリのローカル化

####インターネット接続環境からrepoフォルダをコピー

　　→scp [コピー元] [コピー先]　なり　ファイル転送ソフトなりで…

　　今回はコピー元環境で

```
$sudo tar cvzf repo.tar.gz repo
```
　　↓ファイル転送ソフトでコピー先へ…

```
$sudo tar xvzf repo.tar.gz
```

　　とした。

####デフォルトのyumリポジトリの無効化

　　→デフォルトでインターネット上のリポジトリを見に行くため、これを無効化する。

```
$sudo mv /etc/yum.repos.d/CentOS-Base.repo{*,_bak}
```

####ローカルリポジトリの所在や表示名称を指定

```/etc/yum.repos.d/MyRepo.repo
$sudo nano /etc/yum.repos.d/MyRepo.repo

[local-myrepository]
name=My repository
baseurl=file:///home/zabbix/repo
gpgcheck=0
enabled=1
```

####createrepoのインストール

```
$sudo rpm -i repo/createrepo_c-libs-0.9.0-1.el7.centos.x86_64.rpm
$sudo rpm -i repo/createrepo_c-0.9.0-1.el7.centos.x86_64.rpm 
```

####createrepoを使用してローカルリポジトリを作成
```
$sudo yum clean all
$sudo rm -rf /var/cache/yum/
$createrepo --simple-md-filenames repo ←これやらないと更新されない？
$sudo yum list
```


##PostgreSqlのインストールと初期処理

　　[こちら](https://qiita.com/uhooi/items/44ed9370740c7521dce4)を参照し、インストール
　　※postgresユーザのパスワード設定まで

####インストールと初期化

```
$sudo yum install -y postgresql96-server postgresql96-contrib
$sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
```

####起動と自動起動化
```
$sudo systemctl start postgresql-9.6.service
$sudo systemctl enable postgresql-9.6.service
```
####postgresユーザの設定
```
$sudo passwd postgres
　ユーザー postgres のパスワードを変更。
　新しいパスワード:
　新しいパスワードを再入力してください:
　passwd: すべての認証トークンが正しく更新できました。

```

####DBへの接続設定
```/var/lib/pgsql/9.6/data/pg_hba.conf

$sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

# "local" is for Unix domain socket connections only
#local   all             all                                     peer
local   all             all                                     trust
# IPv4 local connections:
#host    all             all             127.0.0.1/32            ident
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
#host    all             all             ::1/128                 ident
host    all             all             ::1/128                 trust
```

```/var/lib/pgsql/9.6/data/postgresql.conf

$sudo nano /var/lib/pgsql/9.6/data/postgresql.conf

#listen_addresses = 'localhost'		# what IP address(es) to listen on;
listen_addresses = '*'			# what IP address(es) to listen on;

#port = 5432                             # (change requires restart)
port = 5432                             # (change requires restart)

```


##zabbixのインストールと初期設定
####インストール
```
$sudo yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent -y
```

####ユーザとDBの作成
```
$sudo -u postgres createuser --pwprompt zabbix
$sudo -u postgres createdb -O zabbix zabbix
```

####zabbixの初期DBを構築
```
$zcat /usr/share/doc/zabbix-server-pgsql-3.4.14/create.sql.gz | sudo -u zabbix psql zabbix
```

####zabbixサーバの設定

[こちら](https://qiita.com/brighton0725/items/e976927a30a92464fdfd)を参考に以下の設定を変更

```/etc/zabbix/zabbix_server.conf

$sudo nano /etc/zabbix/zabbix_server.conf

DBHost=　　　　　　　　　　　　←デフォルトはlocalhostなので、コメント解除＆empty化
DBName=zabbix
DBUser=zabbix
DBPassword=<username_password>
DBPort=5432　　　　　　　　　　←デフォルトは3306なので、コメント解除＆5432に変更
```

```/etc/httpd/conf.d/zabbix.conf

$sudo nano /etc/httpd/conf.d/zabbix.conf

#php_value date.timezone Europe/Riga
php_value date.timezone Asia/Tokyo
```

####firewallを無効に

　　[こちら](https://qiita.com/kenjjiijjii/items/1057af2dddc34022b09e)を参考にfirewallを設定（今回は無効化した）

```
$sudo systemctl stop firewalld
$sudo systemctl disable firewalld
```

####SELinuxを無効に
　　[こちら](https://qiita.com/hanaita0102/items/5d3675e4dc1530b255ba)を参考にSELinuxを設定（今回は無効化した）

```/etc/selinux/config
$sudo nano /etc/selinux/config

#$SELINUX=enforcing
$SELINUX=disabled
```

####起動と自動起動化
```
$sudo systemctl restart zabbix-server zabbix-agent httpd
$sudo systemctl enable zabbix-server zabbix-agent httpd
```

##Zabbixの初期設定

　　→ブラウザにて「http://[サーバのIP]/zabbix」にアクセス、初期インストールを行う

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/096d1ff3-ec40-c279-0fd0-3a5e6e8b4637.png)

　　「Next step」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/6abd7682-ec67-b03f-4d09-e150e19fb1db.png)

　　「Next step」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/6583312c-dd3b-ffbb-3af5-eff2a4c7401a.png)

　　Database port：5432
　　Password：[前項「zabbixサーバの設定」で指定したパスワード]

　　を入力し「Next step」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/9525412c-0755-7699-c3d5-d0b09141525a.png)

  「Next step」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/bf22c6f0-da3c-3cf5-137c-33a95c91993b.png)

　「Next setp」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/20cab914-e990-d9fe-58ae-a420ccf58a49.png)

　「Finish」を押下

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/c87f1373-27f8-7ada-aa10-cc0b5a109b80.png)

　　Username：Admin
　　Password：zabbix

　　にてログインできることを確認

![image.png](https://qiita-image-store.s3.amazonaws.com/0/268701/443e0cd5-5323-df50-a2b4-cbb53b35f80a.png)

#【まとめ】

　　ローカルインストールは上記にて終了。
　　長くなったので、その後の設定は別エントリにて。