參考網頁:
安裝 OpenNMS 17.0.0 on CentOS 7.0 @ Egg Chang 的部落格 :: 痞客邦 PIXNET ::
OpenNMS Installation Guide
主要是要研究是否有可能將 OpenNMS 直接整合在 CentOS 7 的安裝光碟之中!
安裝與設定 PostgreSQL Server
PostgreSQL Server 官方網站:https://www.postgresql.org
不使用 CentOS 7 內建套件庫版本,直接以官方網站上的最新版本來安裝
https://yum.postgresql.org/repopackages.php
2017.03.18 最新的穩定版本是 9.6
1. 下載 PostgreSQL 套件庫設定檔
# wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
# rpm -ivh pgdg-centos96-9.6-3.noarch.rpm[@more@]
2. 列出套件庫 pgdg96 可安裝的套件
# yum list available –disablerepo=* –enablerepo=pgdg96
# yum list available –disablerepo=* –enablerepo=pgdg96 | egrep ‘postgresql|pgadmin’
pgadmin3_96-debuginfo.x86_64 1.22.1-2.rhel7 pgdg96
pgadmin3_96-docs.x86_64 1.22.1-2.rhel7 pgdg96
pgadmin4-v1.x86_64 1.3-1.rhel7 pgdg96
pgadmin4-v1-debuginfo.x86_64 1.3-1.rhel7 pgdg96
pgadmin4-v1-docs.noarch 1.3-1.rhel7 pgdg96
pgadmin4-v1-web.noarch 1.3-1.rhel7 pgdg96
postgresql-jdbc.noarch 42.0.0-1.rhel7 pgdg96
postgresql-jdbc-javadoc.noarch 42.0.0-1.rhel7 pgdg96
postgresql-unit96.x86_64 2.0-1.rhel7 pgdg96
postgresql-unit96-debuginfo.x86_64 2.0-1.rhel7 pgdg96
postgresql96-debuginfo.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-devel.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-docs.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-plperl.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-plpython.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-pltcl.x86_64 9.6.2-2PGDG.rhel7 pgdg96
postgresql96-tcl.x86_64 2.1.1-1.rhel7 pgdg96
postgresql96-tcl-debuginfo.x86_64 2.1.1-1.rhel7 pgdg96
postgresql96-test.x86_64 9.6.2-2PGDG.rhel7 pgdg96
3. 安裝 PostgreSQL Server
# yum install postgresql96 postgresql96-server postgresql96-contrib postgresql96-odbc postgresql96-libs pgadmin3_96
4. 啟動 PostgreSQL Server
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database … OK
# systemctl enable postgresql-9.6
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-9.6.service to /usr/lib/systemd/system/postgresql-9.6.service.
# systemctl start postgresql-9.6
5. 修改 postgresql.conf 設定檔
# sed -i ‘s/^#listen/listen/’ /var/lib/pgsql/9.6/data/postgresql.conf
6. 修改 pg_hba.conf 設定檔
# sed -i ‘/^host/s/…..$/md5/’ /var/lib/pgsql/9.6/data/pg_hba.conf
7. 重新載入 PostgreSQL Server
# systemctl reload postgresql-9.6
安裝與設定 JDK
8. 下載 JDK
請到下方的 Oracle 官方網站下載:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
9. 進行安裝
# rpm -ivh jdk-8u121-linux-x64.rpm
Preparing… ################################# [100%]
Updating / installing…
1:jdk1.8.0_121-2000:1.8.0_121-fcs ################################# [100%]
Unpacking JAR files…
tools.jar…
plugin.jar…
javaws.jar…
deploy.jar…
rt.jar…
jsse.jar…
charsets.jar…
localedata.jar…
10. 設定 Java 環境變數
# cat << EOF > /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
EOF
# cat << EOF > /etc/profile.d/java.csh
set JAVA_HOME=/usr/java/default
set PATH=$JAVA_HOME/bin:$PATH
EOF
11. 讓設定生效
# . /etc/profile.d/java.sh
12. 下載 OpenNMS 套件庫及 GPG Key
# wget http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
# wget http://yum.opennms.org/OPENNMS-GPG-KEY
13. 安裝設定檔及 GPG Ket
# rpm -ivh opennms-repo-stable-rhel7.noarch.rpm
# rpm –import OPENNMS-GPG-KEY
14. 更新套件庫
# yum update
15. 安裝 OpenNMS 套件
# yum install opennms opennms-docs mib2events grafana-opennms-plugin opennms-plugin-ticketer-centric opennms-remote-poller opennms-jmx-config-generator opennms-ncs opennms-plugins rrdtool jrrd2
16. 建立 PostgreSQL Server 管理者密碼
# su – postgres
$ psql -c “ALTER USER postgres WITH PASSWORD ‘YOUR-POSTGRES-PASSWORD’;”
ALTER ROLE
17. 建立使用者 opennms 和密碼
$ createuser -P opennms
Enter password for new role:
Enter it again:
18. 建立 OpenNMS 資料庫
$ createdb -O opennms opennms
$ psql -c “ALTER USER opennms WITH SUPERUSER;”
$ exit
19. 設定 OpenNMS 連線的帳號及密碼(123456 請替換成正確的密碼)
# sed -i -e ‘/password/s/password=”opennms”/password=”123456″/’ -e ‘/password/s/password=””/password=”YOUR-POSTGRES-PASSWORD“/’ /opt/opennms/etc/opennms-datasources.xml
<jdbc-data-source name=”opennms”
database-name=”opennms”
class-name=”org.postgresql.Driver”
url=”jdbc:postgresql://localhost:5432/opennms”
user-name=”opennms”
password=”123456″ />
<jdbc-data-source name=”opennms-admin”
database-name=”template1″
class-name=”org.postgresql.Driver”
url=”jdbc:postgresql://localhost:5432/template1″
user-name=”postgres”
password=”YOUR-POSTGRES-PASSWORD” />
20. 設定 OpenNMS
# /opt/opennms/bin/runjava -s
runjava: Looking for an appropriate JRE…
runjava: Checking for an appropriate JRE in JAVA_HOME…
runjava: skipping… JAVA_HOME not set
runjava: Checking JRE in user’s path: “/bin/java”…
runjava: found an appropriate JRE in user’s path: “/bin/java”
runjava: value of “/bin/java” stored in configuration file
21. 資料庫及系統 libraries 初始化
# /opt/opennms/bin/install -dis
22. 設定 rrdtool
# sed -i ‘/MultithreadedJniRrdStrategy/s/^#org/org/’ /opt/opennms/etc/rrd-configuration.properties
# sed -i ‘/rrd2/s/^#opennms/opennms/’ /opt/opennms/etc/rrd-configuration.properties
# sed -i ‘/rrd2/s/^#org/org/’ /opt/opennms/etc/rrd-configuration.properties
23. 鎖住資料庫權限
# su – postgres
$ psql -c “ALTER ROLE opennms NOSUPERUSER;”
$ psql -c “ALTER ROLE opennms NOCREATEDB;”
$ exit
24. 設定 Firewall
# firewall-cmd –permanent –add-port=8980/tcp
# firewall-cmd –reload
25. 關閉 OpenNMS 透過 yum 更新
# sed -i ‘/gpgcheck/aenabled=0’ /etc/yum.repos.d/opennms-repo-stable-rhel7.repo
26. 啟動 OpenNMS
# systemctl enable opennms.service
# systemctl start opennms.service
27. 開啟瀏覽器 http://Server’IP:8989,預設登入的帳號及密碼:admin / admin
第一次啟動或剛開機時,會耗費比較多的時間!
最後結論:沒有辦法全自動,因為 16~18 步驟要設定密碼,所以只能做成半自動的版本!