{"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 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 Ubuntu 20.04;<\/p>\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 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 Sample command installation output. Note that RabbitMQ will be installed alongside all other package dependencies including Erlang packages.<\/p>\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 Install Erlang repository GPG signing key<\/p>\n\n\n\n Install RabbitMQ repository GPG signing key;<\/p>\n\n\n\n Install RabbitMQ and Erlang Repositories;<\/p>\n\n\n\n Run system update;<\/p>\n\n\n\n Next, install RabbitMQ on Ubuntu 20.04;<\/p>\n\n\n\n When installed, RabbitMQ service is started and enabled to run on system boot;<\/p>\n\n\n\n Output;<\/p>\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 To enable RabbitMQ management UI, first enable the management plugin.<\/p>\n\n\n\n Sample command output;<\/p>\n\n\n\n Create administrative user for full management UI and HTTP API access;<\/p>\n\n\n\n Command Syntax:<\/p>\n\n\n\n If you want to change the password use;<\/p>\n\n\n\n Assign the user administrative rights;<\/p>\n\n\n\n Command Syntax;<\/p>\n\n\n\n You can now access RabbitMQ web management UI via the address http:\/\/<server-IP – or domain>:15672<\/p>\n\n\n\n 15672, 15671 are used for HTTP API clients, management UI and rabbitmqadmin.<\/p>\n\n\n\n Open the port on Firewall to allow external access.<\/p>\n\n\n\n Login Interface<\/p>\n\n\n\n Use the credentials created above to login to RabbitMQ UI;<\/p>\n\n\n\nInstall RabbitMQ on Ubuntu 22.04\/Ubuntu 20.04<\/h2>\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
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
Install RabbitMQ on Ubuntu 22.04<\/h3>\n\n\n\n
apt install rabbitmq-server<\/code><\/pre>\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
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
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
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
\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
apt update<\/code><\/pre>\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
systemctl status rabbitmq-server<\/code><\/pre>\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
\n
rabbitmq-diagnostics ping<\/code><\/pre>\n\n\n\n
\n
rabbitmq-diagnostics status<\/code><\/pre>\n\n\n\n
\n
rabbitmq-diagnostics cluster_status<\/code><\/pre>\n\n\n\n
\n
rabbitmq-diagnostics environment<\/code><\/pre>\n\n\n\n
\n
rabbitmq-diagnostics list_queues<\/code><\/pre>\n\n\n\n
Enable RabbitMQ Management UI<\/h3>\n\n\n\n
rabbitmq-plugins enable rabbitmq_management<\/code><\/pre>\n\n\n\n
\nEnabling plugins on node rabbit@ubuntu2204:\nrabbitmq_management\nThe following plugins have been configured:\n rabbitmq_management\n rabbitmq_management_agent\n rabbitmq_web_dispatch\nApplying plugin configuration to rabbit@ubuntu2204...\nThe following plugins have been enabled:\n rabbitmq_management\n rabbitmq_management_agent\n rabbitmq_web_dispatch\n\nstarted 3 plugins.\n<\/code><\/pre>\n\n\n\n
rabbitmqctl add_user kifarunixadmin changemepassword<\/code><\/pre>\n\n\n\n
rabbitmqctl [--node <node>] [--longnames] [--quiet] add_user <username> <password><\/code><\/pre>\n\n\n\n
rabbitmqctl change_password <username> <new-password><\/code><\/pre>\n\n\n\n
rabbitmqctl set_user_tags kifarunixadmin administrator<\/code><\/pre>\n\n\n\n
rabbitmqctl [--node <node>] [--longnames] [--quiet] set_user_tags <username> <tag> [...]<\/code><\/pre>\n\n\n\n
RabbitMQ Management UI Access<\/h3>\n\n\n\n
ss -altnp | grep 56<\/code><\/pre>\n\n\n\n
\nLISTEN 0 128 0.0.0.0:25672 0.0.0.0:* users:((\"beam.smp\",pid=3036,fd=18)) \nLISTEN 0 1024 0.0.0.0:15672 0.0.0.0:* users:((\"beam.smp\",pid=3036,fd=35)) \nLISTEN 0 128 *:5672 *:* users:((\"beam.smp\",pid=3036,fd=33))\n<\/code><\/pre>\n\n\n\n
<\/figure><\/div><\/a><\/div>\n\n\n\n