meta data de esta página
  •  

Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
aplicaciones:activemq [2018/12/18 09:20] 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 =====
  
Línea 5: Línea 7:
 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. 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