Fijar lenguaje english UTF-8 y actualizar Rokcy Linux a la última
dnf install langpacks-en glibc-all-langpacks -y localectl set-locale LANG=en_US.UTF-8 localectl dnf makecache dnf update -y reboot
Comprobar la versión de postgresql que viene en los repos de rocky
dnf info postgresql-server
Es posible que no sea la 14 por lo que se instalan los repos oficiales de postgresql:
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm dnf update
Instalamos postgresql 14.x
dnf info postgresql14-server dnf -y install postgresql14-server
Inicializamos la base de datos y activamos que el servicio arranque al inicio
/usr/pgsql-14/bin/postgresql-14-setup initdb systemctl enable --now postgresql-14
Le damos password al user opennms de la base de datos
sudo -i -u postgres createuser -P opennms
Creamos una base de datos vacía y ponemos de Owner al user opennms
sudo -i -u postgres createdb -O opennms opennms
Ponemos password al superuser de la base de datos
sudo -i -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'laPASSWORD';"
Editamos /var/lib/pgsql/14/data/pg_hba.conf para que use md5 para el hash de passwords
vi /var/lib/pgsql/14/data/pg_hba.conf host all all 127.0.0.1/32 md5 host all all ::1/128 md5
Releemos los cambios
systemctl reload postgresql-14
Ahora ya vamos a instalar OpenNMS Horizon seteando el repositorio oficial de OpenNMS
dnf -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel9.noarch.rpm rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY dnf -y install opennms dnf config-manager --set-enabled powertools dnf -y install epel-release dnf -y install R-core
Desactivamos auto updates para OpenNMS Horizon y reiniciamos
dnf config-manager --disable opennms-repo-stable-common opennms-repo-stable-rhel9 reboot
Creamos credenciales cifradas para la conexión con la base de datos (cambiando password por la que sea correspondiente)
sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres opennms password sudo -u opennms ${OPENNMS_HOME}/bin/scvcli set postgres-admin postgres password
Inicializamos instalación opennms, desactivar firewalld y reinicio:
/opt/opennms/bin/runjava -s /opt/opennms/bin/install -dis systemctl enable --now opennms systemctl stop firewalld systemctl disable firewalld reboot
Las credenciales por defecto son: admin con password admin
core-instance-ip:8980/opennms
Se ha de esperar un poco a que arranque. Se podrá ver lo que ha tardado así:
tail -f /var/log/opennms/web.log
Configurar HTTPS
Hemos de mirar donde anda el home de OPENNMS y cambiar a el etc dentro de esa ruta así:
echo $OPENNMS_HOME /opt/opennms cd /opt/opennms/etc
Dentro de /opt/opennms/etc no vamos a tener el archivo jetty.xml por lo que vamos a necesitar copiar uno de ejemplo:
cp -pRv /opt/opennms/etc/examples/jetty.xml /opt/opennms/etc
Importante descomentar la parte https de jetty.xml para que chute.
Creamos el keystore:
/usr/bin/keytool -alias opennms-jetty -genkeypair -keyalg RSA -keysize 2048 -validity 9999 -keystore /opt/opennms/etc/opennms.keystore
Creamos el archivo /opt/opennms/etc/opennms.properties.d/https.properties
touch /opt/opennms/etc/opennms.properties.d/https.properties chown opennms:opennms /opt/opennms/etc/opennms.properties.d/https.properties
Y añadimos dentro con vi o con nano lo siguiente (cambiando las passwords):
org.opennms.netmgt.jetty.https-port = 8443 org.opennms.netmgt.jetty.https-keystore = /opt/opennms/etc/opennms.keystore org.opennms.netmgt.jetty.https-keystorepassword = keystore-password org.opennms.netmgt.jetty.https-keypassword = key-password org.opennms.netmgt.jetty.https-cert-alias = opennms-jetty
Reiniciamos y ya tendríamos que poder entrar tanto por HTTP como por HTTPS.
Si no quieres reiniciar el sistema prueba a reiniciar el servicio: systemctl restart opennms
HTTP: core-instance-ip:8980/opennms
HTTPS: core-instance-ip:8443/opennms
Y eso es más o menos todo. Un saludo cordial.