So installierst du Apache ActiveMQ unter Debian 11
Apache ActiveMQ ist ein freier und quelloffener Message Broker, der von der Apache Software Foundation entwickelt wurde. Er ist einer der bekanntesten Nachrichtenbroker, der mehrere Protokolle wie AMQP, MQTT, Stomp und OpenWire unterstützt. Er ist in Java geschrieben und entspricht vollständig den JMS 1.1 Standards.
Apache ActiveMQ ist einer der beliebtesten Nachrichtenbroker, der verschiedene Programmiersprachen unterstützt und auf mehreren Plattformen eingesetzt werden kann. Es ist ein unternehmenstauglicher Message Broker, der hohe Verfügbarkeit, Skalierbarkeit, Zuverlässigkeit, hohe Leistung und Sicherheit bietet.
In diesem Beitrag erfährst du, wie du den Apache ActiveMQ Multi-Protocol Message Broker auf dem Debian 11 System installierst. Diese Anleitung beinhaltet die Installation von Java OpenJDK und JRE sowie die Konfiguration der Umgebungsvariablen JAVA_HOME.
Voraussetzungen
- Ein Linux-Server Debian 11.
- Ein Nicht-Root-Benutzer mit Root-Administrator-Rechten.
Java OpenJDK und JRE installieren
Zuerst musst du das Java OpenJDK und die JRE installieren, bevor du Apache ActiveMQ installierst. Die aktuelle Version von Apache ActiveMQ benötigt mindestens Java JRE v1.8.
Im Debian 11 Repository gibt es mehrere Versionen von Java OpenJDK und JRE. Du wirst jedoch Java OpenJDK und JRE v1.11 für Apache ActiveMQ installieren.
Aktualisiere dein Debian-Repository mit dem unten stehenden Befehl.
sudo apt update
Als Nächstes installierst du Java OpenJDK und JRE mit dem unten stehenden apt-Befehl.
sudo apt install default-jdk default-jre
Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.
Nachdem die Installation abgeschlossen ist, überprüfe die Java-Version mit dem folgenden Befehl.
java -version
Auf dem Screenshot unten siehst du, dass Java OpenJDK 1.11 auf dem Debian-System installiert ist.
Gehe zum nächsten Schritt, um die Umgebungsvariable JAVA_HOME einzurichten.
Einrichten der Umgebungsvariable JAVA_HOME
Für Apache ActiveMQ muss die Umgebungsvariable JAVA_HOME korrekt für das jvm-Installationsverzeichnis konfiguriert werden, das sich im Verzeichnis /usr/lib/jvm/java-11-openjdk-amd64 befindet. Auf einfache Weise kannst du die Umgebungsvariable JAVA_HOME über die Datei „~/.bashrc“ einrichten.
Füge die Konfiguration mit dem unten stehenden Befehl in die Konfigurationsdatei „~/.bashrc“ ein.
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
Lade nun die Konfigurationsdatei ~/.bashrc neu, um die Änderungen zu übernehmen.
source ~/.bashrc
Überprüfe abschließend die Umgebungsvariable JAVA_HOME mit dem unten stehenden Befehl.
echo $JAVA_HOME
Du wirst die folgende Ausgabe sehen. Die Umgebungsvariable JAVA_HOME ist korrekt auf das JVM-Verzeichnis /usr/lib/jvm/java-11-openjdk-amd64 konfiguriert.
Gehe nun zum nächsten Schritt über, um die Installation von Apache ActiveMQ zu starten.
Installation von Apache ActiveMQ
Der Apache ActiveMQ bietet mehrere Versionen von ActiveMQ an. In diesem Beispiel installierst du Apache ActiveMQ Classic, das leistungsstark ist und mehrere Messaging-Protokolle wie AMQP, MQTT, Stomp und OpenWire unterstützt.
Du kannst aber auch eine andere Version wie ActiveMQ Artemis auf die gleiche Weise wie ActiveMQ Classic installieren.
Um die Installation zu starten, führe den unten stehenden Befehl aus, um Apache ActiveMQ v5.17 (die aktuellste Version zum Zeitpunkt der Erstellung dieses Artikels) herunterzuladen.
wget https://dlcdn.apache.org//activemq/5.17.1/apache-activemq-5.17.1-bin.tar.gz
Nachdem der Downloadvorgang abgeschlossen ist, siehst du die Datei apache-activemq-5.17.1-bin.tar.gz. Entpacke sie mit dem folgenden Befehl.
tar -xzvf apache-activemq-5.17.1-bin.tar.gz
Als Nächstes verschiebst du das entpackte Verzeichnis apache-activemq-5.17.1 in das Verzeichnis /opt/activemq.
mv apache-activemq-5.17.1 /opt/activemq
Danach fügst du mit dem folgenden Befehl einen neuen Benutzer und eine neue Gruppe namens activemq hinzu.
sudo useradd -d /opt/activemq -r -s /bin/false -U activemq
Ändere nun die Eigentümerschaft des Apache ActiveMQ-Installationsverzeichnisses /opt/activemq auf den Benutzer und die Gruppe activemq.
sudo chown -R activemq:activemq /opt/activemq/
Überprüfe abschließend die Eigentümerschaft aller Apache ActiveMQ-Dateien mit dem folgenden Befehl.
ls -lah /opt/activemq
Wie du auf dem folgenden Screenshot sehen kannst, ist das Apache ActiveMQ-Verzeichnis /opt/activemq Eigentum des Benutzers activemq und der Gruppe activemq.
Einrichten von Apache ActiveMQ als Systemd-Dienst
Jetzt musst du den Apache ActiveMQ als systemd-Dienst einrichten. So kannst du ActiveMQ mit dem systemctl-Befehl verwalten, um ActiveMQ zu starten, zu stoppen oder zu aktivieren, damit es beim Systemstart gestartet wird.
Erstelle nun eine neue systemd-Dienstkonfiguration /etc/systemd/system/activemq.service mit dem Editor nano.
sudo nano /etc/systemd/system/activemq.service
Füge die folgende Konfiguration in die Datei ein.
[Unit] Description=Apache ActiveMQ After=network.target
[Service]
Type=forking
User=activemq
Group=activemq
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
[Install]
WantedBy=multi-user.target
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um den systemd manager neu zu laden und alle aufgelisteten Diensteinheiten auf deinem System zu aktualisieren.
sudo systemctl daemon-reload
Füge nun den activemq-Dienst zum Systemstart hinzu und starte den Dienst.
sudo systemctl enable activemq sudo systemctl start activemq
Zuletzt überprüfst du activemq mit dem unten stehenden Befehl.
sudo systemctl status activemq
Auf dem Screenshot unten siehst du, dass der activemq-Dienst läuft und aktiviert ist. Am Ende der Protokollnachricht siehst du die Meldung„Apache ActiveMQ gestartet„.
Einrichten der Apache ActiveMQ Web Console
An diesem Punkt hast du die Installation von Apache ActiveMQ auf dem Debian 11-Server abgeschlossen. Die ActiveMQ-Webkonsole läuft standardmäßig auf dem localhost. Wenn du also auf einem externen Server arbeitest, musst du die LISTEN-Adresse der Apache ActiveMQ-Webkonsole auf deine Server-IP-Adresse ändern.
Bearbeite die Konfigurationsdatei /opt/activemq/conf/jetty.xml mit dem nano-Editor.
sudo nano /opt/activemq/conf/jetty.xml
Ändere den Standard-Host 127.0.0.1 in die IP-Adresse deines Servers. In diesem Lernprogramm lautet die Server-IP-Adresse 192.168.5.20.
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <!-- the default port number for the web console --> <property name="host" value="192.168.5.20"/> <property name="port" value="8161"/> </bean>
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um den activemq-Dienst neu zu starten und die neuen Änderungen in der Konfigurationsdatei jetty.xml zu übernehmen.
sudo systemctl restart activemq
Überprüfe die LISTEN-Ports auf deinem Debian-System mit dem unten stehenden Befehl.
ss -plnt
Wie du auf dem unten stehenden Screenshot sehen kannst, läuft die Apache ActiveMQ Web Console auf der IP-Adresse 192.168.5.20 mit dem Standard-Pot 8161.
Öffne den Webbrowser und rufe deine Server-IP-Adresse mit dem folgenden Port 8161 auf.
http://192.168.5.20:8161/
Du wirst zur grundlegenden Authentifizierung aufgefordert. Gib den Standardbenutzer admin und das Passwort admin ein und klicke dann auf Anmelden.
Und unten siehst du das Dashboard der Apache ActiveMQ Web Console.
<img src=“https://www.howtoforge.com/images/how_to_install_apache_activemq_on_debian_11/10-activemq-web-console.png“ alt=“activemq web conmsople\“ width=“750″ height=“402″ style=“display: block; margin-left: auto; margin-right: auto;“ /></p>
<h2>Abschluss</h2>
<p>Glückwunsch! Du hast gelernt, wie du Apache ActiveMQ auf einem Debian 11 Server installierst und konfigurierst. Du hast auch gelernt, wie du einen benutzerdefinierten Systemd-Dienst zu deinem Debian-Server hinzufügst und die Apache ActiveMQ Web Console aktivierst.</p>