Apache ActiveMQ installeren op Ubuntu 20.04

Apache ActiveMQ is een gratis, open-source, en op Java gebaseerde message broker software van Apache Foundation. Het wordt gebruikt om berichten tussen verschillende toepassingen te versturen en biedt ook extra mogelijkheden als STOMP, JMS, en OpenWire. Het ondersteunt industrie-standaard protocollen die communicatie tussen afzonderlijke toepassingen mogelijk maken.

De Apache ActiveMQ is de beste keuze als je een hoog-performante message broker voor je toepassingen zoekt.

In deze handleiding laten we je zien hoe je Apache ActiveMQ op Ubuntu 20.04 kunt installeren.

Vereisten

  • Een server waarop Ubuntu 20.04 draait.
  • Een root wachtwoord is de server geconfigureerd.

Installeer Java

Apache ActiveMQ is een op Java gebaseerde toepassing, dus Java moet op je server geïnstalleerd zijn. Als het niet geïnstalleerd is, kun je het installeren door het volgende commando uit te voeren:

apt-get install openjdk-11-jdk openjdk-11-jre -y

Eenmaal geïnstalleerd kun je de Java versie verifiëren met het volgende commando:

java -version

Je zou de volgende uitvoer moeten krijgen:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Installeer Apache ActiveMQ

Op het moment van schrijven van deze handleiding is de nieuwste versie van ActiveMQ 5.16.0. Je kunt het downloaden met het volgende commando:

wget https://downloads.apache.org//activemq/5.16.0/apache-activemq-5.16.0-bin.tar.gz

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

tar -xvzf apache-activemq-5.16.0-bin.tar.gz

Verplaats vervolgens de uitgepakte map naar de /opt met het volgende commando:

mv apache-activemq-5.16.0 /opt/activemq

Vervolgens moet je een nieuwe gebruiker en groep aanmaken om Apache ActiveMQ te draaien. Je kunt ze aanmaken met het volgende commando:

addgroup --quiet --system activemq
adduser --quiet --system --ingroup activemq --no-create-home --disabled-password activemq

Verander vervolgens de ownersip van de /opt/activemq in activemq zoals hieronder:

chown -R activemq:activemq /opt/activemq

Als je klaar bent, kun je verder gaan met de volgende stap.

Maak een Systemd Service bestand voor ActiveMQ

Vervolgens moet je een systemd dienstbestand aanmaken om de ActiveMQ dienst te beheren. Je kunt het aanmaken met het volgende commando:

nano /etc/systemd/system/activemq.service

Voeg de volgende regels toe:

[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

Sla het bestand op en sluit het als je klaar bent. Herlaad dan de systemd daemon met het volgende commando:

systemctl daemon-reload

Start vervolgens de ActiveMQ dienst en zet hem aan om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start activemq
systemctl enable activemq

Je kunt nu de status van de ActiveMQ dienst controleren met het volgende commando:

systemctl status activemq

Je zou de volgende uitvoer moeten krijgen:

? activemq.service - Apache ActiveMQ
     Loaded: loaded (/etc/systemd/system/activemq.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-08-01 11:43:25 UTC; 22s ago
    Process: 31092 ExecStart=/opt/activemq/bin/activemq start (code=exited, status=0/SUCCESS)
   Main PID: 31165 (java)
      Tasks: 49 (limit: 2353)
     Memory: 190.5M
     CGroup: /system.slice/activemq.service
             ??31165 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/ac>

Aug 01 11:43:25 ubuntu2004 systemd[1]: Starting Apache ActiveMQ...
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Loading '/opt/activemq//bin/env'
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Using java '/usr/bin/java'
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get deta>
Aug 01 11:43:25 ubuntu2004 activemq[31164]: INFO: pidfile created : '/opt/activemq//data/activemq.pid' (pid '31165')
Aug 01 11:43:25 ubuntu2004 systemd[1]: Started Apache ActiveMQ.
lines 1-16/16 (END)

Op dit moment draait ActiveMQ en luistert op poort 8161.

Toegang tot de Apache ActiveMQ webinterface

Standaard is Apache ActiveMQ geconfigureerd voor toegang vanaf de localhost. Je zult het dus moeten configureren voor toegang vanaf de externe hosts. Je kunt dit instellen door het bestand /opt/activemq/conf/jetty.xml te bewerken:

nano /opt/activemq/conf/jetty.xml

Zoek de volgende regel:

        <property name="host" value="127.0.0.1"/>

Vervang het door de volgende regel:

        <property name="host" value="your-server-ip"/>

Bewaar en sluit het bestand en herstart dan de Apache ActiveMQ dienst om de veranderingen toe te passen:

systemctl restart activemq

Open nu je webbrowser en benader de Apache ActiveMQ met de URL http://your-server-ip:8161:/admin. Je wordt om een gebruikersnaam en wachtwoord gevraagd zoals hieronder:

Geef standaard gebruikersnaam en wachtwoord als admin / admin en klik op de knop Sign In. Je zou het Apache ActiveMQ dashboard moeten zien in het volgende scherm:

Conclusie

Gefeliciteerd! Je hebt met succes Apache ActiveMQ geïnstalleerd op Ubuntu 20.04. Je kunt nu beginnen met het ontwikkelen van je eerste ActiveMQ Messaging Applicatie.