カテゴリー : CentOS 6

Zabbix 1.8 を 2.2 へアップグレードする方法

CentOS 6 にインストールした Zabbix1.8 を2.2へアップグレードする方法は以下の通り。

1. Zabbixの停止

# /etc/init.d/zabbix-server stop
# /etc/init.d/zabbix-agent stop

2. 復旧用のバックアップを取得

# mkdir /root/backup
# mysqldump -uroot -ppassword zabbix > /root/backup/zabbix_dump.db
# cp -p /etc/zabbix/zabbix*.conf /root/backup/

3. 旧リポジトリの削除

# rpm -e zabbix-jp-release

4. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.2-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/

# wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

5. Zabbixのアップグレード

# rpm -i zabbix-release-2.2-1.el6.noarch.rpm
# yum -y update zabbix

6. データベースのアップグレード
(例) MySQL アカウント: root 、 パスワード: password の場合

# cd /usr/share/doc/zabbix-server-mysql-2.2.1/upgrades/dbpatches/2.0/mysql/
# ./upgrade zabbix -uroot -ppassword

7. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

8. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

9. Apacheの再起動

# /etc/init.d/httpd restart

10. Zabbixの起動

# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start

環境:
CentOS 6.5 (x86_64)
Zabbix-2.2.1

Zabbix 1.8 を 2.0 へアップグレードする方法

CentOS 6 にインストールした Zabbix1.8 を2.0へアップグレードする方法は以下の通り。

1. Zabbixの停止

# /etc/init.d/zabbix-server stop
# /etc/init.d/zabbix-agent stop

2. 復旧用のバックアップを取得

# mkdir /root/backup
# mysqldump -uroot -ppassword zabbix > /root/backup/zabbix_dump.db
# cp -p /etc/zabbix/zabbix*.conf /root/backup/

3. 旧リポジトリの削除

# rpm -e zabbix-jp-release

4. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.0-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/

# wget http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm

5. Zabbixのアップグレード

# rpm -i zabbix-release-2.0-1.el6.noarch.rpm
# yum -y update zabbix

6. データベースのアップグレード
(例) MySQL アカウント: root 、 パスワード: password の場合

# cd /usr/share/doc/zabbix-server-mysql-2.0.10/upgrades/dbpatches/2.0/mysql/
# ./upgrade zabbix -uroot -ppassword

7. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

8. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

9. Apacheの再起動

# /etc/init.d/httpd restart

10. Zabbixの起動

# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start

環境:
CentOS 6.5 (x86_64)
Zabbix-2.0.10

CentOS 6 に Zabbix 2.2 をインストールする方法

CentOS 6 に Zabbix をインストールする方法は以下の通り。

1. SELinux(/etc/selinuc/config)をpermissiveまたは、disabledに設定

#SELINUX=enforcing
SELINUX=permissive
# setenforce 0

2. 必要なパッケージをインストール

# yum -y install httpd mysql-server php php-mysql

3. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.2-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/

4. Zabbix のインストール

# wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
# rpm -ivh zabbix-release-2.2-1.el6.noarch.rpm
# yum -y install zabbix-server zabbix-web

5. /etc/my.cnf の編集 (デフォルト文字コードを UTF-8 に変更する場合)

[mysqld]
default-character-set=utf8

6. MySQL の起動

# service mysqld start

7. DB と DBユーザーの作成

# mysqladmin password password -u root
# mysql -ppassword
mysql> CREATE DATABASE zabbix;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit

手順4をスキップし、作成するDBのみ文字コードをUTF-8に変更する場合は次の通りです。
文字コードが latin1 のままだと Windows イベントログを取得した際に文字化けした。

mysql> CREATE DATABASE zabbix CHARACTER SET utf8;

8. スキーマの拡張

# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/schema.sql
# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/images.sql
# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/data.sql

9. /etc/zabbix/zabbix_server.conf の編集

#DBUser=root
DBUser=zabbix

# DBPassword=
DBPassword=password

10. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

11. Zabbix の起動

# service zabbix-server start

12. /etc/httpd/conf/httpd.conf の編集

CentOS 6 に Apache をインストールする方法 の項目2 を参照

13. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

14. Apache の起動

# service httpd start

15. MySQL, Apache, Zabbix の起動設定

# chkconfig mysqld on
# chkconfig httpd on
# chkconfig zabbix-server on

16. /etc/sysconfig/iptables の編集

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -p udp --dport 162 -j ACCEPT

17. iptables の再起動

# service iptables restart

18. ブラウザから次のURLへアクセス

http://<IPアドレス>/zabbix/

19. Zabbix の設定

(1) Welcome to Zabbix 2.2

「Next」を押して次へ

(2) Check of pre-requisites

すべて OK になっていることを確認し「Next」を押して次へ

(3) Configure DB connection

Type: MySQL
Host: localhost
Port: 0
Name: zabbix
User: zabbix
Password: password
上記を入力し、「Test connection」を押し OK になったら「Next」を押して次へ

(4) Zabbix server details

Host: localhost
Port: 10051
Name:
上記を確認し、「Next」を押して次へ

(5) Pre-Installation summary

Database type: MySQL
Database server: localhost
Database port: default
Database name: zabbix
Database user: zabbix
Database password: ********
Zabbix server: localhost
Zabbix server port: 10051
Zabbix server name:
上記を確認し、「Next」を押して次へ

(6)Install

「Finish」を押して完了
アカウント: admin
パスワード: zabbix

ログイン後、右上の「Profile」をクリック、「Language」から「Japanese(Ja_JP)」を選択すると、日本語メニューにできます。

環境:
CentOS 6.5 (x86_64)
Zabbix-2.2.1

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法は以下の通り。

/etc/sysctl.conf を修正

net.ipv4.conf.default.rp_filter = 0

これが有効( = 1 )になっていると、Linuxルーターを複数台使ってルーティングさせる場合
経由するLinuxルーターのルーティングテーブルとは逆方向だとみなされるパケットが破棄されてしまう。

例えば、経由するLinuxルーターが保持しないネットワークを送信元としたパケットが
デフォルトルート側から転送されてきた場合に、パケットが破棄されてしまう。

環境:
CentOS 6.3 (x86_64)

CentOS 6 に Monit をインストールする方法 (source)

CentOS 6 に Monit をインストールする方法は以下の通り。

1. 必要なパッケージをインストール

# yum -y install openssl-devel pam-devel

gccやmakeがインストールされていない場合はこれもインストール。

# yum -y install gcc make

2. 一般ユーザーでログイン

3. ソースのダウンロード・インストール

$ wget http://mmonit.com/monit/dist/monit-5.4.tar.gz
$ tar zxvf monit-5.4.tar.gz
$ cd monit-5.4
$ ./configure
$ make
$ su
# make install

4. 設定ファイルの準備

# chown root. monitrc
# chmod 0700 monitrc
# cp -p monitrc /etc/monitrc

5. 起動ファイルの準備

# chmod +x contrib/rc.monit
# cp -p contrib/rc.monit /etc/init.d/monit
# chkconfig --add monit
# ln -s /usr/local/bin/monit /usr/bin/monit

環境:
CentOS 6.3 (x86_64)
monit-5.4.tar.gz

CentOS 6 に Monit をインストールする方法 (rpm)

CentOS 6 に Monit をインストールする方法は以下の通り。

1. パッケージのダウンロード

# wget http://apt.sw.be/redhat/el6/en/x86_64/dag/RPMS/monit-5.4-1.el6.rf.x86_64.rpm

i386の場合は http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/monit-5.4-1.el6.rf.i686.rpm

2. パッケージのインストール

# rpm -ivh monit-5.4-1.el6.rf.x86_64.rpm

環境:
CentOS 6.3 (x86_64)
monit-5.4-1.el6.rf.x86_64.rpm

CentOS 6 に pppoe-server をインストールする方法

CentOS 6 に pppoe-server をインストールする方法は以下の通り。

1. ファイアウォールの無効化

# chkconfig iptables off
# chkconfig ip6tables off

2. /etc/selinux/config の編集(SELinuxの無効化)

SELINUX=disabled

3. /etc/sysctl.conf の編集(ルーティングの有効化)

net.ipv4.ip_forward = 1

4. 再起動

# sync;sync;sync
# reboot

5. パッケージのインストール

# yum -y install ppp rp-pppoe

6. /etc/ppp/pppoe-server-options の編集

require-pap
require-chap
#login
lcp-echo-interval 10
lcp-echo-failure 2

7. /etc/ppp/chap-secrets の編集(chap認証の設定)

papを使う場合は/etc/ppp/pap-secretsを編集する

# Secrets for authentication using CHAP
# client  server  secret  IP addresses
pc1       *       pass1   172.16.1.254
pc2       *       pass2   172.16.2.254
pc3       *       pass3   172.16.3.254
lan1      *       pass1   172.17.1.254
lan2      *       pass2   172.17.2.254
lan3      *       pass3   172.17.3.254

8. /etc/init.d/pppoe-server の編集(起動スクリプトの修正)

pppoe-server起動時に、ローカル側のIPアドレスを指定
(例)eth0で起動し、IPアドレスを172.16.0.1に指定する場合

. /etc/rc.d/init.d/functions
RETVAL=0
prog=pppoe-server
options='-I eth0 -L 172.16.0.1'

pppoe-server起動時に、eth0の設定を消去

start() {
        check
        echo -n $"Starting $prog: "
        /sbin/ifconfig eth0 0.0.0.0 up
        daemon /sbin/$prog ${options}
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}

pppoe-server停止時に、eth0の設定を復元

stop() {
       check
        echo -n $"Stopping $prog: "
        killproc /sbin/$prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog && /sbin/ifup eth0
        return $RETVAL
}

9. pppoe-serverの起動

# /etc/init.d/pppoe-server start

10. pppoe-serverの停止

# /etc/init.d/pppoe-server stop

11. pppoe-serverの状態確認

# /etc/init.d/pppoe-server status

PPPoEクライアントにユーザーIDとパスワードを設定すれば、接続できる。
(例) ユーザーID: pc1 パスワード: pass1

環境:
CentOS 6.3 (x86_64)
ppp-2.4.5-5.el6.x86_64
rp-pppoe-3.10-8.el6.x86_64

### 参考 ###

起動スクリプトを使用しないでpppoe-serverを起動

# ifconfig eth0 0.0.0.0 up
# pppoe-server -I eth0 -L 172.16.0.1

起動スクリプトを使用しないでpppoe-serverを停止

# kill -15 `pidof pppoe-server`
# ifup eth0

起動スクリプトを使用しないでpppoe-serverのPIDを確認

# pidof pppoe-server

zabbix を 1.8.13-1.el6.JP に アップデートしたらアクセスできなくなった

zabbix を yum update にて 1.8.13-1.el6.JP へアップデートしたら
ブラウザからアクセスできなくなってしまった。以下の事象を確認できた。

・httpdの使用メモリが増加し続ける
・DBを初期状態にすればアクセスできる
・/var/log/httpd/error_log に以下のメッセージが表示される

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 523800 bytes)
 in /usr/share/zabbix/include/db.inc.php on line 1371

以下の方法で解決した。
PHP Fatal error: Allowed memory size after 1.8.13 upgrade

/usr/share/zabbix/include/audit.inc.php の 73行目を修正する。

【修正前】

if(!isset($USER_DETAILS['userid'])) check_authorisation();

【修正後】

if(!isset($USER_DETAILS['userid'])) return false;

環境:
CentOS 6.2 (x86_64)
php-5.3.3-3.el6_2.8.x86_64
zabbix-1.8.13-1.el6.JP.x86_64
mysql-server-5.1.61-1.el6_2.1.x86_64

CentOS 6 に RoundCube WebMail をインストールする方法

CentOS 6 に RoundCube WebMail をインストールする方法は以下の通り。

1. 必要なパッケージのインストール

# yum -y install httpd php php-mysql php-mbstring php-xml php-intl mysql-server

2. 次の URL から RoundCube WebMail をダウンロード

http://roundcube.net/download

3. 展開とインストール

# tar zxvf roundcubemail-0.7.1.tar.gz -C /var/www/html/
# chown -R apache:apache /var/www/html/roundcubemail-0.7.1/
# ln -s /var/www/html/roundcubemail-0.7.1 /var/www/html/webmail

4. mcrypt モジュールの組み込み

【方法1】簡単
CentOS 6 に mcrypt.so を組み込む方法 (rpm)

【方法2】手間がかかる
CentOS 6 に mcrypt.so を組み込む方法 (source)

5. /etc/php.ini の編集

# vi /etc/php.ini
[Date]
date.timezone="Asia/Tokyo"

6. MySQL の起動

# service mysqld start

7. DB と DBユーザーの作成

# mysqladmin password password -u root
# mysql -ppassword
mysql> CREATE DATABASE roundcubemail CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit

8. db.inc.php と main.inc.php の配置

# cd /var/www/html/webmail/config/
# cp -p db.inc.php.dist db.inc.php
# cp -p main.inc.php.dist main.inc.php

9. db.inc.php の編集(DBユーザーやパスワードを指定)

# vi  db.inc.php
//$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
$rcmail_config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcubemail';

10. iptables が有効な場合は TCP/80 を解放

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart

11. /etc/httpd/conf/httpd.conf の編集

CentOS 6 に Apache をインストールする方法 の項目2 を参照

12. Apache の起動

# service httpd start

13. インストールURLの有効化

# vi main.inc.php
//$rcmail_config['enable_installer'] = false;
$rcmail_config['enable_installer'] = true;

14. ブラウザから次の URL へアクセス

http://<IPアドレス>/webmail/installer/

15. RoundCube WebMail の設定

(1) Check environment

「Next」を押して次へ

(2) Create config

スキップされる

(3) Test config

「Initialize database」を押してデータベースを初期化
「Test SMTP config」 でメール送信チェック
「Test IMAP config」 でログインチェック

16. インストールURLの無効化

# vi main.inc.php
$rcmail_config['enable_installer'] = false;
//$rcmail_config['enable_installer'] = true;

17. 次のURLからログイン

http://<IPアドレス>/webmail/

参考:
RoundCube WebMailのカスタマイズ方法

環境:
CentOS 6.2 (x86_64)
roundcubemail-0.7.1

CentOS 6 に Apache をインストールする方法

CentOS 6 に Apache をインストールする方法は以下の通り。

1. apache のインストール

# yum -y install httpd

2. /etc/httpd/conf/httpd.conf の編集

#ServerTokens OS
ServerTokens Prod

#KeepAlive Off
KeepAlive On

#ServerAdmin root@localhost
ServerAdmin root@example.com

#ServerName www.example.com:80
ServerName www.example.com:80

#ServerSignature On
ServerSignature Off

TraceEnable Off

ServerAdmin や ServerName は環境に合わせて設定
Welcome ページが不要な場合は削除

# rm /etc/httpd/conf.d/welcome.conf

3. apache の起動

# service httpd start

4. 起動設定

# chkconfig httpd on

5. iptables が有効になっている場合は TCP/80,443 を解放

/etc/sysconfig/iptables に追記

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart

環境:
CentOS 6.2 (x86_64)
httpd-2.2.15-15.el6

#ServerTokens OS
ServerTokens Prod

#KeepAlive Off
KeepAlive On

#ServerAdmin root@localhost
ServerAdmin root@example.com

#ServerName www.example.com:80
ServerName www.example.com:80

#ServerSignature On
ServerSignature Off

TraceEnable Off
TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。