
Rundeck est un logiciel open source gratuit pour les services d'automatisation. Il donne un accès en libre-service aux processus et aux outils dont ils ont besoin pour faire leur travail. En utilisant Rundeck, vous pouvez créer des workflows d'automatisation à partir d'outils ou de scripts existants. Il fournit une console Web, des outils CLI et une API Web pour exécuter des tâches d'automatisation.
Dans ce tutoriel, nous apprenons à installer le Rundeck communauté sur Ubuntu 20.04 .
Pré-requis
- Une instance Ubuntu 20.04 avec au moins 2 processeurs
- 4 Go de RAM
- Disque dur de 20 Go
- Java 8 ou version ultérieure
- Une base de données :MySQL/MariaDB, Oracle ou PostgrSQL
- Log Store pour les journaux qui est soit le système de fichiers par défaut, soit un magasin d'objets compatible S3
- Ports 4440 (http) et 4443 (https) ouverts
Étape 1 :Installer Java sur Ubuntu
Rundeck nécessite Java 8 ou Java 11 pour fonctionner correctement. S'il n'est pas installé par défaut, installez Java à l'aide des commandes suivantes.
Tout d'abord, mettez à jour le cache du référentiel
$ sudo apt update
Maintenant, pour installer Java 11, exécutez la commande suivante :
$ sudo apt install openjdk-11-jre-headless
Vous pouvez vérifier la version :
java -version
Étape 2 :Installer MySQL sur Ubuntu
Rundeck prend en charge MySQL, PostgreSQL, Oracle et MS SQL Server pour stocker ses données. Dans notre cas, nous allons utiliser MySQL.
Pour installer MySQL sur Ubuntu, exécutez la commande suivante :
$ sudo apt install mysql-server
Activez ensuite le service MySQL au démarrage, tapez :
$ sudo systemctl enable mysql-server
Accédez maintenant à la base de données :
$ mysql -u root -p
Créez la base de données et l'utilisateur 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
Étape 3 :Installez Rundeck sur Ubuntu 20.04
Ici, nous allons installer la version communautaire de Rundeck. Vous pouvez soit télécharger le fichier du package deb directement depuis le site Web en remplissant le formulaire, soit depuis le référentiel officiel.
Ici, je vais installer à partir du dépôt officiel ce qui garantit toujours d'avoir la dernière version.
Pour ce faire, nous allons d'abord importer la clé de signature du dépôt.
$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -
Ajoutons ensuite le fichier de liste des sources 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
Mettre à jour le cache du dépôt
$ sudo apt update
Maintenant, installez Rundeck en utilisant la commande apt, tapez :
$ sudo apt install rundeck
Nous devons maintenant dire à Rundeck comment connecter la base de données. Nous allons éditer son fichier de configuration avec quelques mises à jour. Assurez-vous de remplacer les lignes déjà existantes par les bonnes valeurs correspondant à votre configuration
$ 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 vous avez installé une autre base de données, certaines configurations doivent changer.
Activez maintenant le service au démarrage
$ sudo systemctl enable rundeckd.service
Ensuite, démarrez le service Rundeck :
$ sudo systemctl start rundeckd.service
Vous pouvez vérifier l'état
$ 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.
Nous devons d'abord changer le mot de passe par défaut de l'utilisateur admin car celui par défaut est toujours admin
$ sudo vim /etc/rundeck/realm.properties
admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build
À ce stade, si vous voulez vérifier que tout fonctionne, vous pouvez essayer d'accéder à Rundeck avec l'IP et le port 4440 mais vous devrez l'ouvrir sur le pare-feu avant.
Comme nous utiliserons Nginx, nous devrons éditer d'autres fichiers de configuration dans d'autres pour modifier l'URL de Rundeck. Nous devrons indiquer l'URL que Nginx utilisera pour accéder à Rundeck. Nous allons d'abord éditer le /etc/rundeck/framework.properties
fichier de configuration
$ sudo vim /etc/rundeck/framework.properties
framework.server.url = http://rundeck.domain.com
Ensuite, nous allons rééditer le /etc/rundeck/rundeck-config.properties
fichier de configuration. C'est celui que nous avons utilisé pour indiquer l'adresse IP du serveur et le port par défaut mais maintenant nous mettrons le nom de domaine.
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://rundeck.websitefortesting.com
Étape 4 :Proxy SSL terminé
Ici, nous utiliserons Nginx comme reverse proxy pour la terminaison SSL. Cela aide Rundeck avec le support SSL/HTTPS.
Nginx est disponible dans le dépôt apt, vous pouvez simplement l'installer à l'aide de la commande suivante :
$ sudo apt install nginx
Vous devez maintenant copier le certificat de votre domaine Rundeck.
$ sudo cp rundeck.domain.com.crt /etc/nginx/certs/rundeck.domain.com.crt
Vous devez également copier la clé
$ sudo cp rundeck.domain.com.key /etc/nginx/certs/rundeck.domain.com.key
Supprimons le fichier de configuration par défaut pour éviter tout conflit
$ sudo rm /etc/nginx/sites-enabled/default
Créons maintenant le fichier de configuration 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; } }
Maintenant, activons le fichier de configuration
$ sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf
Vérifier la configuration 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
Étape 5 :Accéder à l'interface Rundeck
Vous pouvez maintenant accéder à votre navigateur et accéder à Rundeck avec l'URL http://rundeck.domain.com
Pour l'accès à l'interface Web Rundeck, le nom d'utilisateur est admin
et le mot de passe est celui que nous avons modifié précédemment NEW_ADMIN_PASSWORD
.

Vous avez maintenant accès à votre Rundeck

Vous pouvez créer un nouveau projet pour commencer avec votre configuration.
Conclusion
Dans ce didacticiel, nous avons appris à installer Rundeck Community Edition sur votre serveur Ubuntu 20.04. Vous pouvez faire quelques configurations et créer un nouveau projet afin de commencer à utiliser votre Rundeck