OpenNMS的配置是一个繁琐的过程,由于网上没有系统介绍如何准备安装环境,尤其是针对Redhat5的配置,故本人将网上收集的资料进行了整理合并,结合实际配置实践,对通过宿主机配置VMware虚拟机,在虚拟机上安装Redhat5,等一系列操作步骤进行详细描述,希望对各位有用,在配置过程中少走弯路。
作者:徐泼
一、安装Linux操作系统
本文基于RedHat Enterprise 5 介绍OpenNMS的配置,系统采用RHEL-5.0U2-x86-DVD安装,具体安装过程在此不作介绍,需要注意的是,最好在安装过程中选上gcc等软件包。
二、安装系统运行必备库
由于本人要安装系统时没有附选任何附加包,所以一系列软件包需要额外安装。
# cd /media/RHEL_5.2\ i386\ DVD/Server/ # rpm –ivh cpp-4.1.2-42.el5.i386.rpm # rpm –ivh binutils-2.17.50.0.6-6.el5.i386.rpm # rpm –ivh kernel-headers-2.6.18-92.el5.i386.rpm # rpm –ivh glibc-headers-2.5-25.i386.rpm # rpm –ivh glibc-2.5-24.i386.rpm # rpm –ivh glibc-devel-2.5-24.el5.i386.rpm # rpm –ivh libgomp-4.1.2-42.el5.i386.rpm # rpm –ivh gcc-4.1.2-42.el5.i386.rpm
三、安装PostgreSQL数据库
# cd /media/RHEL_5.2\ i386\ DVD/Server/ # rpm –ivh postgresql-libs-8.1.11-1.el5-1.1.i386.rpm # rpm –ivh postgresql-8.1-11-1.el5_1.1.i386.rpm # rpm –ivh postgresql-server-8.1.11-1.el5_1.1.i386.rpm
注意,如果在以上的安装过程中,出现readline library not found的错误,则需要补充以下库包:
# rpm –ivh readline-5.1-1.1.i386.rpm # rpm –ivh libtermcap-devel-2.0.8-46.1.i386.rpm # rpm –ivh readline-devel-5.1-1.1.i386.rpm
以上操作如果成功,则执行:
# chkconfig postgresql on # /etc/init.d/postgresql start
接着配置文件/var/lib/pgsql/data/pg_hba.cof中权限相关部分:
# vim /var/lib/pgsql/data/pg_hba.cof
见到如下内容:
local all all ident sameuser
host all all 127.0.0.1/32 ident sameuser
host all all ::1/128 ident sameuser
把上面的内容改成:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
保存退出。
注意:如果是Redhat4的postgresql-7.4.8则需要再执行以下操作:
# vim /var/lib/pgsql/data/postgresql.conf
把# tcpip_socket = false 改成 tcpip_socket = true (把前面的注释去掉)
由于本人采用的是Redhat5的postgresql-8.1.11,默认监听TCP,故不需以上操作,无论如何,如果postgresql无法监听(一般情况下不需修改这项),可以尝试在postgresql.conf中增加如下这一行:
listen_addresses = ‘localhost’ (Redhat5的postgresql-8.1.11中将前面的#注释去掉即可)
接着重启postgre服务器:
# /etc/init.d/postgresql restart
确认下postgresql是否已成功启动:
# netstat –lntp
如果能看到类似如下的行,则说明服务已成功启动:
Tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 28603/postmaster
最后创建OpenNMS数据库:
# sudo –u postgres created –U postgres –E UNICODE opennms
当出现CREATE DATABASE,说明数据库成功创建。
四、安装JDK
从Oracle官网SUN开发区下载最新JDK,本文采用的是jdk-6u18-linux-i586-rpm.bin
传至虚拟机Redhat5上某一目录,如/usr/tool
# cd /usr/tool # chmod +x jdk-6u18-linux-i586-rpm.bin # ./ jdk-6u18-linux-i586-rpm.bin
安装成功后,会在/usr/java下出现一个jdk1.6.0_18目录。
接着配置Java 环境变量:
# vim /etc/profile
在打开的文件末尾添加如下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_18
CLASSPATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存并退出。
为了使配置生效,需要重启Linux服务器或是运行以下命令:
# source /etc/profile
五、安装OpenNMS
OpenNMS需要以下几个包:
opennms-1.6.10-1.noarch.rpm
opennms-core-1.6.10-1.noarch.rpm
opennms-docs-1.6.10-1.noarch.rpm
opennms-webapp-jetty-1.6.10-noarch.rpm(如果选择OpenNMS与Tomcat整合,可以改用opennms-webapp-standalone-1.6.10-1.noarch.rpm包)
以上几个包都可以在opennms网上找到,但是光有以上几个包还不能成功安装OpenNMS,OpenNMS还依赖以下几个包,这几个包在网上rpm包现在不太好找,基本上都是tar包,本人费了好久才能找到。
jicmp-1.0.8-1.i386.rpm
iplike-1.0.8-1.i386.rpm
有了以上包后,可以开始安装OpenNMS了,安装顺序如下,记得需要按顺序安装:
# rpm –ivh jicmp-1.0.8-1.i386.rpm # rpm –ivh opennms-core-1.6.10-1.noarch.rpm # rpm –ivh opennms-webapp-jetty-1.6.10-noarch.rpm # rpm –ivh opennms-docs-1.6.10-1.noarch.rpm # rpm –ivh opennms-1.6.10-1.noarch.rpm
接着安装iplike:
# rpm –ivh iplike-1.0.8-1.i386.rpm
注意,安装过程中会创建存储过程,如果创建失败的话,可以在排除原因之后再执行以下命令:
# /usr/sbin/install_iplike.sh
六、配置OpenNMS
接下去需要配置OpenNMS,首先设置一个环境变量,指向OpenNMS的安装位置,便于以后的输入:
# export OPENNMS_HOME=/opt/opennms
告诉OpenNMS使用新安装的JDK。注意这一步一定要指定你上面第四步安装的JDK。系统中有可能自带了JRE的java解释器,那个不行,要用新安装的。
# $OPENNMS_HOME/bin/runjava –S /usr/java/jdk1.6.0_18/bin/java
提示成功后,安装OpenNMS数据库:
# $OPENNMS_HOME/bin/install –dis
最后启动OpenNMS
# chkconfig –add opennms # /etc/init.d/opennms start
在虚拟机Redhat5中打开浏览器,输入:
http://localhost:8980/opennms,用户名admin,密码admin,登录即可操作OpenNMS了。
为了操作方便需要通过外部主机访问虚拟机Web,默认情况下,Redhat5未开放8980端口对外访问,需要通过以下命令设置开放8980端口。
登录Redhat5 Xwindow,打开命令行,输入:
# system-config-securitylevel
在弹出的对话框中,在Firewall Options选项页中,点开“Other ports”,点“Add”增加新的端口8980。切换到SELinux,将SELinux Setting设置为Disabled。点“Ok”保存。
输入以下命令使配置生效:
# /etc/init.d/network restart
查看设置是否成功:
# netstat -anp | grep 8980
出现类似如下内容说明8980端口已对外开放:
tcp 0 0 :::8980 :::* LISTEN 7728/java
tcp 0 0 ::ffff:192.168.91.128:8980 ::ffff:192.168.91.1:2307 ESTABLISHED 7728/java
最后在宿主机浏览器中输入
http://192.168.91.128:8980/opennms/后便可访问。(192.168.91.128是本人虚拟机Redhat5系统的IP)。