meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
aplicaciones:activemq [2018/12/18 09:10] – creado lcaplicaciones:activemq [2023/01/18 14:10] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag>activemq, mensajeria, soa}}
 +
 ===== ActiveMQ ===== ===== ActiveMQ =====
  
-Activemq no es más que un sistema que ejerce de  intermediario entre dos o más aplicaciones para intercambiar mensajes +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. 
 + 
 +==== Instalación ==== 
 +Partimos de una distribución base de Centos 7 y lo primero que haremos será actulizar el sistema  
 +<sxh>yum update </sxh> 
 + 
 +=== Instalación de Java === 
 +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> 
 + 
 +=== Instalación de ActiveMQ === 
 +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/activemq//bin/env' 
 +INFO: Using java '/usr/java/jdk1.8.0_191-amd64//bin/java' 
 +INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details 
 +INFO: pidfile created : '/var/activemq//data/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