May 11, 2004

[安裝紀錄]OpenNMS 1.1.3 on White Box Enterprise Linux

在OpenNMS的郵件論壇找到底下這篇,
Success! Install of 1.1.2 (and 1.1.3) on Red Hat Enterprise 3.0 ES

我在我的White Box Enterprise Linux(WBEL)上面如法炮製,基本上都按照上面文章的順序來裝所有的rpm套件,
套件來源不外乎:
WBEL套件來源
ftp://mirror.physics.ncsu.edu/pub/whitebox/3.0/en/os/i386/RedHat/RPMS/
WBEL更新檔來源
ftp://ftp.opennms.org/pub/releases/OpenNMS/latest/linux-i386-redhat-9/RPMS/
OpenNMS相依套件來源
ftp://ftp.opennms.org/pub/releases/OpenNMS/latest/linux-i386-redhat-9/RPMS/
OpenNMS主要套件(1.1.3)來源
ftp://ftp.opennms.org/pub/releases/OpenNMS/preview/linux-i386-redhat-9/
如果有一樣的套件,例如postgresql,我選擇WBEL提供的,而不是OpenNMS提供的.

原來的Script假設你先把所有要用到的rpm檔案都抓在同一個目錄下.因為我這邊的網路速度還不錯,所以我都直接用
rpm -Uvh ftp://depot.site.name/path/to/rpms/foobar.rpm 的方式安裝

原作者提醒大家,如果要直接把他提供的指令稿拿來執行,要注意換行(line wrap)的部分.因為他用`sed -i`直接去替換
某些設定檔的設定,要放在同一行.我是自己一步步手動啦,執行`sed -i`的部分我都會再用文字編輯器檢視一下,確定有替換成功.

###
### Install SNMP Agent
###
rpm -Uvh ./net-snmp-5.0.9-2.30E.1.i386.rpm
rpm -Uvh ./net-snmp-devel-5.0.9-2.30E.1.i386.rpm
rpm -Uvh ./net-snmp-utils-5.0.9-2.30E.1.i386.rpm

###
### Install PostgreSQL (and dependencies)
###
rpm -Uvh ./rh-postgresql-libs-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-contrib-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-devel-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-docs-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-jdbc-7.3.4-9.i386.rpm
rpm -Uvh ./rh-postgresql-server-7.3.4-9.i386.rpm
rpm -Uvh ./XFree86-Mesa-libGLU-4.3.0-44.EL.i386.rpm
rpm -Uvh ./libmng-1.0.4-3.i386.rpm
rpm -Uvh ./qt-3.1.2-13.i386.rpm
rpm -Uvh ./unixODBC-2.2.3-6.i386.rpm
rpm -Uvh ./postgresql-odbc-7.3-3.i386.rpm

###
### Link startup script for backward compatibility
###
### 在RHEL/WBEL裡面,把postgresql套件叫做rhdb,所以建一個symbolic link來相容
ln -s /etc/init.d/rhdb /etc/init.d/postgresql

###
### Stop and start postgres to generate first config file
###
service postgresql start
service postgresql stop

###
### Edit /var/lib/pgsql/data/postgresql.conf
###
### 修改postgresql.conf裡面三行,執行完畢建議檢查一下
sed -i "s/#tcpip_socket = false/tcpip_socket=true/" /var/lib/pgsql/data/postgresql.conf
sed -i "s/#max_connections = 32/max_connections=256/" /var/lib/pgsql/data/postgresql.conf
sed -i "s/#shared_buffers = 64/shared_buffers=1024/" /var/lib/pgsql/data/postgresql.conf

###
### Edit /var/lib/pgsql/data/pg_hba.conf
###
### 修改pg_hba.conf裡面兩行,執行完畢建議檢查一下
sed -i "s/#local all/local all/" /var/lib/pgsql/data/pg_hba.conf
sed -i "s/#host all/host all/" /var/lib/pgsql/data/pg_hba.conf

###
### Set user back to postgres (it gets changed to root)?
###

chown postgres:postgres /var/lib/pgsql/data/postgresql.conf
chown postgres:postgres /var/lib/pgsql/data/pg_hba.conf

###
### Install Perl Modules (and dependencies)
###
rpm -Uvh ./perl-DBD-Pg-1.21-2.i386.rpm
rpm -Uvh ./perl-Crypt-DES-2.03-1.i386.rpm
rpm -Uvh ./perl-Getopt-Mixed-1.008-1.i386.rpm
rpm -Uvh ./perl-Digest-SHA1-2.01-15.1.i386.rpm
rpm -Uvh ./perl-Digest-HMAC-1.01-11.1.noarch.rpm
### 原作者沒有提到上面兩個套件,但是要先裝好,才能裝底下那個
rpm -Uvh ./perl-Net-SNMP-4.1.0-1.i386.rpm
rpm -Uvh ./xml-common-0.6.3-14.noarch.rpm
rpm -Uvh ./sgml-common-0.6.3-14.noarch.rpm
rpm -Uvh ./docbook-dtds-1.0-17.2.noarch.rpm
rpm -Uvh ./openjade-1.3.1-12.i386.rpm
rpm -Uvh ./perl-SGMLSpm-1.03ii-11.noarch.rpm

###
### Install Mail utilities
###
rpm -Uvh ./mailx-8.1.1-31.i386.rpm
rpm -Uvh ./metamail-2.7-25.i386.rpm

###
### Install RRD tools
###
rpm -Uvh ./rrdtool-1.0.42-fr1.i386.rpm
rpm -Uvh ./rrdtool-devel-1.0.42-fr1.i386.rpm

###
### Install JAVA SDK and Tomcat
###
rpm -Uvh ./j2sdk-1_4_0_02-fcs-linux-i586.rpm
### 上面這個rpm檔的來源,
### 請參考Which J2SDK to Use?這篇FAQ
### 到Sun的網站抓舊版的j2sdk來安裝
### 目前強烈不建議用最新的j2sdk來跑OpenNMS
rpm -Uvh ./tomcat4-4.1.18-full.1jpp.noarch.rpm
rpm -Uvh ./tomcat4-webapps-4.1.18-full.1jpp.noarch.rpm

###
### Edit /etc/tomcat4/tomcat4.conf
###
### 修改tomcat4.conf裡面的JAVA_HOME和TOMCAT_USER,執行完畢建議檢查一下.
### 尤其是JAVA_HOME,這個script的空格可能有錯,會替換失敗
### 如果有人照著我寫的安裝,請幫我再確認一次 :)
sed -i "s/#JAVA_HOME=\"\/opt\/IBMJava2-131\"/JAVA_HOME=\/usr\/java\/j2sdk1.4.0_02/" /etc/tomcat4/tomcat4.conf
sed -i "s/TOMCAT_USER=\"tomcat4\"/TOMCAT_USER=root/" /etc/tomcat4/tomcat4.conf

### 因為OpenNMS還需要compat-libstdc++套件,所以到
### ftp://ftp.opennms.org/pub/releases/OpenNMS/latest/linux-i386-redhat-9/RPMS/
### 抓最新的compat-libstdc++-7.3-2.96.123.i386.rpm來裝
rpm -Uvh ./compat-libstdc++-7.3-2.96.123.i386.rpm

###
### Install OpenNMS 1.1.2 or 1.1.3
###
### 我和原作者一樣,除了文件只有1.1.2可裝以外,都裝1.1.3.
### 郵件論壇有人回答,裝1.1.3不需要再加上--nodeps參數了
### 因此我就不加了

rpm -Uvh ./opennms-docs-1.1.2-1.i386.rpm
#rpm -Uvh opennms-1.1.2-1.i386.rpm
#rpm -Uvh --nodeps opennms-webapp-1.1.2-1.i386.rpm
rpm -Uvh ./opennms-1.1.3-0.i386.rpm
rpm -Uvh ./opennms-webapp-1.1.3-0.i386.rpm

###
### Edit /opt/OpenNMS/lib/scripts/platform_linux.sh to handle the new syntax
###
### 注意,修改platform_linux.sh是因為它會去參照/etc/redhat-release,抓出系統版本的數字.
### 在WBEL中,這個檔是symbolic link到/etc/whitebox-release,而其中第六個字才是版本數字3.0.
### 所以我把原作者的指令稿的"$5換成$7"改成"$5換成$6"
sed -i "s/print \$5/print \$6/" /opt/OpenNMS/lib/scripts/platform_linux.sh

###
### Check to see if /etc/tomcat4/server.xml was changed
### during the OpenNMS install. It probably didn't. If it didn't,
### then run this command again.
###
### 我看了一下,server.xml好像真的沒有被修改到,底下這行執行後應該就可以了
/opt/OpenNMS/bin/install.pl -q /opt/OpenNMS/etc/create.sql

###
### Start it up
###

service tomcat4 start
service opennms start

###
### 執行 "service opennms status" 直到每個程序都是 running.
service opennms status

###[root@csg10 root]#
### 接著用瀏覽器連到 http://aaa.bbb.ccc.ddd:8080/opennms (請自行替換ip)
### 帳號:密碼是admin:admin

### 因為tomcat4預設在開機時不會啟動,所以執行底下指令來修改
chkconfig tomcat4 on

### 最後,在/opt/OpenNMS/etc/下的discovery-configuration.xml,
### poller-configuration.xml,capsd-configuration.xml檔案中
### 新增網路位址範圍.可參考OpenNMS安裝指南的4.1.1節
### 注意,如果Web Console的Outages一直顯現0 of 0,滑鼠移過去應該會看到上次更新日期.
### 很有可能是上次啟動/安裝的日期.只要執行service tomcat4 restart就會正常了

Posted by ystuan at 12:59 PM | Comments (1)