
Pista de aterrizaje 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 hacer 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 Rundeck comunidad en Ubuntu 20.04 .
Requisitos previos
- 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
- Log Store 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 el caché del repositorio
$ sudo apt update
Ahora, para instalar Java 11, ejecute el siguiente comando:
$ sudo apt install openjdk-11-jre-headless
Puede verificar la versión:
java -version
Paso 2:Instale MySQL en Ubuntu
Rundeck es compatible con MySQL, PostgreSQL, Oracle y MS SQL Server para almacenar sus datos. En nuestro caso, vamos a utilizar 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 Rundeck y el usuario:
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 hacerlo, 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
Actualizar el 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
Puede consultar 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 comprobar que todo funciona, puede intentar acceder a Rundeck con la IP y el puerto 4440, pero deberá abrirlo en el firewall antes.
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.properties
archivo 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.properties
archivo de configuración. Es el que usábamos para indicar la dirección IP del servidor y el puerto por defecto pero ahora pondremos el nombre de dominio.
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://rundeck.websitefortesting.com
Paso 4:Proxy con terminación SSL
Aquí usaremos Nginx como un proxy inverso para la Terminación SSL. Esto ayuda a Rundeck con la compatibilidad con SSL/HTTPS.
Nginx está disponible en el repositorio apt, simplemente puede instalarlo 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 necesita 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 vamos a crear 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 acceder a la interfaz web de Rundeck, el nombre de usuario es admin
y la contraseña es la que editamos previamente NEW_ADMIN_PASSWORD
.

Ahora tienes acceso a tu Rundeck

Puede crear un nuevo proyecto para comenzar con su configuración.
Conclusión
En este tutorial, aprendimos cómo instalar la edición comunitaria de Rundeck en su servidor Ubuntu 20.04. Puedes hacer algunas configuraciones y crear un nuevo proyecto para comenzar a usar tu Rundeck