RabbitMQ

<< Click to Display Table of Contents >>

Navigation:  Linux - Ubuntu 24.04 >

RabbitMQ

Einführung

RabbitMQ ist ein Verteiler von Nachrichten. Über RabbitMQ kann man Programme in verschiedenen Programmiersprachen kommunizieren lassen.

•The Home Page of RabbitMQ

Bei der Installation von RabbitMQ muß man eine Client- und eine Server-Installation unterscheiden. Eine Client-Installation ist dann möglich, wenn ein RabbitMQ Server auf einer anderen Maschine genutzt werden soll - ansonsten ist eine Vollinstallation notwendig.

Client-Installation

Die Client-Installation erfolgt durch die Installation eines Packages unter Ubuntu:

 

 
sudo apt-get install librabbitmq-dev
 

 

Diese Installation legt die notwendige Bibliothek unter '/lib/x86_64-linux-gnu/librabbitmq.so.4' ab. Auf diese Bibliothek greift das Gemstone/RabbitMQ Binding zu. Hierzu braucht man mindestens die Version Gemstone/S 3.6.5.

 

Diese Installation muß immer auf dem Rechner durchgeführt werden, auf dem Gemstone läuft.

 

Server-Installation

Bei der Server-Installation greifen wir auf die Installation von Cloudsmith zurück, die auch auf den offiziellen Webseiten von RabbitMQ erwähnt wird als eine der beiden Hauptanbieter von aktuellen Packages.

Die wesentlichen Skripte sind für die aktuellen Ubuntu-Serverlizenzen zusammengefasst.

Ubuntu 24.04 (noble)

 

#!/bin/sh

 

sudo apt-get install curl gnupg apt-transport-https -y

 

## Team RabbitMQ's signing key

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

 

## Add apt repositories maintained by Team RabbitMQ

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 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

EOF

 

## Update package indices

sudo apt-get update -y

 

## Install Erlang packages

sudo apt-get 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

 

## Install rabbitmq-server and its dependencies

sudo apt-get install rabbitmq-server -y --fix-missing

 

Ubuntu 22.04 (jammy)

 

#!/usr/bin/sh
sudo apt-get install curl gnupg apt-transport-https -y
## Team RabbitMQ's main signing key
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
## Cloudsmith: modern Erlang repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Cloudsmith: RabbitMQ repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /dev/null
## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
## Provides RabbitMQ
##
deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
EOF
## Update package indices
sudo apt-get update -y
## Install Erlang packages
sudo apt-get 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
## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

 

Firewall

Man bedenke, daß RabbitMQ einige Ports benötigt: 15692, 15671, 15672, 5671, 5672 at least.