CentOSにZabbix 1.8.8をソースコードからビルドする。

CentOSにZabbixをインストールします。この記事ではhttpdphpソースコードからビルドします。

1.ソフトウェアのバージョン
 CentOS 5.5 x86_64
 Zabbix : 1.8.8
 MySQL : 5.5.8
 Apache : 2.2.17
 php : 5.3.4
 libpng : 1.5.5
 libjpeg : 8c
 net-snmp:5.7.1

2.作業の前提条件
 (1) rootユーザで作業します。
 (2) ソースはダウンロードして、/usr/local/srcに配置されているものとします。
 (3) MySQLはすでにインストールしてあるものとします。
   MySQLのインストール手順はhttp://d.hatena.ne.jp/pgmgonta/20110308/1299593213を参照してください。

3.httpdのインストール
(1)apacheユーザの追加

groupadd apache
useradd -g apache apache

(2) ディレクトリの作成

mkdir /usr/local/httpd

(3) httpdのビルド

cd /usr/local/src
tar -zxvf httpd-2.2.17.tar.gz
cd httpd-2.2.17
./configure --enable-so --prefix=/usr/local/httpd/
make && make install

(4) ディレクトリのアクセス権変更

chown -R apache:apache /usr/local/httpd/

(5) 起動
以下のコマンドを実行してから、「http://サーバのIPアドレス」へ接続してください。HTTPレスポンスが帰ってくれば成功です。

/usr/local/httpd/bin/apachectl start

4.phpのインストール
(1) 依存するライブラリをmakeします。
libjpegをmakeします。

cd /usr/local/src
tar -zxvf jpegsrc.v8c.tar.gz
cd jpeg-8c/
./configure
make && make install

libpngをmakeします。

cd /usr/local/src
tar -zxvf libpng-1.5.5.tar.gz
cd libpng-1.5.5
./configure
make && make install

(2) phpのビルド
phpをビルドします。Zabbixを動かすために必要なconfigureオプションを指定します。

cd /usr/local/src
tar -zxvf php-5.3.4.tar.gz
cd php-5.3.4
./configure --with-mysql=/usr/local/mysql/ --enable-zip --enable-mbstring --enable-bcmath --with-gd --with-apxs2=/usr/local/httpd/bin/apxs --enable-sockets
make && make install

5.Zabbixのインストール
(1)zabbixユーザの追加

groupadd zabbix
useradd -g zabbix zabbix

(2) net-snmpのビルド

cd /usr/local/src
tar -zxvf net-snmp-5.7.1.tar.gz
cd net-snmp-5.7.1
./configure 
ここではコンソールに値を入力しながらインストールします。デフォルト値で特に問題はありません。
make && make install

(3) Zabbixのビルド

tar -zxvf zabbix-1.8.8.tar.gz
cd zabbix-1.8.8
./configure --enable-server --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
make && make install

(4) Zabbixの設定ファイルの配置

mkdir /etc/zabbix
cp misc/conf/zabbix_server.conf /etc/zabbix/

(5) Zabbixの自動起動の設定

cd /usr/local/src/zabbix-1.8.8
cp misc/init.d/redhat/8.0/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
chkconfig --add zabbix_server
chkconfig zabbix_server on

/etc/init.d/zabbix_serverの内容を書き換えます。

#progdir="/usr/local/zabbix/bin/"
progdir="/usr/local/sbin/"

(6) php.iniの変更
php.iniは/usr/local/libに配置します。

cd /usr/local/src/php-5.3.4
cp php.ini-development /usr/local/lib/php.ini

php.iniを編集します。

diff php.ini-development /usr/local/lib/php.ini
440c440
< max_execution_time = 30
---
> max_execution_time = 600
450c450
< max_input_time = 60
---
> max_input_time = 600
458c458
< memory_limit = 128M
---
> memory_limit = 256M
728c728
< post_max_size = 8M
---
> post_max_size = 32M
879c879
< upload_max_filesize = 2M
---
> upload_max_filesize = 16M
993c993
< ;date.timezone =
---
> date.timezone = Asia/Tokyo

6.Zabbixの起動
Zabbixを起動させるために、net-snmpmysql-clientのライブラリを参照できるようにします。

vi /etc/ld.so.conf.d/net-snmp.conf

/etc/ld.so.conf.d/net-snmp.confの内容

/usr/local/lib
vi /etc/ld.so.conf.d/net-snmp.conf

/etc/ld.so.conf.d/mysql.confの内容

/usr/local/mysql/lib

Zabbixを起動します。

service zabbix_server start

7.WEBインタフェースの設定
(1)プログラムの配置
phpのプログラムを配置します。

mkdir /usr/local/httpd/htdocs/zabbix
cd /usr/local/src/zabbix-1.8.8
cp -Rp frontends/php/* /usr/local/httpd/htdocs/zabbix/

(2)MySQLの設定
MySQLにテーブルを作成して、データを登録します。

/usr/local/mysql/bin/mysql -u root
> create database zabbix;
> grant all on zabbix.* to zabbix@localhost identified by "PASSWD";
> flush privileges;
> exit

cd /usr/local/src/zabbix-1.8.8
/usr/local/mysql/bin/mysql -u zabbix -D zabbix -p < create/schema/mysql.sql 
/usr/local/mysql/bin/mysql -u zabbix -D zabbix -p < create/data/data.sql 
/usr/local/mysql/bin/mysql -u zabbix -D zabbix -p < create/data/images_mysql.sql

(3)Apacheの起動

/usr/local/httpd/bin/apachectl start

以下のページへアクセスしてセットアップしてください。
http://ZABBIXサーバのIPアドレス/zabbix/index.php

作業は以上です。