Zabbixを構築したときにPHPでハマった話。

おはようございます。

今日はこの間自宅Zabbixを構築している最中にハマった事をまとめようと思います。

なので今回はZabbixの構築中に手順を間違えてしまいいろいろな問題が発生した時のお話になります。

構築に参考にさせていただいたサイトは最後にまとめさせて頂きます。

環境構築

私は普段からArchLinuxなどのOSを使用しているのですが、今回はCentOS7を使用します。

今回は自宅の仮想化基板になっているProxmoxVMの上に仮想インスタンスを構築し、CentOSをインストールしてサーバーとして使用します。

OSインストールはおそらく解説の必要がないと思いますので、私は `Minimal` でインストールしたという事だけ伝えておけば十分かと思います。

今回は

    1. CentOS 7 Minimal

 

  1. Zabbix 4.0
  2. PHP 7.2
  3. MySQL 8.0.16

という環境です

Zabbixのインストール

まずはリポジトリの追加をします。

epelのリポジトリは追加が楽でいいですね

# yum -y install epel-release
# yum -y update
次にZabbixのリポジトリを追加します
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
次に、PHP7.2を使うためにRemiリポジトリを追加します
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
次、MySQL8.0のリポジトリ。
# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
リポジトリの追加が完了したら、キャッシュのクリアをしましょう。
# yum clean all

Zabbixに必要なミドルウェアをインストールしていきます。

ここで気をつけなければならない事が有ります。

CentOS7には標準でPHP5が入っています。

PHP5をアンインストールしないとPHP7が使用出来ません。

# yum remove php*

容赦のない方法でデフォルトで入っているphpをアンインストールします

PHP5のアンインストールが完了したら自愛の心で元々入っていたPHP関連のパッケージを入れ直します。

# yum install –enablerepo=remi –enablerepo=remi-php73 php php-cli php-pdo php-common php-mysql php-bcmath php-xml php-gd php-mbstring php-ldap

PHP関連のパッケージがインストールされたらApacheとMySQLをインストールしましょう。

# yum -y install mysql-community-devel mysql-community-server httpd

最後にZabbixをインストールします

# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-web-japanese zabbix-agent zabbix-get


蛇足になりますが、私はPHP5のアンインストールをやらずに構築を進めてしまいました。

Zabbixの構築が完了したタイミングでZabbixがPHP5を使用している事に気が付き慌ててアンインストールしたのですが、zabbix-webがPHP5と一緒にアンインストールされてしまいますので気をつけてください


 

インストールしたミドルウェアの設定

まずapacheの設定をします。

# echo"ServerTokens Prod” >> /etc/httpd/conf/httpd.conf
# echo "KeepAlive On">> /etc/httpd/conf/httpd.conf
次に、Zabbix用のapacheの設定ファイルも変更します

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

<IfModule mod_php5.c>

+<IfModule mod_php7.c>

-# php_value date.timezone Europe/Riga

+php_value date.timezone Asia/Tokyo

次に、MySQLの設定をします。

MySQL8.0から認証の方式が変更になりましたが、Zabbixが対応していないようなので、古い方式の認証に変更します。

/etc/my.cfg

-#default-authentication-plugin=mysql_native_password
+default-authentication-plugin=mysql_native_password

認証方式を変更したら、MySQLを起動します

# systemctl start mysqld

起動をすると、MySQLにログインする為のデフォルトパスワードが/var/log/mysqld.logに記載されていますので、確認してログインします。

初期パスワードのままではアレなのでパスワードを変更します。

パスワードポリシーは半角の大文字小文字数字と記号の4種類を8文字以上です。予め決めておきましょう。

# mysql_secure_installation –use-default

次に、Zabbixが使用するデータベースを作成します。

# mysql -u root -p
Enter password:

mysql> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
mysql> CREATE USER zabbix@localhost IDENTIFIED BY P@ssw0rd;
mysql> GRANT ALL ON zabbix.* TO zabbix@localhost;
mysql> quit
Bye

P@ssw0rdがパスワードになります

あとはスクリプトにやらせてしまいましょう。

初期スキーマなどを生成するスクリプトが標準で用意されています。

# cd /usr/share/doc/zabbix-server-mysql-4*/
# gzip -dc create.sql.gz | mysql -u zabbix -p zabbix

最後にZabbixの設定ファイルにMySQLのログインパスワードを記載します。

/etc/zabbix/zabbix_server.conf

-# DBPassword=
+DBPassword=P@ssw0rd

ではZabbixを起動しましょう、ついでにApacheも

# systemctl start zabbix-server zabbix-agent httpd

起動したら必要なサービスの自動起動設定をします

# systemctl enable httpd
# systemctl enable mysqld
# systemctl enable zabbix-server
# systemctl enable zabbix-agent

WEBページにアクセス!

http://ZabbixのIP/zabbix

 

時間が無いので最後の方は駆け足になりましたが、近い内に再編集します

 


参考にしたサイト

https://www.zabbix.com/jp/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql

https://beyondjapan.com/blog/2019/03/centos7-zabbix40-install/

https://qiita.com/longunder/items/26ae871558e78b64c2f0

 


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です