Apache ActiveMQ es un intermediario de mensajes de código abierto escrito en Java desarrollado por Apache. Es uno de los intermediarios de mensajes más populares. Ofrece potencia y flexibilidad, admite servidor de mensajería multiprotocolo y basado en Java. Conectividad de los principales lenguajes de programación como C, C++, Python, .Net, etc.
Apache ActiveMQ le permite integrar aplicaciones multiplataforma utilizando el omnipresente protocolo AMPQ. Un intercambio entre aplicaciones web que utilizan STOMP a través de websocket, gestiona dispositivos IoT mediante MQTT y es compatible con la infraestructura JMS y más.
En este tutorial, le mostraremos cómo instalar Apache ActiveMQ en la versión más reciente de Debian Buster 10. Instalaremos ActiveMQ usando el archivo binario oficial, configuraremos ActiveMQ como un servicio systemd y habilitaremos la autenticación de contraseña.
Requisitos previos
Para esta guía, utilizaremos la versión más reciente de Debian Buster 10 con 2 GB de RAM, 50 GB de espacio libre en disco y 2 CPU.
¿Qué haremos?
- Instalar Java en Debian 10
- Descargar e instalar Apache ActiveMQ
- Configurar Apache ActiveMQ como un servicio de Systemd
- Configurar contraseña cifrada para consola web
- Pruebas
Paso 1:instalar Java en Debian 10
Primero, instalaremos Java OpenJDK y JRE en Debian Buster 10. Ambos paquetes están disponibles de forma predeterminada en el repositorio de Debian.
Actualice todos los repositorios disponibles en el sistema Debian e instale Java OpenJDK y JRE usando el comando apt a continuación.
sudo apt update
sudo apt install default-jdk default-jre
Una vez completada toda la instalación, verifique la versión de Java usando el siguiente comando.
java -version
A continuación se muestra la respuesta que obtendrá.
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)
Como resultado, Java OpenJDK y JRE '11' se han instalado en el servidor Debian.
Paso 2:descargue e instale Apache ActiveMQ
En este paso, descargaremos e instalaremos Apache ActiveMQ en nuestro sistema Debian.
Antes de continuar, creemos un nuevo usuario del sistema 'activemq' usando el siguiente comando.
adduser --system --no-create-home --disabled-login --group activemq
Ahora descargue el archivo binario de Apache ActiveMQ y extraiga el archivo con el siguiente comando.
wget --quiet http://www-us.apache.org/dist/activemq/5.15.12/apache-activemq-5.15.12-bin.tar.gz
tar -xf apache-activemq-5.15.12-bin.tar.gz
Después de eso, mueva el directorio Apache ActiveMQ a '/opt/activemq' y cambie la propiedad del directorio ActiveMQ al usuario 'activemq'.
mv apache-activemq-*/ /opt/activemq
sudo chown -R activemq:activemq /opt/activemq
Como resultado, Apache ActiveMQ está instalado en el sistema Debian.
Paso 3:configurar Apache ActiveMQ como un servicio de Systemd
Después de descargar e instalar Apache ActiveMQ, configuraremos ActiveMQ como un servicio systemd.
Ahora vaya al directorio '/etc/systemd/system' y cree un nuevo archivo de servicio 'activemq.service' usando el editor vim.
cd /etc/systemd/system/
vim activemq.service
Pegue la siguiente configuración en él.
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/activemq/bin
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
Restart=on-abort
User=activemq
Group=activemq
[Install]
WantedBy=multi-user.target
Guardar y cerrar.
A continuación, vuelva a cargar el administrador de systemd para aplicar la nueva configuración de servicio de systemd.
systemctl daemon-reload
Ahora inicie el servidor ActiveMQ y agréguelo al arranque del sistema.
systemctl start activemq
systemctl enable activemq
Como resultado, Apache ActiveMQ está funcionando, verifíquelo con el siguiente comando.
systemctl status activemq
A continuación se muestra el resultado que obtendrá.
Paso 4:configurar una contraseña cifrada para la consola web
De forma predeterminada, la autenticación de ActiveMQ Web Console está habilitada, todos los usuarios y contraseñas de ActiveMQ se almacenan en 'jetty-realm.properties' como texto sin formato. Para este paso, cambiaremos la contraseña predeterminada de texto sin formato con una contraseña cifrada.
Primero, descargue la distribución del embarcadero y extráigala.
wget --quiet https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.28.v20200408/jetty-distribution-9.4.28.v20200408.tar.gz
tar -xf jetty-distribution-*.tar.gz
Ahora ve al directorio 'jetty-distribution-*'.
cd jetty-distribution-*/
Ejecute el siguiente comando para generar su contraseña y asegúrese de cambiar la 'salt' y la contraseña por las suyas propias.
java -cp lib/jetty-util-9*.jar org.eclipse.jetty.util.security.Password salt password
Ahora obtendrá la siguiente respuesta.
2020-04-29 07:15:22.367:INFO::main: Logging initialized @194ms to org.eclipse.jetty.util.log.StdErrLog
mypassword
OBF:1uh41zly1x8g1vu11ym71ym71vv91x8e1zlk1ugm
MD5:34819d7beeabb9260a5c854bc85b3e44
CRYPT:myylAylKPNtmw
Copie el 'CRYPT:myy.. .' contraseña encriptada para su nota, porque se usará para ActiveMQ.
Ahora vaya al directorio de configuración de ActiveMQ '/opt/activemq/conf' y edite la configuración 'jetty-realm.properties' usando el editor vim.
cd /opt/activemq/conf/
vim jetty-realm.properties
Cambie la contraseña de administrador predeterminada con la contraseña cifrada generada 'CRYPT:myy...' como se muestra a continuación.
admin: CRYPT:myylAylKPNtmw, admin
user: user, user
Guardar y cerrar.
A continuación, reinicie el servicio Apache ActiveMQ para aplicar la nueva configuración.
systemctl restart activemq
Como resultado, se ha completado la configuración de ActiveMQ Web Console con la contraseña cifrada.
Paso 5 - Prueba
Ahora abra su navegador web y escriba la dirección IP del servidor con el puerto '8161'.
http://serverip:8161/
Y obtendrá la página index.html predeterminada de ActiveMQ Web Console.
A continuación, agregue la ruta '/admin' en la URL como se muestra a continuación.
http://serverip:8161/admin
Y se le solicitará la autenticación de ActiveMQ.
Escriba el usuario predeterminado 'admin' con su contraseña generada en la parte superior, luego haga clic en 'OK' para iniciar sesión.
Una vez que su contraseña sea correcta, obtendrá el Panel ActiveMQ como se muestra a continuación.
Como resultado, la instalación y configuración de Apache ActiveMQ en Debian Buster 10 se completó con éxito.