Cómo instalar Apache ActiveMQ en Debian 11

Apache ActiveMQ es un broker de mensajes gratuito y de código abierto desarrollado por Apache Software Foundation. Es uno de los corredores de mensajes más conocidos que soporta múltiples protocolos como AMQP, MQTT, Stomp y OpenWire. Está escrito en Java y es totalmente compatible con los estándares JMS 1.1.

Apache ActiveMQ es uno de los brokers de mensajes más populares que admite diferentes tipos de lenguajes de programación y que puede desplegarse en múltiples plataformas. Es un broker de mensajes de nivel empresarial que proporciona alta disponibilidad, escalabilidad, fiabilidad, alto rendimiento y seguridad.

En este post, aprenderás a instalar el broker de mensajes Apache ActiveMQ Multi-Protocolo en el sistema Debian 11. Este tutorial incluye la instalación de Java OpenJDK y JRE y la configuración de la variable de entorno JAVA_HOME.

Requisitos previos

  • Un servidor Linux Debian 11.
  • Un usuario no root con privilegios de administrador root.

Instalar Java OpenJDK y JRE

En primer lugar, tendrás que instalar el Java OpenJDK y el JRE antes de instalar el Apache ActiveMQ. La versión actual de Apache ActiveMQ requiere como mínimo Java JRE v1.8.

En el repositorio de Debian 11, hay varias versiones de Java OpenJDK y JRE. Pero tú instalarás Java OpenJDK y JRE v1.11 para Apache ActiveMQ.

Refresca y actualiza tu repositorio de Debian con el siguiente comando.

sudo apt update

A continuación, instala java OpenJDK y JRE utilizando el comando apt que aparece a continuación.

sudo apt install default-jdk default-jre

Escribe Y para confirmar la instalación y pulsa ENTER para continuar.

instalar openjdk y jre

Una vez completada la instalación, comprueba la versión de Java utilizando el siguiente comando.

java -version

En la siguiente captura de pantalla, verás que Java OpenJDK 1.11 está instalado en el sistema Debian.

comprobar la versión de java

Pasa al siguiente paso para configurar la variable de entorno JAVA_HOME.

Configurar la variable de entorno JAVA_HOME

El Apache ActiveMQ requiere que la variable de entorno JAVA_HOME se configure correctamente en el directorio de instalación jvm, que está disponible en el directorio /usr/lib/jvm/java-11-openjdk-amd64. Y de forma sencilla, puedes configurar la variable de entorno JAVA_HOME a través del archivo «~/ .bashrc «.

Añade la configuración al archivo de configuración «~/. bashrc » mediante el siguiente comando.

echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc

Ahora vuelve a cargar el archivo de configuración ~/. bashrc para aplicar los nuevos cambios.

source ~/.bashrc

Por último, comprueba la variable de entorno JAVA_HOME utilizando el siguiente comando.

echo $JAVA_HOME

Verás la siguiente salida. La variable de entorno JAVA_HOME está configurada correctamente en el directorio JVM /usr/lib/jvm/java-11-openjdk-amd64.

Configuración de JAVA_HOME

Ahora pasa al siguiente paso para iniciar la instalación de Apache ActiveMQ.

Instalación de Apache ActiveMQ

Apache ActiveMQ ofrece varias versiones de ActiveMQ. En este ejemplo, instalarás el Apache ActiveMQ Classic, que es potente y soporta múltiples protocolos de mensajería como AMQP, MQTT, Stomp y OpenWire.

Además, puedes instalar otra versión como ActiveMQ Artemis de la misma forma que el ActiveMQ clásico.

Para iniciar la instalación, ejecuta el siguiente comando para descargar el Apache ActiveMQ v5.17 (la última versión durante este escrito).

wget https://dlcdn.apache.org//activemq/5.17.1/apache-activemq-5.17.1-bin.tar.gz

Una vez completado el proceso de descarga, verás el archivo apache-activemq-5.17.1-bin.tar.gz. Extráelo con el siguiente comando.

tar -xzvf apache-activemq-5.17.1-bin.tar.gz

A continuación, mueve el directorio extraído apache-activemq-5.17.1 al directorio /opt/activemq.

mv apache-activemq-5.17.1 /opt/activemq

descargar activemq

Después, añade un nuevo usuario y un grupo llamado activemq utilizando el siguiente comando.

sudo useradd -d /opt/activemq -r -s /bin/false -U activemq

Ahora cambia la propiedad del directorio de instalación de Apache ActiveMQ /opt/activemq al usuario y grupo activemq.

sudo chown -R activemq:activemq /opt/activemq/

Por último, comprueba la propiedad de todos los archivos de Apache ActiveMQ utilizando el siguiente comando.

ls -lah /opt/activemq

Como puedes ver en la siguiente captura de pantalla, el directorio /opt/activemq de Apache ActiveMQ es propiedad del usuario activemq y del grupo activemq.

configurar activemq

Configurar Apache ActiveMQ como servicio Systemd

Ahora tendrás que configurar Apache ActiveMQ como un servicio systemd. Hacer esto, te permitirá gestionar el ActiveMQ utilizando el comando systemctl para iniciar, detener o habilitar el ActiveMQ para que se inicie al arrancar el sistema.

Ahora crea una nueva configuración de servicio systemd /etc/systemd/system/activemq.service utilizando el editor nano.

sudo nano /etc/systemd/system/activemq.service

Añade la siguiente configuración al archivo.

[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, ejecuta el siguiente comando para recargar el gestor systemd y refrescar todas las unidades de servicio de la lista en tu sistema.

sudo systemctl daemon-reload

Ahora añade el servicio activemq al inicio del sistema e inicia el servicio.

sudo systemctl enable activemq
sudo systemctl start activemq

configurar actyivemq como servicio systemd

Por último, comprueba el servicio activemq con el siguiente comando.

sudo systemctl status activemq

En la siguiente captura de pantalla, verás que el servicio activemq se está ejecutando y está habilitado. Al final del mensaje de registro, verás el mensaje«Started Apache ActiveMQ«.

iniciar y verificar activemq

Configuración de la consola web de Apache ActiveMQ

Llegados a este punto, has completado la instalación de Apache ActiveMQ en el servidor Debian 11. La consola web de ActiveMQ se ejecuta por defecto en el host local, por lo que si estás ejecutando en un servidor externo, tendrás que cambiar la dirección LISTEN de la consola web de Apache ActiveMQ por la dirección IP de tu servidor.

Edita el archivo de configuración /opt/activemq/conf/jetty.xml con el editor nano.

sudo nano /opt/activemq/conf/jetty.xml

Cambia el host por defecto 127.0.0.1 por la dirección IP de tu servidor. En este tutorial, la dirección IP del servidor es 192.168.5.20.

    <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
             <!-- the default port number for the web console -->
        <property name="host" value="192.168.5.20"/>
        <property name="port" value="8161"/>
    </bean>

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para reiniciar el servicio activemq y aplicar los nuevos cambios en el archivo de configuración jetty.xml.

sudo systemctl restart activemq

Comprueba los puertos LISTEN de tu sistema Debian con el siguiente comando.

ss -plnt

Como puedes ver en la siguiente captura de pantalla, la consola web de Apache ActiveMQ se está ejecutando en la dirección IP 192.168.5.20 con el puerto por defecto 8161.

activar la consola web de activemq

Abre el navegador web y visita la dirección IP de tu servidor con el siguiente puerto 8161.

http://192.168.5.20:8161/

Se te pedirá la autentificación básica. Introduce el usuario por defecto admin y la contraseña es admin, luego haz clic en Iniciar sesión.

acceder a la consola web de activemq

Y a continuación puedes ver el panel de control de la Consola Web de Apache ActiveMQ.

<img src=»https://www.howtoforge.com/images/how_to_install_apache_activemq_on_debian_11/10-activemq-web-console.png» alt=»activemq web conmsople» width=»750″ height=»402″ style=»display: block; margin-left: auto; margin-right: auto;» /></p>
<h2>Conclusión</h2>
<p>¡Felicidades! Has aprendido a instalar y configurar Apache ActiveMQ en un servidor Debian 11. También has aprendido a añadir un servicio Systemd personalizado a tu servidor Debian y a activar la consola web de Apache ActiveMQ.</p> <p>

También te podría gustar...