目錄:
一,從GIT獲取源碼
二,從源碼安裝OpenNMS
2.1 ubuntu12.04
2.2 centos6.2
三,centos6.2下yum安裝
一.從GIT獲取源碼,建立eclipse工程
1.mkdir ~/rcs; cd ~/rcs2. git clone git://opennms.git.sourceforge.net/gitroot/opennms/opennmss
3. git branch -a (查看所有的分支)
4. git checkout -b 1.8 remotes/origin/1.8 (創建本地分支)
5. git reset --hard HEAD
6. git clean -f -d -x (5-6創建分支後的清理工作)
7. git pull (更新)
8.compile.pl (編譯)此過程須要修改頂級目錄下POM中maven-get-plugin版本(2.3.0-1-SNAPSHOT),此插件的官方包有bug,目前沒有解決,在opennms上一個開發人員自己提供了一個修改過的版本(http://www.stroppykitten.com/gwt-maven-plugin-2.3.0-1-SNAPSHOT.tar.gz)將此版本放到maven的本地庫中在編譯即可。
9.eclipse Import 編譯完後導入eclipse,即可做二次開發
安裝前請確保JAVA環境使用的是sun-jdk 版本1.5以上
2.1Ubuntu11.10環境下安裝:
1.安裝jicmp下載地址: http://sourceforge.net/projects/opennms/files/JICMP/
版本:stable-1.2
cd jicmp
autoreconf -fvi
./configure
make
sudo make install
2.從源碼安裝OpenNMS(1).在OpenNMS源碼目錄下,通過./compile.pl編譯源碼。
(2).完成編譯後運行./assemble.pl -Dbuild.profile=dir 將OpenNMS安裝到/target目錄下
3.安裝PostgreSql
(1).sudo apt-get install postgresql 安裝postgresql
(2).sudo vim /etc/postgresql/9.1/main/pg_hba.conf 修改數據庫密碼驗證方式.修改爲
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 md5
4.運行OpenNMS(1).進入OpenNMS安裝目錄,修改目錄中權限BUG
cd <opennms.home>
chmod +x bin/*
chmod +x contrib/*
chmod -x contrib/*.README
chmod -x contrib/opennms.mib
(2).運行 ./bin/runjava -s 設置JVM(3).運行 ./bin/install -dis 設置數據庫
(4).運行 ./bin/opennms start 運行opennms
訪問http://localhost:8980/opennms即可
安裝步驟與Ubuntu中安裝相同,過程中可能遇到以下幾個問題:
1.安裝JICMP時make、autoconfig、libtool未安裝
解決方法:分別在下列網址中下載安裝:
http://www.gnu.org/software/automake
http://www.gnu.org/software/autoconf
http://www.gnu.org/software/libtool
2.PostgreSQL數據庫安裝與啓動方式不同
yum install postgresql postgresql-server 安裝數據庫
/sbin/service postgresql initdb 初始化數據庫
/sbin/service postgresql start 啓動數據庫服務
/sbin/chkconfig postgresql on 設置數據庫服務開機自動啓動
3.運行./bin install -dis 初始化數據庫設置時報錯an error occurred getting the version from the database,language "plpgsql" does not exist
解決方法:參考:http://www.opennms.org/wiki/QuickStart#Initialize_OpenNMS_and_the_Database
執行下列語句 : createlang -U postgres plpgsql opennms
4.啓動OpenNMS時,報錯:DHCP服務衝突
解決方法: 參考:http://www.opennms.org/wiki/FAQ-Troubleshooting#Q:_Why_doesn.27t_the_dhcpd_process_ever_start.3F
修改$OPENNMS_HOME/etc/service-configuration.xml 文件中的配置,將以下內容註釋掉。
<service>
<name>OpenNMS:Name=Dhcpd</name>
<class-name>org.opennms.netmgt.dhcpd.jmx.Dhcpd</class-name>
<invoke pass="1" method="start"/>
<invoke at="status" pass="0" method="status"/>
<invoke at="stop" pass="0" method="stop"/>
</service>
重啓OpenNMS即可。 注意:修改配置後,OpenNMS無法監控DHCP服務
三.CentOS6.2 YUM安裝
1.rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-stable-rhel6.noarch.rpm
2.yum -y install opennms
3./opt/opennms/bin/runjava -s
4.yum install postgresql postgresql-server
5./sbin/service postgresql start
6.vi /var/lib/pgsql/data/pg_hba.conf
7./sbin/service postgresql restart
8./opt/opennms/bin/install -dis
CentOS6.2 RPM安裝centos
安裝腳本:install_opennms.sh
需要的RPM包:
#!/bin/bash -
rpm -vih postgresql-libs-8.4.9-1.el6_1.1.x86_64.rpm
rpm -vih postgresql-8.4.9-1.el6_1.1.x86_64.rpm
rpm -vih postgresql-server-8.4.9-1.el6_1.1.x86_64.rpm
service postgresql initdb
/etc/init.d/postgresql start
file="/var/lib/pgsql/data/pg_hba.conf"
mv ${file} ${file}.bak
sed 's/ident/trust/g' ${file}.bak>>${file}
/etc/init.d/postgresql restart
rpm -vih jdk-6u24-linux-amd64.rpm
rpm -vih jicmp-1.2.1-1rhel6.x86_64.rpm
rpm -vih jicmp6-1.0.1-1rhel6.x86_64.rpm
rpm -vih opennms-core-1.10.0-2.noarch.rpm
rpm -vih opennms-webapp-jetty-1.10.0-2.noarch.rpm
rpm -vih opennms-1.10.0-2.noarch.rpm
/opt/opennms/bin/runjava -s
/opt/opennms/bin/install -dis
/opt/opennms/bin/opennms start
如果在安裝過程中遇到如下錯誤:
錯誤:代理拋出異常: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: centos62virtualProduct: centos62virtualProduct
修改/etc/hosts文件,在其中加入本機的hostname即可解決,如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 “YOUR HOST NAME”