51 05/04/2026 07/04/2026 9 min

Installare RabbitMQ Server su Linux: guida passo passo

RabbitMQ è uno dei broker di messaggi più usati in ambiente Linux quando servono code affidabili, scambio asincrono tra applicazioni e integrazioni robuste tra servizi. In pratica, mette ordine nel traffico tra producer e consumer: invece di far parlare tutto con tutto in tempo reale, le applicazioni consegnano messaggi a una coda e RabbitMQ si occupa della distribuzione.

Questa guida parte da un’installazione pulita e segue un approccio prudente: prima il repository ufficiale, poi i pacchetti, quindi il servizio, i controlli di base e una configurazione minima sicura. Le istruzioni sono pensate per distribuzioni comuni come Ubuntu/Debian e AlmaLinux/Rocky/CentOS.

Prima di iniziare

Verifica di avere accesso amministrativo al server e una connessione stabile. Se il sistema è in produzione, programma la finestra di manutenzione: anche se l’installazione è normalmente non invasiva, è sempre meglio evitare modifiche durante i picchi di traffico.

  • Accesso SSH con privilegi sudo o root.
  • Hostname corretto e DNS funzionante.
  • Ora di sistema sincronizzata, utile per log e cluster.

Per controllare subito lo stato di base del sistema, puoi usare:

hostnamectl
timedatectl

Se l’orario è sballato, correggilo prima di procedere: nei sistemi moderni la sincronizzazione NTP aiuta a evitare problemi nei certificati, nei log e nelle code distribuite.

1. Aggiornare il sistema

Prima di installare RabbitMQ, conviene aggiornare i pacchetti del sistema. Questo riduce il rischio di dipendenze rotte o librerie obsolete.

Ubuntu / Debian

sudo apt update && sudo apt upgrade -y

AlmaLinux / Rocky / CentOS

sudo dnf update -y

Esito atteso: nessun errore bloccante e sistema allineato ai repository attivi.

2. Installare le dipendenze necessarie

RabbitMQ richiede Erlang. Nelle versioni moderne conviene usare i repository ufficiali del vendor o della distribuzione, invece di pacchetti casuali trovati in rete. La compatibilità tra RabbitMQ ed Erlang conta molto: versioni troppo vecchie o troppo nuove possono causare avvii falliti o warning continui nei log.

Se vuoi un’installazione affidabile, segui questa regola: prima Erlang, poi RabbitMQ.

Ubuntu / Debian

Su Debian e Ubuntu puoi installare Erlang dai repository ufficiali della distribuzione oppure, se serve una versione precisa, dal repository del vendor. Per un’installazione standard, prova prima con i pacchetti disponibili:

sudo apt install -y erlang

Se il pacchetto non è disponibile o è troppo vecchio, conviene usare il repository ufficiale di Erlang Solutions o quello raccomandato dal progetto RabbitMQ in base alla tua versione di sistema.

AlmaLinux / Rocky / CentOS

Su sistemi RHEL-like la strada più pulita è abilitare i repository richiesti e installare Erlang da lì, oppure usare il repository ufficiale fornito da RabbitMQ quando disponibile per la tua release.

sudo dnf install -y erlang

Esito atteso: il pacchetto Erlang risulta installato senza conflitti.

3. Aggiungere il repository ufficiale di RabbitMQ

Il metodo più sicuro è installare RabbitMQ dai repository ufficiali. In questo modo ricevi pacchetti coerenti e aggiornamenti più prevedibili.

Nota pratica: i comandi esatti del repository possono cambiare in base alla versione della distribuzione. Se stai lavorando su un server con policy rigide, verifica sempre la release supportata prima di aggiungere un repository esterno.

Ubuntu / Debian

Installa gli strumenti necessari e aggiungi la chiave del repository solo se richiesta dalla tua versione. In ambienti recenti, usa il sistema di chiavi supportato dalla distribuzione.

sudo apt install -y curl gnupg apt-transport-https

Poi aggiungi il repository ufficiale di RabbitMQ seguendo la documentazione della tua release. Dopo l’aggiunta, aggiorna l’indice pacchetti:

sudo apt update

AlmaLinux / Rocky / CentOS

Abilita il repository ufficiale di RabbitMQ per la tua distribuzione, quindi aggiorna la cache dei pacchetti:

sudo dnf makecache

Esito atteso: il pacchetto rabbitmq-server diventa disponibile nel gestore pacchetti.

4. Installare RabbitMQ Server

Una volta pronti i repository, l’installazione è semplice.

Ubuntu / Debian

sudo apt install -y rabbitmq-server

AlmaLinux / Rocky / CentOS

sudo dnf install -y rabbitmq-server

Esito atteso: il pacchetto viene installato e viene creato il servizio systemd rabbitmq-server.

5. Avviare e abilitare il servizio

Dopo l’installazione, avvia subito RabbitMQ e impostalo per partire al boot. È un passaggio fondamentale: un broker messaggi che non riparte automaticamente dopo un reboot crea disservizi difficili da diagnosticare.

sudo systemctl enable --now rabbitmq-server

Controlla lo stato:

sudo systemctl status rabbitmq-server

Esito atteso: stato active (running), senza errori di avvio.

Se il servizio non parte, leggi i log immediatamente:

sudo journalctl -u rabbitmq-server -xe

Questo controllo è spesso sufficiente per individuare problemi di Erlang, porta occupata o permessi errati.

6. Verificare che RabbitMQ risponda

Prima di passare alla configurazione, verifica che il nodo sia operativo. Il comando più utile è:

sudo rabbitmqctl status

Esito atteso: informazioni sul nodo, sulla versione, sui listener e sullo stato del cluster, senza errori di connessione locale.

Puoi controllare anche se il servizio sta ascoltando sulle porte standard:

sudo ss -lntp | grep -E '5672|15672'

Di base, la porta 5672 è usata dai client AMQP, mentre 15672 serve per la console di gestione se il plugin è attivo.

7. Attivare la console di gestione web

La dashboard web di RabbitMQ è molto utile per amministrazione e troubleshooting. Non è obbligatoria, ma è consigliata almeno in fase iniziale.

sudo rabbitmq-plugins enable rabbitmq_management

Poi riavvia il servizio se necessario:

sudo systemctl restart rabbitmq-server

Verifica che la console sia raggiungibile in locale o dalla rete autorizzata:

curl -I http://127.0.0.1:15672

Esito atteso: risposta HTTP valida, spesso 200 o 302 a seconda della configurazione.

Per accedere via browser, apri http://IP_DEL_SERVER:15672. Le credenziali di default, se presenti, vanno cambiate subito; in molte installazioni recenti l’utente guest è limitato al solo localhost.

8. Creare un utente amministratore dedicato

Non usare l’utente predefinito per operazioni normali. Crea invece un account amministrativo dedicato, con password robusta e permessi chiari.

sudo rabbitmqctl add_user admin 'PasswordMoltoForteQui'
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'

Verifica gli utenti presenti:

sudo rabbitmqctl list_users

Esito atteso: l’utente admin compare con tag administrator.

Consiglio operativo: dopo il primo accesso, elimina o disabilita eventuali account inutilizzati e conserva solo i ruoli strettamente necessari.

9. Configurazione minima consigliata

La configurazione di RabbitMQ si trova in genere in /etc/rabbitmq/. I file più comuni sono rabbitmq.conf e, in alcune installazioni, advanced.config. Prima di modificare, fai sempre un backup.

sudo cp /etc/rabbitmq/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf.bak

Se il file non esiste ancora, crealo con attenzione. Una configurazione minima utile può includere il nome host, il listener e alcune opzioni di base. Esempio:

sudo nano /etc/rabbitmq/rabbitmq.conf
listeners.tcp.default = 5672
management.tcp.port = 15672
loopback_users.guest = false

Questa impostazione va usata con criterio: abilitare l’accesso remoto dell’utente guest non è una buona pratica se il servizio è esposto in rete. Meglio usare un utente dedicato, firewall e restrizioni di accesso.

Dopo la modifica, riavvia il servizio:

sudo systemctl restart rabbitmq-server

Controllo successivo:

sudo systemctl status rabbitmq-server

Esito atteso: servizio attivo e senza errori nel journal.

10. Aprire le porte nel firewall

Se devi usare RabbitMQ da altri host, devi autorizzare le porte corrette nel firewall. Fallo solo se necessario e solo verso le sorgenti realmente autorizzate.

Firewalld

sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --reload

UFW

sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
sudo ufw status

Esito atteso: le porte risultano aperte solo dove serve. Se la console web non è necessaria da remoto, lascia aperta solo la porta AMQP e limita l’accesso con regole di rete più strette.

11. Test funzionali rapidi

Dopo l’installazione, fai sempre almeno tre controlli: servizio attivo, plugin web attivo, connessione client possibile.

  1. Stato servizio: systemctl status rabbitmq-server deve mostrare active (running).
  2. Stato nodo: rabbitmqctl status deve restituire dettagli del nodo senza errori.
  3. Console web: curl -I http://127.0.0.1:15672 deve restituire una risposta HTTP valida.

Se uno di questi test fallisce, non passare alla fase applicativa: prima risolvi il problema di base, poi collega le applicazioni.

12. Problemi comuni e soluzioni pratiche

Il servizio non parte

Le cause più frequenti sono versione Erlang non compatibile, porta occupata o configurazione errata. Controlla i log con:

sudo journalctl -u rabbitmq-server -xe

Se nei log compaiono errori su Erlang, allinea le versioni. Se compare un errore sulla porta, verifica i processi in ascolto con ss.

La console web non risponde

Verifica che il plugin sia attivo e che la porta 15672 sia raggiungibile. Se il servizio gira ma il browser non apre la pagina, controlla firewall e binding dell’interfaccia di ascolto.

Connessione dall’esterno rifiutata

In molti casi il problema non è RabbitMQ, ma il firewall o il routing. Verifica che il server ascolti sulla porta giusta e che la regola firewall sia coerente con la rete da cui ti connetti.

Errore di autenticazione

Controlla che l’utente esista, abbia i permessi corretti e che non stai usando l’utente guest da remoto. Per sicurezza, usa sempre credenziali dedicate e ruota le password a intervalli regolari.

13. Hardening minimo consigliato

Se il broker non è solo per test, applica un minimo di hardening. Non serve complicare la vita: bastano poche misure concrete per ridurre i rischi.

  • Usa un utente amministratore dedicato e account separati per le applicazioni.
  • Limita le porte con firewall e, se possibile, con allowlist IP.
  • Mantieni aggiornati sistema, Erlang e RabbitMQ.
  • Monitora log, memoria, disco e code in crescita anomala.
  • Fai backup della configurazione prima di ogni modifica.

RabbitMQ è molto sensibile alla pressione su disco e memoria quando le code crescono. Se il carico aumenta, osserva sempre CPU, RAM, I/O disco e numero di messaggi in coda.

14. Verifica finale

Prima di considerare conclusa l’installazione, assicurati che questi punti siano veri:

  1. Il servizio rabbitmq-server è active (running).
  2. Il comando rabbitmqctl status non produce errori.
  3. La console web risponde sulla porta 15672, se abilitata.
  4. Le porte firewall sono aperte solo dove serve.
  5. Esiste un utente amministratore dedicato con password robusta.

Se un controllo fallisce, il rollback più semplice è riportare il file di configurazione dal backup, riavviare il servizio e rileggere i log. In caso di repository o dipendenze problematiche, rimuovi prima il pacchetto installato e correggi la causa alla base, invece di forzare configurazioni fragili.

In sintesi: installare RabbitMQ su Linux è semplice solo se rispetti l’ordine corretto. Aggiorna il sistema, installa Erlang, aggiungi il repository giusto, avvia il servizio, verifica i log e poi applica una configurazione minima sicura. Così riduci i guasti e ti ritrovi un broker stabile, pronto per applicazioni web, code di lavoro, job asincroni e integrazioni tra servizi.