Cómo instalar Apache ActiveMQ en Debian 10
Apache ActiveMQ es un broker de mensajes de código abierto escrito en Java y desarrollado por Apache. Es uno de los brokers de mensajes más populares. Ofrece potencia y flexibilidad, soporta multiprotocolo y servidor de mensajería basado en Java. Conectividad desde los principales lenguajes de programación como C, C++, Python, .Net, etc.
Apache ActiveMQ te permite integrar aplicaciones multiplataforma utilizando el omnipresente protocolo AMPQ. Un intercambio entre aplicaciones web usando el STOMP sobre websocket, gestionar dispositivos IoT usando el MQTT, y soporta la infraestructura JMS y más.
En este tutorial, te mostraremos cómo instalar Apache ActiveMQ en la última versión de Debian Buster 10. Instalaremos el ActiveMQ utilizando el archivo binario oficial, configuraremos el ActiveMQ como un servicio systemd y habilitaremos la autenticación por contraseña.
Requisitos previos
Para esta guía, utilizaremos la última Debian Buster 10 con 2GB de RAM, 50GB de espacio libre en disco y 2 CPUs.
¿Qué vamos a hacer?
- Instalar Java en Debian 10
- Descargar e instalar Apache ActiveMQ
- Configura Apache ActiveMQ como un servicio Systemd
- Configura la contraseña encriptada para la consola web
- Prueba de
Paso 1 – Instalar Java en Debian 10
En primer lugar, instalaremos el OpenJDK y el JRE de Java en Debian Buster 10. Ambos paquetes están disponibles por defecto en el repositorio de Debian.
Actualiza todos los repositorios disponibles en el sistema Debian e instala el Java OpenJDK y el JRE utilizando el comando apt que aparece a continuación.
sudo apt update
sudo apt install default-jdk default-jre
Una vez completada la instalación, comprueba la versión de Java mediante el siguiente comando.
java -version
A continuación se muestra la respuesta que obtendrás.
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, el Java OpenJDK y JRE ’11’ se ha instalado en el servidor Debian.
Paso 2 – Descargar e instalar Apache ActiveMQ
En este paso, descargaremos e instalaremos Apache ActiveMQ en nuestro sistema Debian.
Antes de continuar, vamos a crear un nuevo usuario del sistema ‘activemq’ utilizando el siguiente comando.
adduser --system --no-create-home --disabled-login --group activemq
Ahora descarga el archivo binario de Apache ActiveMQ y extrae el archivo utilizando 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, mueve el directorio de Apache ActiveMQ a ‘/opt/activemq’ y cambia la propiedad del directorio ActiveMQ al usuario ‘activemq’.
mv apache-activemq-*/ /opt/activemq
sudo chown -R activemq:activemq /opt/activemq
Como resultado, el Apache ActiveMQ está instalado en el sistema Debian.
Paso 3 – Configurar Apache ActiveMQ como servicio Systemd
Después de descargar e instalar el Apache ActiveMQ, vamos a configurar el ActiveMQ como un servicio systemd.
Ahora ve al directorio ‘/etc/systemd/system’ y crea un nuevo archivo de servicio ‘activemq.service’ utilizando el editor vim.
cd /etc/systemd/system/
vim activemq.service
Pega en él la siguiente configuración.
[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
Guarda y cierra.
A continuación, recarga el gestor systemd para aplicar la nueva configuración del servicio systemd.
systemctl daemon-reload
Ahora inicia el servidor ActiveMQ y añádelo al arranque del sistema.
systemctl start activemq
systemctl enable activemq
Como resultado, el Apache ActiveMQ está en funcionamiento, compruébalo con el siguiente comando.
systemctl status activemq
A continuación se muestra el resultado que obtendrás.
Paso 4 – Configurar la contraseña encriptada para la consola web
Por defecto, la autenticación de la Consola Web de ActiveMQ está activada, todo el usuario y la contraseña de ActiveMQ se almacenan en el archivo ‘jetty-realm.properties’ como texto plano. En este paso, cambiaremos la contraseña de texto plano por defecto por una contraseña cifrada.
Primero, descarga la distribución de jetty y extráela.
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-*/
Ejecuta el siguiente comando para generar tu contraseña, y asegúrate de cambiar la «sal» y la contraseña por las tuyas.
java -cp lib/jetty-util-9*.jar org.eclipse.jetty.util.security.Password salt password
Ahora obtendrás 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
Copia la contraseña encriptada ‘CRYPT:myy...’ encriptada en tu nota, porque se utilizará para el ActiveMQ.
Ahora ve al directorio de configuración de ActiveMQ ‘/opt/activemq/conf’ y edita la configuración ‘jetty-realm.properties’ utilizando el editor vim.
cd /opt/activemq/conf/
vim jetty-realm.properties
Cambia la contraseña de administrador por defecto por la contraseña encriptada generada ‘CRYPT:myy…’ como se indica a continuación.
admin: CRYPT:myylAylKPNtmw, admin
user: user, user
Guarda y cierra.
A continuación, reinicia el servicio Apache ActiveMQ para aplicar la nueva configuración.
systemctl restart activemq
Como resultado, se ha completado la configuración de la Consola Web de ActiveMQ con la contraseña cifrada.
Paso 5 – Prueba
Ahora abre tu navegador web y escribe la dirección IP del servidor con el puerto ‘8161’.
http://serverip:8161/
Y obtendrás la página index.html por defecto de la Consola Web ActiveMQ.
A continuación, añade la ruta ‘/admin’ en la URL como se indica a continuación.
http://serverip:8161/admin
Y se te pedirá la autenticación de ActiveMQ.
Escribe el usuario por defecto ‘admin’ con tu contraseña generada en la parte superior, y luego haz clic en ‘OK’ para iniciar sesión.
Una vez que tu contraseña sea correcta, obtendrás el panel de control de ActiveMQ como se indica a continuación.
Como resultado, la instalación y configuración de Apache ActiveMQ en Debian Buster 10 se ha completado con éxito.