Cómo instalar Rundeck en Ubuntu 20.04

Cómo instalar Rundeck en Ubuntu 20.04

 

Rundeck es un software gratuito de código abierto para servicios de automatización. Brinda acceso de autoservicio a los procesos y herramientas que necesitan para realizar su trabajo. Con Rundeck puede crear flujos de trabajo de automatización a partir de herramientas o scripts existentes. Proporciona una consola web, herramientas CLI y una API web para ejecutar tareas de automatización.

En este tutorial, aprendemos cómo instalar la comunidad Rundeck en Ubuntu 20.04 .

Prerrequisitos

  • Una instancia de Ubuntu 20.04 con al menos 2 CPU
  • 4 GB de RAM
  • Disco duro de 20 GB
  • Java 8 o posterior
  • Una base de datos: MySQL / MariaDB, Oracle o PostgrSQL
  • Almacén de registros para registros que es el sistema de archivos predeterminado o un almacén de objetos compatible con S3
  • Puertos 4440 (http) y 4443 (https) abiertos

Paso 1: instalar Java en Ubuntu

Rundeck requiere Java 8 o Java 11 para funcionar correctamente. Si no está instalado por defecto, instale Java usando los siguientes comandos.

Primero, actualice la caché del repositorio

$ sudo apt update

Ahora para instalar Java 11, ejecute el siguiente comando:

$ sudo apt install openjdk-11-jre-headless

Puedes verificar la versión:

java -version

Paso 2: Instale MySQL en Ubuntu

Rundeck admite MySQL, PostgreSQL, Oracle y MS SQL Server para almacenar sus datos. En nuestro caso, usaremos MySQL.

Para instalar MySQL en Ubuntu, ejecute el siguiente comando:

$ sudo apt install mysql-server

Luego habilite el servicio MySQL en el inicio, escriba:

$ sudo systemctl enable mysql-server

Ahora acceda a la base de datos:

$ mysql -u root -p

Cree la base de datos y el usuario de Rundeck:

mysql> CREATE DATABASE rundeckdb;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'rundeck_user'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'rundeck_user'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
bye

Paso 3: Instale Rundeck en Ubuntu 20.04

Aquí vamos a instalar la versión comunitaria de Rundeck. Puede descargar el archivo del paquete deb directamente desde el sitio web completando el formulario o desde el repositorio oficial.

Aquí voy a instalar desde el repositorio oficial que siempre asegura tener la última versión.

Para hacer eso, primero importaremos la clave de firma del repositorio.

$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -

Luego agreguemos el archivo de lista de fuentes de Rundeck /etc/apt/sources.list.d/rundeck.list

$ sudo vim /etc/apt/sources.list.d/rundeck.list
deb https://packages.rundeck.com/pagerduty/rundeck/any/ any main
deb-src https://packages.rundeck.com/pagerduty/rundeck/any/ any main

Actualiza la caché del repositorio.

$ sudo apt update

Ahora, instale Rundeck usando el comando apt, escriba:

$ sudo apt install rundeck

Ahora necesitamos decirle a Rundeck cómo conectar la base de datos. Editaremos su archivo de configuración con algunas actualizaciones. Asegúrese de reemplazar las líneas que ya existen con los buenos valores que coincidan con su configuración

$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://YOUR_SERVER_IP:4440
dataSource.driverClassName = org.mariadb.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true&useSSL=false
dataSource.username = rundeck_user
dataSource.password = PASSWORD

Si ha instalado otra base de datos, algunas configuraciones deberían cambiar.

Ahora habilite el servicio al inicio

$ sudo systemctl enable rundeckd.service 

Luego, inicie el servicio Rundeck:

$ sudo systemctl start rundeckd.service 

Puedes comprobar el estado

$ sudo systemctl status rundeckd.service 
● rundeckd.service - LSB: rundeck job automation console
     Loaded: loaded (/etc/init.d/rundeckd; generated)
     Active: active (running) since Sat 2021-11-06 01:05:34 UTC; 2s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 229955 ExecStart=/etc/init.d/rundeckd start (code=exited, status=0/SUCCESS)
   Main PID: 229976 (java)
      Tasks: 12 (limit: 2279)
     Memory: 114.7M
     CGroup: /system.slice/rundeckd.service
             └─229976 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.server.configDir=/etc/rundeck -D>

Nov 06 01:05:34 li663-64 systemd[1]: Starting LSB: rundeck job automation console...
Nov 06 01:05:34 li663-64 rundeckd[229955]:  * Starting rundeckd
Nov 06 01:05:34 li663-64 rundeckd[229955]:    ...done.
Nov 06 01:05:34 li663-64 systemd[1]: Started LSB: rundeck job automation console.

Primero debemos cambiar la contraseña predeterminada del usuario administrador, ya que la predeterminada sigue siendo admin

$ sudo vim /etc/rundeck/realm.properties
admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build

En este punto, si desea verificar que todo está funcionando, puede intentar acceder a Rundeck con la IP y el puerto 4440, pero antes deberá abrirlo en el firewall.

Como usaremos Nginx, necesitaremos editar algunos otros archivos de configuración en otro para modificar la URL de Rundeck. Tendremos que indicar la URL que utilizará Nginx para acceder a Rundeck. Primero editaremos el /etc/rundeck/framework.propertiesarchivo de configuración

$ sudo vim /etc/rundeck/framework.properties
framework.server.url = http://rundeck.domain.com

Luego, volveremos a editar el /etc/rundeck/rundeck-config.propertiesarchivo de configuración. Es el que usamos para indicar la dirección IP del servidor y el puerto predeterminado pero ahora pondremos el nombre del dominio.

$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://rundeck.websitefortesting.com

Paso 4: Proxy terminado con SSL

Aquí usaremos Nginx como proxy inverso para la terminación SSL. Esto ayuda a Rundeck con soporte SSL / HTTPS.

Nginx está disponible en el repositorio de apt, simplemente puede instalar usando el siguiente comando:

$ sudo apt install nginx

Ahora necesita copiar el certificado de su dominio Rundeck.

$ sudo cp rundeck.domain.com.crt /etc/nginx/certs/rundeck.domain.com.crt

También necesitas copiar la clave

$ sudo cp rundeck.domain.com.key /etc/nginx/certs/rundeck.domain.com.key

Eliminemos el archivo de configuración predeterminado para evitar cualquier conflicto

$ sudo rm /etc/nginx/sites-enabled/default

Ahora creemos el archivo de configuración de Rundeck.

$ sudo vim /etc/nginx/sites-available/rundeck.conf
server {
         server_name rundeck.domain.com;
         listen 80 ;
         access_log /var/log/nginx/rundeck.log;
         return 301 https://$host$request_uri;
 }
 server {
         server_name rundeck.domain.com;
         listen 443 ssl http2 ;
         access_log /var/log/nginx/rundeck.log;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
         ssl_prefer_server_ciphers on;
         ssl_certificate /etc/nginx/certs/rundeck.domain.com.crt;
         ssl_certificate_key /etc/nginx/certs/rundeck.domain.com.key;
         add_header Strict-Transport-Security "max-age=31536000";
          location / {
                 proxy_pass http://localhost:4440;
                 proxy_set_header X-Forwarded-Host $host:$server_port;
                 proxy_set_header X-Forwarded-Server $host;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         }
 }

Ahora habilitemos el archivo de configuración

$ sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf

Verifique la configuración de Nginx

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Paso 5: Acceda a la interfaz Rundeck

Ahora puede ir a su navegador y acceder a Rundeck con la URL http://rundeck.domain.com

Para el acceso a la interfaz web de Rundeck, el nombre de usuario adminy la contraseña es la que editamos anteriormente NEW_ADMIN_PASSWORD.

Cómo instalar Rundeck en Ubuntu 20.04

Ahora tienes acceso a tu Rundeck

Cómo instalar Rundeck en Ubuntu 20.04

Puede crear un nuevo proyecto para comenzar con su configuración.

Conclusión

En este tutorial, aprendimos cómo instalar Rundeck community edition en su servidor Ubuntu 20.04. Puedes hacer algunas configuraciones y crear un nuevo proyecto para empezar a usar tu Rundeck

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.