原点回帰!IT業界に蔓延る技術力0の元ダメPMのブログ

原点回帰で技術力をつけたい技術力0の元ダメPMです。技術力がないとやっていけないフリーランスエンジニアの世界に背水の陣で飛び込みました。本ブログでは技術の話だけでなく起業の事とかお金の事とかなんでも備忘録的に綴って行きます。

Zabbix3.4サーバの構築(CentOS7+Nginx+MariaDB+PHP)

先日業務で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インストールを進めていく

以上で完了です。