Cómo instalar Apache ActiveMQ en Ubuntu 20.04
Apache ActiveMQ es un software de intermediación de mensajes gratuito, de código abierto y basado en Java de la Fundación Apache. Se utiliza para enviar mensajes entre distintas aplicaciones y también ofrece funciones adicionales como STOMP, JMS y OpenWire. Es compatible con los protocolos estándar del sector que permiten la comunicación entre aplicaciones distintas.
Apache ActiveMQ es la mejor opción si buscas un broker de mensajes de alto rendimiento para tus aplicaciones.
En este tutorial, te mostraremos cómo instalar Apache ActiveMQ en Ubuntu 20.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 20.04.
- Una contraseña de root está configurado el servidor.
Instalar Java
Apache ActiveMQ es una aplicación basada en Java, por lo que Java debe estar instalado en tu servidor. Si no está instalado, puedes instalarlo ejecutando el siguiente comando:
apt-get install openjdk-11-jdk openjdk-11-jre -y
Una vez instalado, puedes verificar la versión de Java con el siguiente comando:
java -version
Deberías obtener la siguiente salida:
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)
Instalar Apache ActiveMQ
En el momento de escribir este tutorial, la última versión de ActiveMQ es la 5.16.0. Puedes descargarla con el siguiente comando:
wget https://downloads.apache.org//activemq/5.16.0/apache-activemq-5.16.0-bin.tar.gz
Una vez finalizada la descarga, extrae el archivo descargado con el siguiente comando:
tar -xvzf apache-activemq-5.16.0-bin.tar.gz
A continuación, mueve el directorio extraído al /opt con el siguiente comando:
mv apache-activemq-5.16.0 /opt/activemq
A continuación, tendrás que crear un nuevo usuario y grupo para ejecutar Apache ActiveMQ. Puedes crearlos con el siguiente comando:
addgroup --quiet --system activemq adduser --quiet --system --ingroup activemq --no-create-home --disabled-password activemq
A continuación, cambia el ownerip del /opt/activemq a activemq como se muestra a continuación:
chown -R activemq:activemq /opt/activemq
Una vez que hayas terminado, puedes continuar con el siguiente paso.
Crear un Archivo de Servicio Systemd para ActiveMQ
A continuación, tendrás que crear un archivo de servicio systemd para gestionar el servicio ActiveMQ. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/activemq.service
Añade las siguientes líneas:
[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
Guarda y cierra el archivo cuando hayas terminado. A continuación, recarga el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicia el servicio ActiveMQ y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start activemq systemctl enable activemq
Ahora puedes comprobar el estado del servicio ActiveMQ con el siguiente comando:
systemctl status activemq
Deberías obtener la siguiente salida:
? 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)
En este momento, ActiveMQ se está ejecutando y está a la escucha en el puerto 8161.
Acceder a la Interfaz Web de Apache ActiveMQ
Por defecto, Apache ActiveMQ está configurado para acceder desde el localhost. Así que tendrás que configurarlo para acceder desde los hosts externos. Puedes configurarlo editando el archivo /opt/activemq/conf/jetty.xml:
nano /opt/activemq/conf/jetty.xml
Busca la siguiente línea:
<property name="host" value="127.0.0.1"/>
Sustitúyela por la siguiente línea:
<property name="host" value="your-server-ip"/>
Guarda y cierra el archivo y reinicia el servicio Apache ActiveMQ para aplicar los cambios:
systemctl restart activemq
Ahora, abre tu navegador web y accede a Apache ActiveMQ utilizando la URL http://your-server-ip:8161:/admin. Se te pedirá un nombre de usuario y una contraseña como se muestra a continuación:
Proporciona el nombre de usuario y la contraseña por defecto como admin / admin y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Apache ActiveMQ en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado correctamente Apache ActiveMQ en Ubuntu 20.04. Ahora puedes empezar a desarrollar tu primera Aplicación de Mensajería ActiveMQ.