Apache ActiveMQ unter CentOS 7 installieren
Apache ActiveMQ ist eine weit verbreitete, quelloffene Plattform zur Nachrichtenübermittlung und Systemintegration in Unternehmensanwendungen.
In dieser Anleitung wird erläutert, wie die Binärdistribution von Apache ActiveMQ auf einem CentOS 7 System eingerichtet wird.
Voraussetzungen
- Ein frisch aufgesetzter CentOS-7-Server mit der IP-Adresse
203.0.113.1
. - Ein Benutzerkonto mit
sudo
-Rechten. - Installiertes Java in Version 7 oder höher.
Schritt 1: Systemaktualisierung
Verbinde dich per SSH mit dem Server als sudo
-Benutzer. Installiere anschließend alle verfügbaren Updates über das EPEL YUM Repository:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Nach dem Neustart meldest du dich erneut mit demselben sudo
-Benutzerkonto am Server an.
Schritt 2: OpenJDK JRE 8 installieren
Apache ActiveMQ 5.x setzt mindestens Java 7 voraus. In diesem Fall wird OpenJDK 8 JRE über YUM installiert:
sudo yum install -y java-1.8.0-openjdk
Um zu prüfen, ob Java korrekt installiert wurde, führe folgenden Befehl aus:
java -version
Die Ausgabe sollte etwa so aussehen:
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
Danach wird die Umgebungsvariable JAVA_HOME
wie folgt gesetzt:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Schritt 3: Apache ActiveMQ installieren
Die aktuell stabile Version von Apache ActiveMQ kann jederzeit über die offizielle Website heruntergeladen werden. Zum Zeitpunkt dieser Anleitung ist Version 5.14.3 aktuell:
cd
wget https://archive.apache.org/dist/activemq/5.14.3/apache-activemq-5.14.3-bin.tar.gz
sudo tar -zxvf apache-activemq-5.14.3-bin.tar.gz -C /opt
Zur Erleichterung zukünftiger Aktualisierungen empfiehlt es sich, eine symbolische Verknüpfung zu erstellen, die unabhängig von der Versionsnummer ist:
sudo ln -s /opt/apache-activemq-5.14.3 /opt/activemq
Schritt 4: Systemd-Dienst für ActiveMQ erstellen
Apache ActiveMQ kann direkt über das mitgelieferte Startskript ausgeführt werden:
cd /opt/activemq
sudo ./bin/activemq start
Für eine bessere Einbindung in das System empfiehlt es sich jedoch, ActiveMQ als Systemd-Dienst zu konfigurieren. Erstelle dazu zunächst die entsprechende Unit-Datei:
sudo vi /usr/lib/systemd/system/activemq.service
Füge anschließend den folgenden Inhalt in die Datei ein:
[Unit]
Description=activemq message queue
After=network.target
[Service]
PIDFile=/opt/activemq/data/activemq.pid
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
User=root
Group=root
[Install]
WantedBy=multi-user.target
Um die Datei in vi
zu speichern und zu beenden, gib folgenden Befehl ein:
:wq!
Nun lässt sich ActiveMQ ganz bequem über Systemd aktivieren, starten oder stoppen:
sudo systemctl enable activemq.service
sudo systemctl start activemq.service
sudo systemctl stop activemq.service
Schritt 5: Nutzung der Apache ActiveMQ Webkonsole
Nach dem Start von ActiveMQ kann die zugehörige Weboberfläche aufgerufen werden.
Starte den Dienst:
sudo systemctl start activemq.service
Erlaube anschließend den Zugriff auf Port 8161
über die Firewall:
sudo firewall-cmd --zone=public --permanent --add-port=8161/tcp
sudo firewall-cmd --reload
Öffne nun deinen Browser und rufe folgende Adresse auf:
http://203.0.113.1:8161/admin
Standardmäßig lauten die Zugangsdaten wie folgt:
- Benutzername:
admin
- Passwort:
admin
Die Zugangsdaten lassen sich in der Datei /opt/activemq/conf/jetty-realm.properties
anpassen.
Apache ActiveMQ ist damit vollständig eingerichtet und einsatzbereit. Vielen Dank für die Nutzung dieser Anleitung.
Fazit
Mit Hilfe dieser Schritt-für-Schritt-Anleitung hast du erfolgreich Apache ActiveMQ auf einem CentOS-7-System installiert und konfiguriert. Du hast die nötige Java-Umgebung eingerichtet, das Archiv heruntergeladen und entpackt, ActiveMQ als Systemd-Dienst eingebunden und die Webkonsole freigeschaltet. Diese Konfiguration bietet eine solide Basis für skalierbare Messaging-Lösungen im Enterprise-Bereich mit Apache ActiveMQ.