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:
hostnamectltimedatectlSe 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 -yAlmaLinux / Rocky / CentOS
sudo dnf update -yEsito 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 erlangSe 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 erlangEsito 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-httpsPoi aggiungi il repository ufficiale di RabbitMQ seguendo la documentazione della tua release. Dopo l’aggiunta, aggiorna l’indice pacchetti:
sudo apt updateAlmaLinux / Rocky / CentOS
Abilita il repository ufficiale di RabbitMQ per la tua distribuzione, quindi aggiorna la cache dei pacchetti:
sudo dnf makecacheEsito 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-serverAlmaLinux / Rocky / CentOS
sudo dnf install -y rabbitmq-serverEsito 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-serverControlla lo stato:
sudo systemctl status rabbitmq-serverEsito atteso: stato active (running), senza errori di avvio.
Se il servizio non parte, leggi i log immediatamente:
sudo journalctl -u rabbitmq-server -xeQuesto 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 statusEsito 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_managementPoi riavvia il servizio se necessario:
sudo systemctl restart rabbitmq-serverVerifica che la console sia raggiungibile in locale o dalla rete autorizzata:
curl -I http://127.0.0.1:15672Esito 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 administratorsudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'Verifica gli utenti presenti:
sudo rabbitmqctl list_usersEsito 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.bakSe 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.conflisteners.tcp.default = 5672
management.tcp.port = 15672
loopback_users.guest = falseQuesta 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-serverControllo successivo:
sudo systemctl status rabbitmq-serverEsito 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 --reloadUFW
sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
sudo ufw statusEsito 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.
- Stato servizio:
systemctl status rabbitmq-serverdeve mostrare active (running). - Stato nodo:
rabbitmqctl statusdeve restituire dettagli del nodo senza errori. - Console web:
curl -I http://127.0.0.1:15672deve 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 -xeSe 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:
- Il servizio
rabbitmq-serverè active (running). - Il comando
rabbitmqctl statusnon produce errori. - La console web risponde sulla porta 15672, se abilitata.
- Le porte firewall sono aperte solo dove serve.
- 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.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.