{"id":11747,"date":"2022-03-02T01:01:20","date_gmt":"2022-03-01T22:01:20","guid":{"rendered":"https:\/\/kifarunix.com\/?p=11747"},"modified":"2024-03-09T11:14:12","modified_gmt":"2024-03-09T08:14:12","slug":"install-rabbitmq-on-ubuntu","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-rabbitmq-on-ubuntu\/","title":{"rendered":"Install RabbitMQ on Ubuntu 22.04\/Ubuntu 20.04"},"content":{"rendered":"\n

In this tutorial, you will learn how to install RabbitMQ on Ubuntu 22.04\/Ubuntu 20.04. RabbitMQ<\/a> is the most widely deployed open source message broker written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. It implements the Advanced Message Queuing Protocol (AMQP), Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols.<\/p>\n\n\n\n

Read more on RabbitMQ Features page<\/a>.<\/p>\n\n\n\n

Install RabbitMQ on Ubuntu 22.04\/Ubuntu 20.04<\/h2>\n\n\n\n

RabbitMQ is available on the default Ubuntu repositories. However, the available versions may not be up-to-date.<\/p>\n\n\n\n

Verify the available versions of RabbitMQ on Ubuntu 22.04\/Ubuntu 20.04 repositories;<\/p>\n\n\n\n

Ubuntu 22.04;<\/p>\n\n\n\n

apt-cache policy rabbitmq-server<\/code><\/pre>\n\n\n\n
\nrabbitmq-server:\n  Installed: (none)\n  Candidate: 3.9.13-1\n  Version table:\n     3.9.13-1 500\n        500 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 Packages\n<\/code><\/pre>\n\n\n\n

Ubuntu 20.04;<\/p>\n\n\n\n

apt-cache policy rabbitmq-server<\/code><\/pre>\n\n\n\n
\nrabbitmq-server:\n  Installed: (none)\n  Candidate: 3.8.2-0ubuntu1.3\n  Version table:\n     3.8.2-0ubuntu1.3 500\n        500 http:\/\/ke.archive.ubuntu.com\/ubuntu focal-updates\/main amd64 Packages\n        500 http:\/\/ke.archive.ubuntu.com\/ubuntu focal-security\/main amd64 Packages\n     3.8.2-0ubuntu1 500\n        500 http:\/\/ke.archive.ubuntu.com\/ubuntu focal\/main amd64 Packages\n<\/code><\/pre>\n\n\n\n

As you can see, Ubuntu 22.04 provides RabbitMQ version 3.9.13 while Ubuntu 20.04 provides version 3.9.2.<\/p>\n\n\n\n

According to RabbitMQ release series page, v3.9.13 is the current stable release, as of this writing. This means that Ubuntu 22.04 repositories provides the latest versions of RabbitMQ.<\/p>\n\n\n\n

Install RabbitMQ on Ubuntu 22.04<\/h3>\n\n\n\n

As confirmed above, Ubuntu 22.04 repositories provides the current release versions of RabbitMQ.<\/p>\n\n\n\n

You can then install RabbitMQ on Ubuntu 22.04 by running the command below;<\/p>\n\n\n\n

apt install rabbitmq-server<\/code><\/pre>\n\n\n\n

Sample command installation output. Note that RabbitMQ will be installed alongside all other package dependencies including Erlang packages.<\/p>\n\n\n\n

\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following additional packages will be installed:\n  erlang-asn1 erlang-base erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools\n  erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl libsctp1 socat\nSuggested packages:\n  erlang erlang-manpages erlang-doc lksctp-tools\nThe following NEW packages will be installed:\n  erlang-asn1 erlang-base erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools\n  erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl libsctp1 rabbitmq-server socat\n0 upgraded, 20 newly installed, 0 to remove and 25 not upgraded.\nNeed to get 35.3 MB of archives.\nAfter this operation, 56.1 MB of additional disk space will be used.\nGet:1 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-base amd64 1:24.2.1+dfsg-1 [9,832 kB]\nGet:2 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-asn1 amd64 1:24.2.1+dfsg-1 [911 kB]\nGet:3 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-crypto amd64 1:24.2.1+dfsg-1 [157 kB]\nGet:4 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-public-key amd64 1:24.2.1+dfsg-1 [783 kB]\nGet:5 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-mnesia amd64 1:24.2.1+dfsg-1 [891 kB]\nGet:6 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-runtime-tools amd64 1:24.2.1+dfsg-1 [227 kB]\nGet:7 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-ssl amd64 1:24.2.1+dfsg-1 [1,581 kB]\nGet:8 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-eldap amd64 1:24.2.1+dfsg-1 [125 kB]\nGet:9 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-ftp amd64 1:24.2.1+dfsg-1 [84.4 kB]\nGet:10 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-tftp amd64 1:24.2.1+dfsg-1 [103 kB]\nGet:11 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-inets amd64 1:24.2.1+dfsg-1 [627 kB]\nGet:12 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-snmp amd64 1:24.2.1+dfsg-1 [1,894 kB]\nGet:13 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-os-mon amd64 1:24.2.1+dfsg-1 [91.2 kB]\nGet:14 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-parsetools amd64 1:24.2.1+dfsg-1 [194 kB]\nGet:15 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-syntax-tools amd64 1:24.2.1+dfsg-1 [303 kB]\nGet:16 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-tools amd64 1:24.2.1+dfsg-1 [635 kB]                                                                    \nGet:17 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 erlang-xmerl amd64 1:24.2.1+dfsg-1 [1,382 kB]                                                                  \nGet:18 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 libsctp1 amd64 1.0.19+dfsg-1 [9,374 B]                                                                         \nGet:19 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 socat amd64 1.7.4.1-3ubuntu3 [349 kB]                                                                          \nGet:20 http:\/\/ke.archive.ubuntu.com\/ubuntu jammy\/main amd64 rabbitmq-server all 3.9.13-1 [15.2 MB]                                                                         \nFetched 35.3 MB in 13s (2,637 kB\/s)                                                                                                                                        \nSelecting previously unselected package erlang-base.\n(Reading database ... 159131 files and directories currently installed.)\nPreparing to unpack ...\/00-erlang-base_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-base (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-asn1.\nPreparing to unpack ...\/01-erlang-asn1_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-asn1 (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-crypto.\nPreparing to unpack ...\/02-erlang-crypto_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-crypto (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-public-key.\nPreparing to unpack ...\/03-erlang-public-key_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-public-key (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-mnesia.\nPreparing to unpack ...\/04-erlang-mnesia_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-mnesia (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-runtime-tools.\nPreparing to unpack ...\/05-erlang-runtime-tools_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-runtime-tools (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-ssl.\nPreparing to unpack ...\/06-erlang-ssl_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-ssl (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-eldap.\nPreparing to unpack ...\/07-erlang-eldap_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-eldap (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-ftp.\nPreparing to unpack ...\/08-erlang-ftp_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-ftp (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-tftp.\nPreparing to unpack ...\/09-erlang-tftp_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-tftp (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-inets.\nPreparing to unpack ...\/10-erlang-inets_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-inets (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-snmp.\nPreparing to unpack ...\/11-erlang-snmp_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-snmp (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-os-mon.\nPreparing to unpack ...\/12-erlang-os-mon_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-os-mon (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-parsetools.\nPreparing to unpack ...\/13-erlang-parsetools_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-parsetools (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-syntax-tools.\nPreparing to unpack ...\/14-erlang-syntax-tools_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-syntax-tools (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-tools.\nPreparing to unpack ...\/15-erlang-tools_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-tools (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package erlang-xmerl.\nPreparing to unpack ...\/16-erlang-xmerl_1%3a24.2.1+dfsg-1_amd64.deb ...\nUnpacking erlang-xmerl (1:24.2.1+dfsg-1) ...\nSelecting previously unselected package libsctp1:amd64.\nPreparing to unpack ...\/17-libsctp1_1.0.19+dfsg-1_amd64.deb ...\nUnpacking libsctp1:amd64 (1.0.19+dfsg-1) ...\nSelecting previously unselected package socat.\nPreparing to unpack ...\/18-socat_1.7.4.1-3ubuntu3_amd64.deb ...\nUnpacking socat (1.7.4.1-3ubuntu3) ...\nSelecting previously unselected package rabbitmq-server.\nPreparing to unpack ...\/19-rabbitmq-server_3.9.13-1_all.deb ...\nUnpacking rabbitmq-server (3.9.13-1) ...\nSetting up erlang-base (1:24.2.1+dfsg-1) ...\nSearching for services which depend on erlang and should be started... none found.\nSetting up erlang-xmerl (1:24.2.1+dfsg-1) ...\nSetting up erlang-syntax-tools (1:24.2.1+dfsg-1) ...\nSetting up erlang-parsetools (1:24.2.1+dfsg-1) ...\nSetting up socat (1.7.4.1-3ubuntu3) ...\nSetting up erlang-asn1 (1:24.2.1+dfsg-1) ...\nSetting up erlang-tftp (1:24.2.1+dfsg-1) ...\nSetting up libsctp1:amd64 (1.0.19+dfsg-1) ...\nSetting up erlang-mnesia (1:24.2.1+dfsg-1) ...\nSetting up erlang-crypto (1:24.2.1+dfsg-1) ...\nSetting up erlang-runtime-tools (1:24.2.1+dfsg-1) ...\nSetting up erlang-tools (1:24.2.1+dfsg-1) ...\nSetting up erlang-snmp (1:24.2.1+dfsg-1) ...\nSetting up erlang-public-key (1:24.2.1+dfsg-1) ...\nSetting up erlang-ssl (1:24.2.1+dfsg-1) ...\nSetting up erlang-os-mon (1:24.2.1+dfsg-1) ...\nSetting up erlang-eldap (1:24.2.1+dfsg-1) ...\nSetting up erlang-ftp (1:24.2.1+dfsg-1) ...\nSetting up erlang-inets (1:24.2.1+dfsg-1) ...\nSetting up rabbitmq-server (3.9.13-1) ...\nAdding group `rabbitmq' (GID 137) ...\nDone.\nAdding system user `rabbitmq' (UID 130) ...\nAdding new user `rabbitmq' (UID 130) with group `rabbitmq' ...\nNot creating home directory `\/var\/lib\/rabbitmq'.\nCreated symlink \/etc\/systemd\/system\/multi-user.target.wants\/rabbitmq-server.service \u2192 \/lib\/systemd\/system\/rabbitmq-server.service.\nProcessing triggers for man-db (2.10.1-1) ...\nProcessing triggers for libc-bin (2.35-0ubuntu1) ...\n<\/code><\/pre>\n\n\n\n

Install RabbitMQ on Ubuntu 20.04<\/h3>\n\n\n\n

To install latest version of RabbitMQ on Ubuntu 20.04, you need to install the Cloudsmith RabbitMQ repository and modern Erlang repository as follows;<\/p>\n\n\n\n

Install Team RabbitMQ’s main signing key;<\/p>\n\n\n\n

curl -1sLf \"https:\/\/keys.openpgp.org\/vks\/v1\/by-fingerprint\/0A9AF2115F4687BD29803A206B73A36E6026DFCA\" | gpg --dearmor > \/etc\/apt\/trusted.gpg.d\/rabbitmq.team.gpg<\/code><\/pre>\n\n\n\n

Install Erlang repository GPG signing key<\/p>\n\n\n\n

curl -1sLf https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-erlang\/gpg.E495BB49CC4BBE5B.key | gpg --dearmor > \/etc\/apt\/trusted.gpg.d\/erlang.gpg<\/code><\/pre>\n\n\n\n

Install RabbitMQ repository GPG signing key;<\/p>\n\n\n\n

curl -1sLf https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-server\/gpg.9F4587F226208342.key | gpg --dearmor > \/etc\/apt\/trusted.gpg.d\/rabbitmq.gpg<\/code><\/pre>\n\n\n\n

Install RabbitMQ and Erlang Repositories;<\/p>\n\n\n\n

\ncat > \/etc\/apt\/sources.list.d\/rabbitmq.list << 'EOL'\n## Erlang\ndeb  https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-erlang\/deb\/ubuntu focal main\ndeb-src https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-erlang\/deb\/ubuntu focal main\n\n## Provides RabbitMQ\ndeb https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-server\/deb\/ubuntu focal main\ndeb-src  https:\/\/dl.cloudsmith.io\/public\/rabbitmq\/rabbitmq-server\/deb\/ubuntu focal main\nEOL\n<\/code><\/pre>\n\n\n\n

Run system update;<\/p>\n\n\n\n

apt update<\/code><\/pre>\n\n\n\n

Next, install RabbitMQ on Ubuntu 20.04;<\/p>\n\n\n\n

apt install rabbitmq-server<\/code><\/pre>\n\n\n\n
\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nThe following additional packages will be installed:\n  erlang-asn1 erlang-base erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools\n  erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl libsctp1\nSuggested packages:\n  erlang erlang-manpages erlang-doc lksctp-tools\nThe following NEW packages will be installed:\n  erlang-asn1 erlang-base erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools\n  erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl libsctp1 rabbitmq-server\n0 upgraded, 19 newly installed, 0 to remove and 150 not upgraded.\nNeed to get 32.4 MB of archives.\nAfter this operation, 64.5 MB of additional disk space will be used.\nDo you want to continue? [Y\/n] y\n<\/code><\/pre>\n\n\n\n

Running RabbitMQ Service<\/h3>\n\n\n\n

When installed, RabbitMQ service is started and enabled to run on system boot;<\/p>\n\n\n\n

systemctl status rabbitmq-server<\/code><\/pre>\n\n\n\n

Output;<\/p>\n\n\n\n

\n\u25cf rabbitmq-server.service - RabbitMQ Messaging Server\n     Loaded: loaded (\/lib\/systemd\/system\/rabbitmq-server.service; enabled; vendor preset: enabled)\n     Active: active (running) since Tue 2022-03-01 23:45:34 EAT; 22min ago\n   Main PID: 3036 (beam.smp)\n      Tasks: 23 (limit: 2306)\n     Memory: 85.9M\n        CPU: 15.014s\n     CGroup: \/system.slice\/rabbitmq-server.service\n             \u251c\u25003036 \/usr\/lib\/erlang\/erts-12.2.1\/bin\/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 1>\n             \u251c\u25003050 erl_child_setup 65536\n             \u251c\u25003116 inet_gethost 4\n             \u2514\u25003117 inet_gethost 4\n\nMac 01 23:45:17 ubuntu2204 systemd[1]: Starting RabbitMQ Messaging Server...\nMac 01 23:45:34 ubuntu2204 systemd[1]: Started RabbitMQ Messaging Server.\n<\/code><\/pre>\n\n\n\n

You can control\/manage the service using systemctl like start, stop, restart…<\/p>\n\n\n\n

You can also run RabbitMQ command line tools. See examples given on the RabbitMQ configuration page<\/a>.<\/p>\n\n\n\n