Configurando correctamente Rundeck con PostgreSQL

En la entrada anterior vimos como configurar Rundeck con MySQL, hoy es el turno del elefante. Empecemos.

Primero, como usuario root, detenemos el servicio Rundeck: 

# systemctl stop rundeckd

Instalamos PostgreSQL desde los repositorios de YUM:

# yum -y install postgresql-server postgresql-contrib

Iniciamos la configuración inicial de PostgreSQL con:

# postgresql-setup initdb

Editamos el archivo /var/lib/pgsql/data/pg_hba.conf y en las líneas:

local all all peer
host all all 127.0.0.1/32 md5

Las reemplazamos por:

local all all trust
host all all 0.0.0.0/0 trust

Ahora editamos el archivo /var/lib/pgsql/data/postgresql.conf y agregamos las siguientes lineas para que pueda recibir conexiones externas e indicarle que puerto TCP escuchará:

listen_addresses = '*'
port=5432

Es hora de indicarle al sistema operativo que PostgreSQL debe iniciar automáticamente tras cada inicio/reinicio:

# systemctl enable postgresql

Y arrancamos el servicio para empezar a trabajar sobre él:

# systemctl start postgresql

Entramos a PostgreSQL:

# su postgres -c 'psql postgres'

Una vez dentro creamos el usuario rundeckuser con contraseña password:

CREATE ROLE rundeckuser WITH LOGIN PASSWORD 'password';

Y creamos la base de datos de Rundeck:

create database rundeck;

Ahora asociamos el usuario con la base de datos recién creada:

grant ALL privileges on database rundeck to rundeckuser

Salimos de PostgreSQL con la combinación Ctrl+D. Finalmente tenemos que decirle a Rundeck que nuestro origen de datos es PostgreSQL, para ello vamos al /etc/rundeck/rundeck-config.properties y comentamos estas líneas:

dataSource.dbCreate = update
dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true

Y agregamos estas:

dataSource.driverClassName = org.postgresql.Driver
dataSource.url = jdbc:postgresql://direccion-de-tu-base-de-datos:5432/rundeck
dataSource.username=rundeckuser
dataSource.password=password

Y le decimos que almacene los proyectos en la base de datos, agregando igualmente a /etc/rundeck/rundeck-config.properties lo siguiente:

rundeck.projectsStorageType=db

Finalmente iniciamos Rundeck:

# systemctl start rundeckd

Y listo, como siempre puedes conseguir en la documentación oficial de cómo hacerlo.

Deja un comentario