
Automatizzare le attività di amministrazione di sistema è oggi una necessità, non un lusso.
Rundeck è una piattaforma open source che consente di eseguire job, orchestrare processi e gestire attività ricorrenti in modo centralizzato, sicuro e tracciabile.
In questa guida vedremo passo dopo passo come installare e configurare Rundeck Community Edition su Ubuntu Server 24.04 LTS, creando una base solida da cui partire per la gestione delle operazioni IT quotidiane.
Impareremo come predisporre l’ambiente, installare le dipendenze necessarie (come Java), configurare il servizio, accedere all’interfaccia web e creare il primo progetto operativo.
Che tu stia cercando un modo per semplificare la gestione dei tuoi server o per introdurre una piattaforma di automazione nel tuo team DevOps, questa guida ti accompagnerà nell’intero processo — dalla prima riga di comando al primo job funzionante su Rundeck.
PREREQUISITI
Sistema con almeno 2 CPU, 4 GB di RAM e 20 GB di spazio su disco.
Java 8 o Java 11
Rundeck è un server basato su Java-Servlet e quindi richiede il runtime Java. Stiamo utilizzando Java 11 in questa configurazione.
AGGIORNAMENTO DEL SERVER UBUNTU
Manteniamo il server pulito e aggiornato con il comando:
|
0 |
sudo apt update && sudo apt upgrade -y
|
INSTALLAZIONE DI JAVA OPENJDK
Rundeck gira sulla JVM. Al momento è supportato Java 11+ (Java 17 va bene). Su Ubuntu 24.04 possiamo usare direttamente OpenJDK 17.
Installare java con il comando:
|
0 |
sudo apt install -y openjdk-17-jre
|
Verificare la versione di Java installata con il comando:
|
0 |
java -version
|
Dovremmo visualizzare il seguente output:
|
0
1
2
|
openjdk version "17.0.16" 2025-07-15
OpenJDK Runtime Environment (build 17.0.16+8-Ubuntu-0ubuntu124.04.1)
OpenJDK 64-Bit Server VM (build 17.0.16+8-Ubuntu-0ubuntu124.04.1, mixed mode, sharing)
|
CREAZIONE DI UN UTENTE DEDICATO
Questo passo è buona pratica per sicurezza, ma non è obbligatorio.
Se si intende far girare Rundeck come servizio di sistema, saltarlo, perché il pacchetto .deb in genere crea l’utente rundeck da solo.
Creare l’utente con il comando:
|
0 |
sudo useradd --create-home --system --shell /bin/bash rundeck
|
DOWNLAOD ED INSTALLAZIONE DI RUNDECK COMMUNITY
Prendere l’ultima release stabile di Rundeck Community. Il nome del file è di solito tipo rundeck-<versione>.deb.
ATTENZIONE: durante la stesura di questo articolo l’ultima versione stabile disponibile è la 5.16.0
Eseguire i comandi elencati di seguito:
|
0
1
2
3
|
curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo tee /etc/apt/trusted.gpg.d/rundeck-key.asc
echo "deb https://packages.rundeck.com/pagerduty/rundeck/any/ any main" | sudo tee /etc/apt/sources.list.d/rundeck.list
sudo apt update
sudo apt install rundeck
|
Dopo l’installazione dovremmo avere:
- Config in /etc/rundeck/
- Dati e log in /var/rundeck/
- Servizio systemd rundeckd
CONFIGURAZIONE BASE DI RUNDECK
Rundeck deve sapere come sarà raggiunto (hostname/IP e porta).
Modificare il file /etc/rundeck/rundeck-config.properties con il comando:
|
0 |
sudo nano /etc/rundeck/rundeck-config.properties
|
Individuare la riga
|
0 |
grails.serverURL=http://localhost:4440
|
e sostituirla con la riga seguente inserendo il nome o l’FQDN del nostro server
|
0 |
grails.serverURL=http://127.0.0.1:4440
|
NOTA BENE:
- Porta predefinita: 4440
- Protocollo: http per ora (poi vediamo HTTPS più avanti)
ATTENZIONE: io imposterò http://127.0.0.1:4440 come URL perchè al termine del seguente articolo configurerò Nginx come Reverse Proxy
Salvare ed uscire dal file di configurazione
CREDENZIALI DI DEFAULT
Il pacchetto di solito crea un utente admin iniziale (admin / admin).
Queste credenziali stanno di solito sono all’interno del file realm.properties. Editarlo con il comando:
|
0 |
sudo nano /etc/rundeck/realm.properties
|
Dovremmo visualizzare una riga come di seguito:
|
0 |
admin:admin,user,admin,architect,deploy,build
|
Vuoi essere meno attaccabile? Cambia admin:admin in qualcosa tipo:
|
0 |
admin:PASSWORD_FORTE,user,admin,architect,deploy,build
|
⚠ ATTENZIONE: qui la password è in chiaro. Mettila lunga e unica, e poi considera di passare a un provider di auth più serio (LDAP, Keycloak, ecc.) dopo il setup iniziale.
Salvare ed uscire dal file di configurazione
CONFIGURAZIONE DI JAVA HOME
In molti casi non serve fare niente. Se però più avanti il servizio non parte e nei log (/var/log/rundeck/service.log) vediAMO errori tipo “JAVA_HOME not set”, allora imposta:
|
0
1
|
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' | sudo tee -a /etc/environment
source /etc/environment
|
AVVIO ED ABILITAZIONE DI RUNDECK COME SERVIZIO
Avviare e abilitare Rundeck come servizio systemd con i seguenti comandi:
|
0
1
2
|
sudo systemctl daemon-reload
sudo systemctl enable rundeckd
sudo systemctl start rundeckd
|
Controllare lo stato di Rundeck con il comando:
|
0 |
sudo systemctl status rundeckd
|
Dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
7
8
9
10
|
● rundeckd.service - LSB: rundeck job automation console
Loaded: loaded (/etc/init.d/rundeckd; generated)
Active: active (running) since Sun 2025-10-26 23:02:10 CET; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 14913 ExecStart=/etc/init.d/rundeckd start (code=exited, status=0/SUCCESS)
Main PID: 14923 (java)
Tasks: 36 (limit: 979)
Memory: 484.6M (peak: 485.1M)
CPU: 24.886s
CGroup: /system.slice/rundeckd.service
└─14923 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.se>
|
Se il servizio è in stato FAILED eseguire il comando:
|
0 |
sudo journalctl -u rundeckd -f
|
oppure eseguire il comando:
|
0 |
sudo tail -n 200 /var/log/rundeck/service.log
|
CONFIGURAZIONE DI NGINX COME REVERSE PROXY
Di default Rundeck espone HTTP in chiaro sulla porta 4440. In produzione è meglio metterlo dietro Nginx con TLS sulla 443.
Installare Nginx con il comando:
|
0 |
sudo apt install -y nginx
|
Creare un host Nginx per rundeck.test.lab (sostituire col dominio corretto):
|
0 |
sudo nano /etc/nginx/sites-available/rundeck.conf
|
Contenuto base HTTP (senza TLS):
|
0
1
2
3
4
5
6
7
8
9
10
11
|
server {
listen 80;
server_name rundeck.test.lab;
location / {
proxy_pass http://127.0.0.1:4440;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
}
}
|
Abilitare il sito e ricaricare Nginx con i comandi:
|
0
1
2
|
sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf
sudo nginx -t
sudo systemctl reload nginx
|
ACCESSO ALL’INTERFACCIA WEB DI RUNDECK
Da un browser richiamare il link http://<IP_DEL_SERVER_O_FQDN>:
Eseguire login con:
USERNAME: admin
PASSWORD: quella che abbiamo impostato in /etc/rundeck/realm.properties
Dovremmo visualizzare il Cruscotto di RunDeck
E’ possibile leggere maggiori informazioni sulla guida utente di Rundeck al seguente link:
https://docs.rundeck.com/docs/manual/projects/
CONSIDERAZIONI FINALI SU RUNDECK
L’installazione di Rundeck su Ubuntu Server 24.04 è piuttosto lineare e, una volta completata, offre un potente strumento di automazione capace di semplificare enormemente la gestione dei processi IT.
La sua interfaccia web intuitiva e il sistema di job schedulati consentono di standardizzare attività ripetitive, ridurre gli errori umani e migliorare la tracciabilità delle operazioni.
Rundeck è particolarmente utile in ambienti DevOps, dove la collaborazione tra sviluppatori e sistemisti è fondamentale: consente di delegare esecuzioni controllate, mantenendo comunque sicurezza e visibilità.
Tuttavia, come ogni soluzione enterprise-ready, presenta anche alcuni aspetti da valutare attentamente prima di adottarlo in produzione.
✅ Pro di Rundeck
Open source e gratuito nella sua Community Edition.
Interfaccia web chiara e intuitiva, anche per chi non ama la riga di comando.
Gestione centralizzata dei job, con log e storicizzazione delle esecuzioni.
Supporto per diversi metodi di esecuzione, tra cui SSH, API e plugin personalizzati.
Controllo degli accessi e ruoli granulari, utili per delegare in sicurezza.
Facile integrazione con altri strumenti DevOps (Ansible, Jenkins, Terraform, ecc.).
Estendibile grazie a un ampio ecosistema di plugin ufficiali e community.
⚠️ Contro di Rundeck
Configurazione iniziale non immediata per chi è alle prime armi con Java e servizi systemd.
Interfaccia e log poco moderni rispetto a competitor più recenti.
Scalabilità limitata nella versione Community: per cluster e alta disponibilità serve la versione Enterprise (a pagamento).
Aggiornamenti frequenti, che possono richiedere interventi manuali se installato fuori da un ambiente automatizzato.
Gestione credenziali basata su file locali di default (da migliorare con Key Storage o integrazioni esterne).
✅ In sintesi
Rundeck è una soluzione matura, stabile e adatta a chi vuole introdurre automazione operativa in infrastrutture Linux e ambienti DevOps senza costi iniziali.
Per team piccoli o medi rappresenta un ottimo punto di partenza; per contesti enterprise, può essere la base di un’infrastruttura di orchestrazione più ampia.
Con una corretta configurazione e qualche attenzione alla sicurezza, diventa un vero alleato per semplificare e standardizzare le operazioni di sistema.

0 commenti