Cara Install RabbitMQ on Ubuntu 24.04
Pengantar
RabbitMQ adalah message broker open source yang digunakan untuk mengatur komunikasi antar-aplikasi melalui sistem antrean atau queue. Dengan RabbitMQ, sebuah aplikasi dapat mengirim pesan ke dalam queue, kemudian pesan tersebut diproses oleh aplikasi lain atau worker sesuai kebutuhan.
RabbitMQ banyak digunakan pada aplikasi yang membutuhkan pemrosesan asynchronous. Sebagai contoh, sebuah website menerima permintaan untuk mengirim email. Daripada proses pengiriman email dilakukan secara langsung, aplikasi dapat memasukkan tugas tersebut ke dalam queue. Worker kemudian mengambil pesan tersebut dan memprosesnya di belakang layar.
Pendekatan ini membantu aplikasi menangani pekerjaan dengan lebih teratur dan dapat mengurangi beban proses utama aplikasi. RabbitMQ juga sering digunakan pada aplikasi berbasis microservices untuk membantu service yang berbeda saling berkomunikasi.
Pada artikel ini, kita akan membahas cara install RabbitMQ di Ubuntu 24.04 mulai dari menyiapkan repository, memasang Erlang dan RabbitMQ Server, mengaktifkan Management Plugin, membuat user administrator, hingga mengamankan akses Management Console menggunakan Nginx dan HTTPS.
Ubuntu 24.04 LTS dengan codename noble merupakan salah satu versi Ubuntu yang didukung oleh RabbitMQ. Untuk mendapatkan paket Erlang dan RabbitMQ yang lebih modern, tutorial ini menggunakan repository resmi Team RabbitMQ.
Persiapan
- Ubuntu 24.04 LTS.
- Minimal 2 vCPU.
- Minimal 2 GB RAM untuk kebutuhan testing dan pembelajaran.
- Minimal 20 GB SSD.
- Akses SSH ke server.
- User dengan hak akses sudo.
- Koneksi Internet.
Untuk penggunaan production, spesifikasi server perlu disesuaikan dengan jumlah koneksi, queue, message rate, dan beban aplikasi.
Instalasi depedency
-
Persiapan Repository RabbitMQ
-
Periksa versi Ubuntu:
lsb_release -aAtau:
cat /etc/os-releasePastikan sistem menggunakan Ubuntu 24.04 dengan codename noble.
-
Update package Ubuntu:
sudo apt update sudo apt upgrade -y -
Install paket pendukung:
sudo apt install curl gnupg apt-transport-https -y -
Tambahkan signing key repository RabbitMQ:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null -
Buat file repository:
sudo nano /etc/apt/sources.list.d/rabbitmq.list -
Masukkan konfigurasi repository berikut:
## Modern Erlang/OTP releases deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main ## Latest RabbitMQ releases deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main -
Simpan file, kemudian update repository:
sudo apt update
Catatan:
Repository Erlang Team RabbitMQ pada konfigurasi ini menggunakan arsitektur amd64. Jika menggunakan server arm64, metode instalasi perlu disesuaikan. -
Install RabbitMQ di Ubuntu 24.04
-
Install Erlang dan RabbitMQ Server
-
Install paket Erlang yang dibutuhkan:
sudo apt install -y erlang-base \ erlang-asn1 \ erlang-crypto \ erlang-eldap \ erlang-ftp \ erlang-inets \ erlang-mnesia \ erlang-os-mon \ erlang-parsetools \ erlang-public-key \ erlang-runtime-tools \ erlang-snmp \ erlang-ssl \ erlang-syntax-tools \ erlang-tftp \ erlang-tools \ erlang-xmerl -
Periksa versi Erlang:
erl -versionJika berhasil, versi Erlang/OTP akan ditampilkan.
-
Install RabbitMQ Server:
sudo apt install rabbitmq-server -y -
Periksa status RabbitMQ:
sudo systemctl status rabbitmq-serverPastikan status menunjukkan:
Active: active (running) -
Aktifkan RabbitMQ agar otomatis berjalan saat server booting:
sudo systemctl enable rabbitmq-server -
Jika RabbitMQ belum berjalan, jalankan service:
sudo systemctl start rabbitmq-server -
Untuk mengelola service RabbitMQ, gunakan perintah berikut:
sudo systemctl restart rabbitmq-server sudo systemctl stop rabbitmq-server -
Periksa listener RabbitMQ:
sudo rabbitmq-diagnostics -s listeners
Beberapa port RabbitMQ yang umum digunakan:
- 5672 untuk koneksi AMQP tanpa TLS.
- 5671 untuk koneksi AMQP dengan TLS.
- 15672 untuk Management UI dan HTTP API.
- 15671 untuk Management UI dan HTTP API melalui HTTPS.
Catatan:
Port 15672 digunakan untuk Management UI dan HTTP API, bukan untuk komunikasi utama aplikasi dengan RabbitMQ. -
Konfigurasi Management Console
-
Mengaktifkan RabbitMQ Management Plugin
Setelah RabbitMQ berhasil berjalan, aktifkan Management Plugin agar RabbitMQ dapat dikelola melalui browser.-
Aktifkan plugin:
sudo rabbitmq-plugins enable rabbitmq_managementRabbitMQ Management Plugin sudah termasuk dalam distribusi RabbitMQ sehingga tidak perlu memasang paket tambahan. Setelah plugin diaktifkan, Management UI dapat digunakan tanpa perlu melakukan restart node.
-
Pastikan plugin sudah aktif:
sudo rabbitmq-plugins list | grep rabbitmq_management -
Buat user administrator. Pada contoh ini digunakan username rabbitadmin:
sudo rabbitmqctl add_user rabbitadminPerintah tersebut akan meminta password secara interaktif sehingga password tidak perlu ditulis langsung pada command line.
-
Berikan tag administrator:
sudo rabbitmqctl set_user_tags rabbitadmin administrator -
Berikan permission pada virtual host default:
sudo rabbitmqctl set_permissions -p / rabbitadmin ".*" ".*" ".*"Tiga pola .* tersebut memberikan permission configure, write, dan read pada virtual host yang ditentukan.
-
Pastikan user sudah terdaftar:
sudo rabbitmqctl list_usersContoh hasil:
Listing users ... rabbitadmin [administrator]
Catatan:
Username untuk login ke Management Console adalah rabbitadmin, bukan administrator. Nilai administrator pada output tersebut merupakan user tag, bukan username.-
Untuk pengujian awal, akses Management Console melalui browser:
http://IP-SERVER:15672
-
Login menggunakan:
Username: rabbitadmin Password: password yang dibuat saat add_user
Catatan:
RabbitMQ Management UI secara default menggunakan port 15672. -
- Berikut tampilan Dashboard RabbitMQ

Mengamankan RabbitMQ dengan Nginx dan HTTPS
-
Konfigurasi Nginx sebagai Reverse Proxy
Untuk penggunaan produksi, sebaiknya RabbitMQ Management Console tidak langsung diekspos melalui port 15672. Salah satu pendekatan yang dapat digunakan adalah Nginx sebagai reverse proxy.-
Install Nginx:
sudo apt install nginx -y -
Aktifkan service Nginx:
sudo systemctl enable nginx sudo systemctl start nginx -
Misalnya Management Console akan diakses menggunakan domain:
rabbitmq.example.com -
Buat konfigurasi Nginx:
sudo nano /etc/nginx/sites-available/rabbitmq.conf -
Masukkan konfigurasi berikut:
server { listen 80; server_name rabbitmq.example.com; location / { proxy_pass http://127.0.0.1:15672; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_redirect off; proxy_buffering off; } }Konfigurasi tersebut membuat Nginx menerima request dari domain dan meneruskannya ke RabbitMQ Management UI melalui 127.0.0.1:15672.
-
Aktifkan konfigurasi:
sudo ln -s /etc/nginx/sites-available/rabbitmq.conf /etc/nginx/sites-enabled/rabbitmq.conf -
Periksa konfigurasi Nginx:
sudo nginx -tJika tidak terdapat kesalahan, hasilnya kurang lebih:
syntax is ok test is successful -
Restart Nginx:
sudo systemctl restart nginx
-
-
Memasang SSL Let's Encrypt
Setelah reverse proxy berjalan, pasang Certbot untuk mendapatkan sertifikat SSL.-
Install Certbot dan plugin Nginx:
sudo apt install certbot python3-certbot-nginx -y -
Pastikan domain sudah mengarah ke IP server, kemudian jalankan:
sudo certbot --nginx -d rabbitmq.example.com -
Ikuti instruksi yang diberikan oleh Certbot.
-
Setelah sertifikat berhasil dibuat, Management Console dapat diakses melalui:
https://rabbitmq.example.com
Catatan:
Browser berkomunikasi dengan Nginx melalui HTTPS pada port 443, sedangkan Nginx meneruskan request ke RabbitMQ Management UI secara lokal. -
-
Mengatur Firewall UFW
Jika menggunakan UFW, izinkan port HTTP dan HTTPS:sudo ufw allow 80/tcp sudo ufw allow 443/tcpPeriksa status firewall:
sudo ufw statusCatatan:
Jika Management Console hanya diakses melalui Nginx, port 15672 tidak perlu dibuka ke internet.
Tips dan Catatan Penting
-
Jangan Salah Membedakan Username dan User Tag
Misalnya membuat user:
sudo rabbitmqctl add_user rabbitadminKemudian memberikan tag administrator:
sudo rabbitmqctl set_user_tags rabbitadmin administratorMaka:
Username : rabbitadmin User tag : administratorUsername yang digunakan untuk login tetap rabbitadmin.
Untuk melihat user yang tersedia:
sudo rabbitmqctl list_users -
Gunakan User Khusus untuk Aplikasi
User administrator sebaiknya digunakan untuk kebutuhan administrasi. Aplikasi sebaiknya menggunakan user khusus dengan permission yang sesuai.
-
Jangan Membuka Semua Port RabbitMQ ke Internet
Jika Management Console sudah menggunakan Nginx, port 15672 tidak perlu dibuka secara publik.
Untuk koneksi aplikasi, gunakan port sesuai kebutuhan:
- 5672 untuk AMQP tanpa TLS.
- 5671 untuk AMQP dengan TLS.
-
Gunakan Password yang Kuat
Hindari penggunaan password sederhana, terutama jika Management Console dapat diakses dari internet.
-
Periksa Log Jika RabbitMQ Bermasalah
Periksa status service:
sudo systemctl status rabbitmq-serverLihat log service:
sudo journalctl -u rabbitmq-server -xeUntuk melihat 100 log terbaru:
sudo journalctl -u rabbitmq-server --no-pager -n 100Jika masalah berkaitan dengan listener, gunakan:
sudo rabbitmq-diagnostics -s listeners
Kesimpulan
Cara install RabbitMQ di Ubuntu 24.04 dapat dilakukan dengan memasang Erlang terlebih dahulu, kemudian RabbitMQ Server menggunakan repository resmi Team RabbitMQ.
Setelah RabbitMQ berjalan, Management Plugin dapat diaktifkan untuk menyediakan antarmuka web. User administrator juga dapat dibuat untuk mengelola RabbitMQ melalui Management Console.
Untuk keamanan, Nginx dapat digunakan sebagai reverse proxy dan akses Management Console diamankan menggunakan HTTPS. Dengan pendekatan ini, port Management 15672 tidak perlu diekspos secara langsung ke internet.
Setelah instalasi selesai, RabbitMQ dapat dilanjutkan ke tahap konfigurasi virtual host, exchange, queue, dan user khusus aplikasi sesuai kebutuhan sistem.


