Zabbix入門 HelloWorld　～インストール編～

#Zabbixインストール
##各種バージョン

|ソフトウェア       |バージョン        |
|:---------------:|:---------------:|
|CentOS           |6.4              |
|MySQL            |5.6.14           |
|Apache           |2.2.25           |
|php              |5.5.5            |
|zabbix           |2.2.0            |

#１．MySQLインストール
必要ファイル：MySQL-5.6.14-1.linux_glibc2.5.x86_64.rpm-bundle.tar

>TAR解凍

tarを格納したディレクトリで以下のコマンドを実行

```
tar xvf MySQL-5.6.14-1.linux_glibc2.5.x86_64.rpm-bundle.tar
```

>必要ライブラリインストール

※リポジトリをCDに見せるためCDをマウントしておくこと

```
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
```

```
yum install libaio libaio-devel --disablerepo=\* --enablerepo=c6-media
```

>RPMパッケージインストール

```
yum localinstall MySQL-shared-compat-5.6.14-1.linux_glibc2.5.x86_64.rpm --disablerepo=\*
yum localinstall MySQL-server-5.6.14-1.linux_glibc2.5.x86_64.rpm --disablerepo=\*
yum localinstall MySQL-client-5.6.14-1.linux_glibc2.5.x86_64.rpm --disablerepo=\*
yum localinstall MySQL-shared-5.6.14-1.linux_glibc2.5.x86_64.rpm --disablerepo=\*
yum localinstall MySQL-devel-5.6.14-1.linux_glibc2.5.x86_64.rpm --disablerepo=\*
```

>オプション設定

my.cnfのシンボリックリンク作成

```
ln -s /usr/my.cnf /etc/my.cnf
```

my.cnfの編集

```lang:/usr/my.cnf
以下の内容を追加。
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
```

>MySQL起動

```
service mysql start
```

>MySQL初期化

※rootのデフォルトパスワードは cat ~/.mysql_secret にて確認

```
mysql_secure_installation
```

>zabbix用データベース作成

MySQLログイン

```
mysql -u root -p
```

zabbix用データベース作成

```
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'XXXXXX';
quit
```

#２．Apacheインストール
必要ファイル：httpd-2.2.25.tar.gz

>TAR解凍

tarを格納したディレクトリで以下のコマンドを実行

```
tar zxvf httpd-2.2.25.tar.gz
```

>必要ライブラリインストール

```
yum install openldap-devel zlib-devel openssl-devel --disablerepo=\* --enablerepo=c6-media
```

>コンパイル＆インストール

```
./configure --prefix=/usr/local/apache2.2.25 --with-ldap --with-included-apr --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache"
make
make install
```

>設定＆サービス化

起動フォルダへシンボリックリンク作成

```
ln -s /usr/local/apache2.2.25 /usr/local/apache2
```

サービス化（起動シェル移動＆権限追加）

```
install -m755 build/rpm/httpd.init /etc/rc.d/init.d/httpd
```

起動シェル編集

```lang:/etc/rc.d/init.d/httpd
httpd=${HTTPD-/usr/sbin/httpd}
　→ httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/var/log/httpd/${prog}.pid}
　→ pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}
CONFFILE=/etc/httpd/conf/httpd.conf
　→ CONFFILE=/usr/local/apache2/conf/httpd.conf
```

httpd.conf編集

```lang:/usr/local/apache2/conf/httpd.conf
ServerName ホスト名
```

サービス追加＆起動設定

```
chkconfig --add httpd
chkconfig httpd on
```

サービス起動確認

```
chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
```

httpd起動

```
service httpd start
```

#３．phpインストール

>TAR解凍

tarを格納したディレクトリで以下のコマンドを実行

```
tar zxvf php-5.5.5.tar.gz
```

>解凍フォルダへ移動

```
cd php-5.5.5
```

>必要ライブラリインストール

```
yum install libxml2-devel libpng-devel libjpeg-devel freetype-devel --disablerepo=\* --enablerepo=c6-media
```

>コンパイル＆インストール

```
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-libdir=lib64 --enable-zip --enable-mbstring --enable-bcmath --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib --with-gd  --enable-sockets --with-gettext --with-mysql
make
make test
make install
```

>Apache設定

```lang:/usr/local/apache2/conf/mime.types
application/x-httpd-php    php
```

>Apache再起動

```
service httpd restart
```

#４．zabbixインストール

>zabbixグループ、ユーザ登録

```
groupadd zabbix
useradd -g zabbix -s /usr/sbin/nologin zabbix
```

>TAR解凍

```
tar zvxf zabbix-2.0.9.tar.gz
```

>MySQLの初期設定

```
mysql -uzabbix -p zabbix < database/mysql/schema.sql
mysql -uzabbix -p zabbix < database/mysql/images.sql
mysql -uzabbix -p zabbix < database/mysql/data.sql
```

>必要ライブラリインストール

```
yum install curl-devel net-snmp net-snmp-devel net-snmp-utils --disablerepo=\* --enablerepo=c6-media
yum install OpenIPMI OpenIPMI-libs OpenIPMI-tools ncurses-devel unixODBC-devel --disablerepo=\* --enablerepo=c6-media
```

```
yum install OpenIPMI-devel libssh2-devel --disablerepo=\* --enablerepo=c6-media
```

>コンパイル＆インストール

```
./configure --enable-server --enable-agent --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2 --with-openipmi --with-ldap --with-unixodbc
make
make install
```

>設定＆サービス化
zabbix_server.conf編集

```lang:/usr/local/etc/zabbix_server.conf
DBUser=zabbix
DBPassword=XXXXXX
DBSocket=/var/lib/mysql/mysql.sock
```

>Zabbixサーバサービス化＆起動

```
cp -p misc/init.d/fedora/core5/zabbix_server /etc/init.d/
chkconfig --add zabbix_server
chkconfig zabbix_server on
service zabbix_server start
```

>Zabbixサーバサービス確認

```
chkconfig --list zabbix_server
zabbix_server   0:off   1:off   2:on    3:on    4:on    5:on    6:off
```

>Zabbixエージェントサービス化＆起動

```
cp -p misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
service zabbix_agentd start
```

>Zabbixエージェントサービス確認

```
chkconfig --list zabbix_agentd
zabbix_agentd   0:off   1:off   2:on    3:on    4:on    5:on    6:off
```

>Apache連携

```
mkdir /usr/local/apache2/htdocs/zabbix
cd frontends/php/
cp -a . /usr/local/apache2/htdocs/zabbix
cd ../..
```

```lang:/usr/local/apache2.2.25/conf/httpd.conf
<Directory "/usr/local/apache2.2.25/htdocs/zabbix">
    Options -Indexes
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    DirectoryIndex index.html index.php

    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value date.timezone Asia/Tokyo
</Directory>
```

>グラフフォント変更

```
ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/local/apache2.2.25/htdocs/zabbix/fonts/ipagp.ttf
```

```lang:/usr/local/apache2/htdocs/zabbix/include/defines.inc.php

//define('ZBX_GRAPH_FONT_NAME',         'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME',           'ipagp'); // font file name
```

ローカルPCから、ブラウザでアクセス(http://xxx.xxx.xxx.xxx/zabbix/index.php )、ZABBIX設定
　
以上。