Activemq no es más que un software que ejerce de intermediario entre dos o más aplicaciones para intercambiar mensajes. A este tipo de arquitecturas son conocidas como MOM (Message Oriented Middleware).
En lugar de enviar los mensajes directamente entre cada una de las aplicaciones, implementamos un broker de mensajes , que será el que se encargue de la comunicación y transmisión de Mensajes entre las diferentes aplicaciones. Con esto podemos implementar una SOA (Arquitectura Orientada a Servicios) donde cada servicio es expuesto mediante una cola de mensajes.
Partimos de una distribución base de Centos 7 y lo primero que haremos será actulizar el sistema <sxh>yum update </sxh>
Descargamos la última versión de java 8 disponible en este momento desde https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm
<sxh>wget –no-cookies –no-check-certificate –header “Cookie:oraclelicense=accept-securebackup-cookie” “https://download.oracle.com/otn-pub/java/jdk/8u191-b12/jdk-8u191-linux-x64.rpm”</sxh>
Instalamos el paquete de java que nos hemos descargado <sxh>yum -y localinstall jdk-8u191-linux-x64.rpm</sch>
Añadimos las varibles de entorno para JAVA, para ello editamos el fichero vi ~/.bash_profile y añadimos al final <sxh> export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64/ export JRE_HOME=/usr/java/jdk1.8.0_191-amd64/jre </sxh>
ejecutamos source ~/.bash_profile para cargar los cambios.
si ahora ejecutamos echos $JAVA_HOME debería de salir <sxh>/usr/java/jdk1.8.0_191-amd64/</sxh>
Descargamos la últimar versión estable desde http://activemq.apache.org/download.html
<sxh>wget http://www-eu.apache.org/dist/activemq/5.15.8/apache-activemq-5.15.8-bin.tar.gz</sh>
extraemos los ficheros <sxh> tar xvzf apache-activemq-5.15.8-bin.tar.gz -C /var</sxh>
renombramos para el directorio para simplificar el acceso <sxh> cd /var mv apache-activemq-5.15.8/ /var/activemq/</sxh>
Probamos a arrancarlo <sxh>./bin/activemq start</sxh>
Si todo va bien debería de salir algo parecido a <sxh> INFO: Loading '/var/activemqbin/env' INFO: Using java '/usr/java/jdk1.8.0_191-amd64bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/var/activemqdata/activemq.pid' (pid '8540') </sxh> ==== Creación del servicio en systemd ==== Aunque se puede arrancar y parar el ActiveMQ con los comando anteriores, lo recomendable es usar un servicio en systemd para iniciar el servicio al arrancar el servidor. Para ello creamos el siguiente fichero /etc/systemd/system/activemq.service y añadimos lo siguiente <sxh>[Unit] Description=ActiveMQ service After=network.target [Service] Type=forking ExecStart=/var/activemq/bin/activemq start ExecStop=/var/activemq/bin/activemq stop User=root Group=root Restart=always RestartSec=9 StandardOutput=syslog StandardError=syslog SyslogIdentifier=activemq [Install] WantedBy=multi-user.target </sxh> Ahora podemos iniciarlo con <sxh>systemctl start activemq</sxh> Añadirlo para que arranque en el inicio <sxh>systemctl enable activemq</sxh> Comprobar su estado <sxh>systemctl status activemq</sxh> Si todo ha ido bien deberíamos de poder llegar con nuestro navegador web a la dirección http://ip_del_servidor:8161/admin con el usuario y clave admin/admin En caso de que no llegues revisa si tienes activado el firewall del equipo y si es así deshabilitado <sxh>systemctl disable firewalld</sxh> o añade las siguientes reglas <sxh>firewall-cmd –zone=public –permanent –add-port=8161/tcp firewall-cmd –reload</sxh> ==== Bastionado ==== Editar el fichero credential.properties y cambiar los vaolores que trae por defecto de * activemq.username=system * activemq.password=manager * guest.password=password Reiniciar el servicio activemq para aplicar los cambios. ===== Referencias ===== * https://www.howtoforge.com/tutorial/how-to-install-apache-activemq-on-centos-7/ * https://www.middlewareinventory.com/blog/active-mq-installation-and-security-setup-and-hardening-step-by-step/ * https://www.mcafee.com/enterprise/en-us/assets/white-papers/wp-pentesters-guide-hacking-activemq-jms-applications.pdf