Title
Create new category
Edit page index title
Edit category
Edit link
Air-gapped
RabbitMQ version 3.13.0 or higher is required.
Please refer to the link for the Erlang-RabbitMQ compatibility matrix.
To install Redis in an air-gapped environment, download the required packages on a preparation machine and then transfer them to the air-gapped server. The preparation machine should have internet access and run the same operating system version as the target server.
Prerequisites
Before installing the RabbitMQ service, ensure the following requirements are met.
| Requirement | Description |
|---|---|
| Operating System | Debian 12+, Ubuntu 22.04+, Rocky Linux 9+, or RHEL 9+. |
| Privileges | root or sudo privileges on both the preparation machine and the air-gapped server. |
| Hardware | 4 vCPU and 8 GB RAM. |
| Disk space | At least 100 GB of available storage. |
| Network access | Required ports are open:
A minimum network bandwidth of 1 Gbps is required. A bandwidth of 5 Gbps or higher is strongly recommended for production deployments. |
Debian, Ubuntu
Prepare packages
- On the preparation machine, run commands.
sudo apt install -y apt-rdepends wget ## Team RabbitMQ's signing keycurl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF## 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 maindeb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main ## Provides modern RabbitMQ releases##deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/ubuntu/noble noble maindeb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/ubuntu/noble noble mainEOF sudo apt-get update -y ## Download packagemkdir -p rabbitmq && cd rabbitmqapt-rdepends -p 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 \ | grep -v "^ " \ | grep -v "^debconf" \ | xargs -I {} bash -c 'apt-get download "{}" || true'wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.2.5/rabbitmq-server_4.2.5-1_all.deb cd ..- Copy the
rabbitmqfolder to a USB drive or secure transfer medium. - Move it to the air-gapped server.
Install RabbitMQ
- On the target server, insert the USB drive or secure transfer medium.
- Run the commands below in the
rabbitmqfolder.
xxxxxxxxxx# Installsudo dpkg -i ./*.deb # enable servicesudo systemctl enable --now rabbitmq-serversudo systemctl status rabbitmq-server- Set up user.
xxxxxxxxxxsudo rabbitmqctl add_user <username> <password>sudo rabbitmqctl set_permissions -p / <username> "." "." "."sudo rabbitmqctl set_user_tags <username> administratorRocky, RHEL 9
Prepare packages
- On the preparation machine, run commands.
## primary RabbitMQ signing keysudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'## modern Erlang repositorysudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key'## RabbitMQ server repositorysudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key' sudo tee /etc/yum.repos.d/rabbitmq.repo >/dev/null <<'EOF'#### Zero dependency Erlang RPM## [modern-erlang]name=modern-erlang-el9# Use a set of mirrors maintained by the RabbitMQ core team.# The mirrors have significantly higher bandwidth quotas.baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch https://yum2.rabbitmq.com/erlang/el/9/$basearchrepo_gpgcheck=1enabled=1gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.keygpgcheck=1sslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300pkg_gpgcheck=1autorefresh=1type=rpm-md [modern-erlang-noarch]name=modern-erlang-el9-noarch# Use a set of mirrors maintained by the RabbitMQ core team.# The mirrors have significantly higher bandwidth quotas.baseurl=https://yum1.rabbitmq.com/erlang/el/9/noarch https://yum2.rabbitmq.com/erlang/el/9/noarchrepo_gpgcheck=1enabled=1gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.ascgpgcheck=1sslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300pkg_gpgcheck=1autorefresh=1type=rpm-md #### RabbitMQ Server## [rabbitmq-el9]name=rabbitmq-el9baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/$basearch https://yum1.rabbitmq.com/rabbitmq/el/9/$basearchrepo_gpgcheck=1enabled=1# Cloudsmith's repository key and RabbitMQ package signing keygpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.ascgpgcheck=1sslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300pkg_gpgcheck=1autorefresh=1type=rpm-md [rabbitmq-el9-noarch]name=rabbitmq-el9-noarchbaseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch https://yum1.rabbitmq.com/rabbitmq/el/9/noarchrepo_gpgcheck=1enabled=1# Cloudsmith's repository key and RabbitMQ package signing keygpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.ascgpgcheck=1sslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300pkg_gpgcheck=1autorefresh=1type=rpm-mdEOF sudo dnf update -y # download erlang and rabbitmqmkdir rabbitmq && cd rabbitmqdnf download --resolve --alldeps --downloaddir . erlangwget https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.2.5/rabbitmq-server-4.2.5-1.el8.noarch.rpmcd ..- Copy the
rabbitmqfolder to a USB drive or secure transfer medium. - Move it to the air-gapped server.
Install RabbitMQ
- On the target server, insert the USB drive or secure transfer medium.
- Run the commands below in the
rabbitmqfolder.
xxxxxxxxxxsudo dnf install ./*.rpm --disablerepo '*'sudo systemctl enable --now rabbitmq-serversudo systemctl status rabbitmq-serverSometimes, other dependencies require upgrading. Example:

You should manually download the dependencies using the command dnf download --resolve --alldeps --downloaddir . <package_names> . Then copy them to the rabbitmq-server folder and install again.
- Set up user.
xxxxxxxxxxsudo rabbitmqctl add_user <username> <password>sudo rabbitmqctl set_permissions -p / <username> "." "." "."sudo rabbitmqctl set_user_tags <username> administrator