先日業務でCentOS7にNginx+PHP5.6+MariaDB環境でZabbix3.4をインストールしました。
意外とNginx+PHP5.6+MariaDBの組み合わせでZabbix3.4サーバを構築された記事が見当たらなかったので、記事にしました。
作業しながらざっと書いたので抜け漏れ等を発見された場合はコメントにてご指摘頂けますと幸いです。
準備
epel及びremiのインストール
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Nginxインストール・設定
リポジトリ設定
sudo vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
インストール
sudo yum -y --enablerepo=nginx install nginx
デフォルトの設定ファイルのリネーム
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
Zabbix用設定ファイル作成
sudo vi /etc/nginx/conf.d/zabbix.conf server { listen 80; server_name 任意の名前ドメイン名; access_log /var/log/nginx/zabbix_access.log main; error_log /var/log/nginx/zabbix_error.log warn; root /usr/share/zabbix; index index.html index.php; location ~ \.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
PHPインストール・設定
必要なPHPのパッケージをインストール
sudo yum -y install --enablerepo=remi php56 php56-php-devel php56-php-mbstring php56-php-pdo php56-php-fpm php56-php-mysqlnd php56-php-bcmath php56-php-gd
remiのデフォルトインストールディレクトリは長いのでシンボリックリンク作成
sudo ln -s /opt/remi/php56/root/etc/php.ini /etc/ sudo ln -s /opt/remi/php56/root/etc/php.d /etc/ sudo ln -s /opt/remi/php56/root/etc/php-fpm.conf /etc/ sudo ln -s /opt/remi/php56/root/etc/php-fpm.d /etc/
php.iniをZabbix用に設定
sudo vi /etc/php.ini ;date.timezone = ↓ date.timezone = "Asia/Tokyo" max_execution_time = 30 ↓ max_execution_time = 300 max_input_time = 60 ↓ max_input_time = 300 post_max_size = 8M ↓ post_max_size = 32M ;always_populate_raw_post_data = -1 ↓ always_populate_raw_post_data = -1
php-fpmの設定を編集
sudo vi /etc/php-fpm.d/www.conf user = apache ↓ user = nginx group = apache ↓ group = nginx
セッションのパーミッション修正
sudo chown -R nginx.nginx /opt/remi/php56/root/var/lib/php/session/
MariaDBのインストール・設定
インストール済パッケージの確認
sudo yum list installed |grep mariadb mariadb-libs.x86_64 1:5.5.56-2.el7 @anaconda
今回は10系を入れる為、インストール済のパッケージを削除する
sudo yum -y remove mariadb-libs
リポジトリのインストール
sudo curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash [info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo. [info] Adding trusted package signing keys... [info] Succeessfully added trusted package signing keys.
最新版のインストール
sudo yum -y install MariaDB-server MariaDB-client
MariaDBの起動
systemctl start mariadb.service
自動起動設定
sudo systemctl enable mariadb.service
初期設定
sudo mysql_secure_installation rootパスワード設定 Enter current password for root (enter for none):空エンター OK, successfully used password, moving on... set root password? [Y/n] y New password:任意のパスワード 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
設定ファイル
sudo vi /etc/my.cnf.d/server.cnf [mysqld] log_error="/var/log/mysql/mysqld.log" character-set-server=utf8
ログ保存場所の作成
sudo mkdir /var/log/mysql sudo chmod 755 /var/log/mysql
MariaDBの再起動
sudo systemctl restart mariadb.service
Zabbixのインストール・設定
リポジトリのインストール
sudo rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
Zabbixのインストール
sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
DB周りの設定
mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '★zabbix用パスワード'; mysql> quit; zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix Enter password:★zabbix用パスワードを入力
設定ファイル
sudo vi /etc/zabbix/zabbix_server.conf DBPassword=★zabbix用パスワード
Zabbix起動
sudo systemctl start zabbix-server
自動起動設定
sudo systemctl enable zabbix-server
zabbixのWEBルート権限変更
sudo chown -R nginx. /etc/zabbix/web
Nginx・php-fpm起動
sudo systemctl start nginx php56-php-fpm
Nginx・php-fpm自動起動設定
sudo systemctl enable nginx php56-php-fpm
ここまで完了したら「http://任意の名前ドメイン名/」にアクセスして画面の通りZabbixのWEBインストールを進めていく
以上で完了です。