Ubuntu14.04 LTSに環境以降した際のメモ書きを公開します。環境は下記の通り。apt-get で最新版の2.2がインストール可能なので今回は全部apt-getでインストールします。
- Ubuntu Server 14.04 LTS
- nginx(Apacheは使っていない)
- MySQL
パッケージをまとめてインストール
今回、急ぎで構築していたので、sudo su – でrootになって作業しています。
sudo su - echo "UseDNS no" >> /etc/ssh/sshd_config echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf apt-get install sysv-rc-conf sysstat apt-get install zabbix-frontend-php zabbix-agent zabbix-server-mysql zabbix-agent apt-get install nginx php5-fpm php5-cli php5-mysql # nginxを使うので、Apacheは削除する。 apt-get remove apache2 apt-get clean
phpの設定
php.iniのすべてに対して、disable_functionsのコメントアウトと、date.timezoneの設定を行う。
findでphp.iniを検索して、他にも該当ファイルがあればそれらも修正してください。
php.iniのすべてに対して、disable_functionsのコメントアウトと、date.timezoneの設定を行う。
findでphp.iniを検索して、他にも該当ファイルがあればそれらも修正してください。
find /etc/php5 -name php.ini cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bak sed -i 's/disable_functions/;disable_functions/g' /etc/php5/fpm/php.ini sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php5/fpm/php.ini diff /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bak cp /etc/php5/cli/php.ini /etc/php5/cli/php.ini.bak sed -i 's/disable_functions/;disable_functions/g' /etc/php5/cli/php.ini sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php5/cli/php.ini diff /etc/php5/cli/php.ini /etc/php5/cli/php.ini.bak cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php chown www-data:www-data /etc/zabbix/zabbix.conf.php vi /etc/php5/fpm/php.ini
/etc/php5/fpm/php.iniの設定
デフォルトインストール状態だと、zabbixインストール中にパラメータチェックでエラーが出るので、あらかじめ値を修正しておきます。
date.timezone = "Asia/Tokyo"; post_max_size = 16M max_execution_time = 300 max_input_time = 300
nginxの設定
/etc/nginx/sites-available/defaultのserverセクション内に下記を追加。
location /zabbix { if ($scheme ~ ^http:){ rewrite ^(.*)$ https://$host$1 permanent; } alias /usr/share/zabbix; index index.php; error_page 403 404 502 503 504 /zabbix/index.php; location ~ .php$ { if (!-f $request_filename) { return 404; } expires epoch; include /etc/nginx/fastcgi_params; fastcgi_index index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; } location ~ .(jpg|jpeg|gif|png|ico)$ { access_log off; expires 33d; } }
nginxを再起動
service nginx restart
DBの設定
export ZABBIX_DB_PASS=`openssl rand -hex 10` export MYSQL_ROOT_PASS=mysqlpass sed -i "s/^# DBPassword=/DBPassword=$ZABBIX_DB_PASS/g" /etc/zabbix/zabbix_server.conf # zabbix用のDB作成と権限付与 mysql -uroot -p$MYSQL_ROOT_PASS -e "drop database if exists zabbix;" mysql -uroot -p$MYSQL_ROOT_PASS -e "CREATE DATABASE zabbix character set utf8;" mysql -uroot -p$MYSQL_ROOT_PASS -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '$ZABBIX_DB_PASS'" mysql -uroot -p$MYSQL_ROOT_PASS -e "flush privileges" # 接続確認(接続出来たらquitで抜ける) mysql -uzabbix -p$ZABBIX_DB_PASS zabbix cd /usr/share/zabbix-server-mysql/ sudo gunzip *.gz mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < schema.sql mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < images.sql mysql -uzabbix -p$ZABBIX_DB_PASS zabbix < data.sql
サービスの登録
service zabbix-server start sysv-rc-conf --level 35 zabbix-server on sysv-rc-conf --level 35 zabbix-agent on sed -i "s/START=no/START=yes/g" /etc/default/zabbix-server reboot
ここまで来たら、http://zabbix-host-ip/zabbix にアクセスして設定をします。
nextで次へ。
上記画面でチェックに引っかかった場合には、/etc/php5/fpm/php.iniが該当ファイルなので、怒られたパラメータを修正。
/etc/zabbix/zabbix_server.confの中で指定したユーザー名、パスワードを入れる。念の為、Passwordには、インストール中に設定した$ZABBIX_DB_PASSが入る。
Nameにはホスト名かIPアドレスを入れる。
設定に間違いが無ければ次へ。この画面でDB接続エラーが出てどうしようもなくなった場合には、/etc/zabbix/zabbix.conf.phpを直接編集してしまえばOK(バッドノウハウ)。
ログイン画面が出てきたら、admin/zabbixでログインできます。一応、