混了一年, OpenNMS 已經進版到 1.12.x, CentOS 也出到 CentOS 6.5, 資訊人員真的是每天都會有新鮮事 (頭髮都白掉了呢 ^^)

看了一下 OpenNMS 網站的文件, 安裝的步驟倒是沒有差很多, 大概描述如下:

1. 安裝 CentOS 6.5
2. 安裝與設定 PostregSQL
3. 安裝與設定 JDK 
4. 安裝與設定 OpenNMS
5. 設定 Firewall 

1. 安裝 CentOS 6.5

CentOS 5 跟 CentOS 6 的安裝方式差頗多的, 但是原則是一樣, 因此筆者也不贅述, 選擇任一種安裝型態都可以 ^^


2. 安裝與設定 PostregSQL

# 安裝 postgresql
yum -y install postgresql postgresql-server

# 讓 postgresql 於開機時自動執行
chkconfig --level 345 postgresql on

# 第一次啟動 postgresql

service postgresql initdb
service postgresql start

# 修改 postgresql 啟動參數
cd /var/lib/pgsql/data
mv pg_hba.conf pg_hba.conf.bak
sed 's/ident/trust/g' pg_hba.conf.bak > pg_hba.conf

# 重新啟動 postgresql
service postgresql restart

3. 安裝與設定 JDK

# 從 java.sun.com 下載 1.7 最新版的 JDK (目前為 JDK 7 Update 55,  jdk-7u55-linux-x64.rpm) 並上傳到 Linux
# 假設您是放在 ~/jdk-7u55-linux-x64.rpm
 
# 安裝 JDK
cd ~
rpm -ivh jdk-7u55-linux-x64.rpm
rm -f jdk-7u55-linux-x64.rpm

# 設定環境變數 for sh
cat << EOF > /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/default
export PATH=\$JAVA_HOME/bin:\$PATH
EOF

# 設定環境變數 for csh
cat << EOF > /etc/profile.d/java.csh
set JAVA_HOME=/usr/java/default
set PATH=\$JAVA_HOME/bin:\$PATH
EOF

# 讓環境變數生效
. /etc/profile.d/java.sh

4. 安裝與設定 OpenNMS

# 安裝 OpenNMS 的 yum repositories
rpm -ivh http://yum.opennms.org/repofiles/opennms-repo-stable-rhel6.noarch.rpm

# 下載與安裝 OpenNMS
yum -y install opennms-* mib2opennms iplike mib2events jrrd

# 關閉 opennms 透過 yum 更新
echo "enabled=0" >> /etc/yum.repos.d/opennms-stable-rhel6.repo

# 設定 OpenNMS
/opt/opennms/bin/runjava -s
/opt/opennms/bin/install -dis
chkconfig opennms on

# 啟動 OpenNMS
service opennms start

#
# 若啟動時發生錯誤
# Starting OpenNMS: Started OpenNMS, but it stopped running: for details see /opt/opennms/logs/daemon/output.log 
#                                                                                                                                                                    [FAILED]
# 請 cat /opt/opennms/logs/daemon/output.log 看一下錯誤訊息
# 筆者碰到的錯誤訊息是
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown:
# java.net.UnknownHostException: myhost.mycompany.com.tw: myhost.mycompany.com.tw: Name or service not known
#
# 也就是說, 這台主機無法從 DNS 解析到 Domain Name
# 簡單的解法就是在 /etc/hosts 加上
# 192.168.1.xx  myhost  myhost.mycompany.com.tw
#

 

[root@PDM129 java]# cat /opt/opennms/logs/daemon/output.log

5. 設定 Firewall
=============
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8980 -j ACCEPT
service iptables save

OK!! 完成, 請以瀏覽器連線到 http://<你的CentOS IP or Host>:8980, 以帳號 admin 密碼 admin 登入即可 
 
 參考文件:

創作者介紹

Egg Chang 的部落格

Egg Chang 發表在 痞客邦 PIXNET 留言(0) 人氣()