Schritt-für-Schritt-Anleitung: Installation von Apache ActiveMQ Artemis unter Linux

Melden

Apache ActiveMQ Artemis ist ein leistungsstarker, asynchroner Open-Source-Message-Broker. Diese Anleitung führt dich durch die vollständige Installation und Einrichtung einer Artemis-Instanz auf einem Linux-basierten System (z. B. Ubuntu, Debian, CentOS oder AlmaLinux).


Voraussetzungen

  • Ein Linux-Server mit Root- oder sudo-Rechten.
  • Ein terminalbasierter Texteditor (z. B. nano oder vim).

Schritt 1: Java (OpenJDK) installieren

ActiveMQ Artemis benötigt Java, um ausgeführt werden zu können (empfohlen wird OpenJDK 11 oder OpenJDK 17).

Unter Ubuntu / Debian:

sudo apt update
sudo apt install -y openjdk-17-jdk

Unter RHEL / CentOS / AlmaLinux:

sudo dnf install -y java-17-openjdk-devel

Überprüfe die Installation:

java -version

Schritt 2: Dedizierten System-Benutzer anlegen

Aus Sicherheitsgründen sollte Artemis nicht als root-Benutzer laufen. Erstelle daher einen eigenen Benutzer namens artemis:

sudo useradd -r -m -d /opt/activemq-artemis -s /bin/bash artemis

Schritt 3: ActiveMQ Artemis herunterladen

  1. Wechsle in das temporäre Verzeichnis:

    cd /tmp
  2. Lade die aktuelle Version von der offiziellen Apache-Website herunter (ersetze <VERSION> durch die gewünschte Versionsnummer, z. B. 2.31.2):

    wget https://archive.apache.org/dist/activemq/activemq-artemis/<VERSION>/apache-artemis-<VERSION>-bin.tar.gz
  3. Entpacke das Archiv nach /opt:

    sudo tar -xvzf apache-artemis-<VERSION>-bin.tar.gz -C /opt
  4. Erstelle einen Symlink, um Pfade zu vereinfachen und spätere Updates zu erleichtern:

    sudo ln -s /opt/apache-artemis-<VERSION> /opt/artemis-home

Schritt 4: Eine Broker-Instanz erstellen

Artemis trennt die Binärdateien (Software) strikt von den Instanzdaten (Konfiguration, Warteschlangen, Logs).

  1. Erstelle ein Verzeichnis für deine Broker-Instanz (z. B. in /var/lib/mybroker):

    sudo /opt/artemis-home/bin/artemis create /var/lib/mybroker
  2. Während der Erstellung wirst du interaktiv nach folgenden Details gefragt:

    • Benutzername: (z. B. admin)
    • Passwort: (Dein sicheres Passwort)
    • Allow anonymous access? (Empfohlen: N für Nein)
  3. Setze die Besitzrechte auf den zuvor erstellten artemis-Benutzer:

    sudo chown -R artemis:artemis /var/lib/mybroker
    sudo chown -R artemis:artemis /opt/artemis-home

Schritt 5: Web-Konsole für Remote-Zugriff konfigurieren (Optional)

Standardmäßig ist die Management-Webkonsole nur über localhost erreichbar. Wenn du über das Netzwerk darauf zugreifen möchtest:

  1. Öffne die Datei bootstrap.xml:

    sudo nano /var/lib/mybroker/etc/bootstrap.xml
  2. Suche den Eintrag <web bind="http://localhost:8161" ...> und ändere localhost zu 0.0.0.0:

    <web bind="http://0.0.0.0:8161" path="web">
  3. Speichere und schließe die Datei.


Schritt 6: Systemd-Dienst einrichten

Damit der Broker automatisch beim Systemstart hochfährt und im Hintergrund läuft, erstelle einen systemd-Service.

  1. Erstelle die Dienstdatei:

    sudo nano /etc/systemd/system/artemis.service
  2. Füge folgende Konfiguration ein:

    [Unit]
    Description=Apache ActiveMQ Artemis Message Broker
    After=network.target
    
    [Service]
    Type=simple
    User=artemis
    Group=artemis
    ExecStart=/var/lib/mybroker/bin/artemis run
    ExecStop=/var/lib/mybroker/bin/artemis stop
    Restart=on-failure
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
  3. Lade die Systemd-Konfiguration neu, aktiviere den Dienst und starte ihn:

    sudo systemctl daemon-reload
    sudo systemctl enable artemis
    sudo systemctl start artemis
  4. Überprüfe den Status:

    sudo systemctl status artemis

Schritt 7: Firewall anpassen

Falls eine Firewall aktiv ist, müssen die Standard-Ports freigegeben werden:

  • 8161: Web-Konsole
  • 61616: Core-Client-Port (JMS, MQTT, AMQP, STOMP etc.)

Für UFW (Ubuntu/Debian):

sudo ufw allow 8161/tcp
sudo ufw allow 61616/tcp
sudo ufw reload

Für Firewalld (RHEL/CentOS):

sudo firewall-cmd --permanent --add-port=8161/tcp
sudo firewall-cmd --permanent --add-port=61616/tcp
sudo firewall-cmd --reload

Schritt 8: Zugriff auf die Web-Konsole

Öffne deinen Browser und rufe die Management-Oberfläche auf:

http://<DEINE-SERVER-IP>:8161/console

Melde dich mit den Zugangsdaten an, die du bei Schritt 4 vergeben hast. Die Installation von Apache ActiveMQ Artemis ist nun erfolgreich abgeschlossen.

0