El método que se detalla acontinuación será utilizando homebrew, por lo tanto es requesito que este previamente instalado.
Antes de instalar nos aseguraremos de tener todos los paquetes actualizados:
$ brew update
Entonces instalamos RabbitMQ con la siguiente formula:
$ brew install rabbitmq
Y finalmente agregamos rabbitmq al path editando el archivo .bash_profile o .profile, añadiendo al final del archivo, en una nueva línea lo siguiente:
export PATH=$PATH:/usr/local/sbin
Para que los cambios hagan efecto reiniciamos el equipo o bien ejecutamos el comando source y el archivo que editamos, ejemplo:
$ source .bash_profile
Para iniciar el servicio:
$ sudo rabbitmq-server
Para detener el servicio (detener el proceso):
$ ps -a
$ sudo kill -9 {PID}
Ejemplo:
$ ps -a
46328 ttys000 0:06.38 /usr/local/Cellar/erlang/21.0.9/lib/erlang/erts-10.0.8/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576
$ sudo kill -9 46328
Habilitar HTTP admin:
$ rabbitmq-plugins enable rabbitmq_management
Para acceder al RabbitMQ Manager, abrir un navegador e ir a <ip_address_of_host>:15672. Las credenciales por defecto son:
username:guest password:guest
Verificar si el paquete existe en los repositorios oficiales:
$ sudo pacman -Ss rabbitmq
Instalar paquete:
$ sudo pacman -S rabbitmq
Nos mostrará las dependencias y nos preguntarà si deseamos continuar, presionar S/Y.
Habilitar servicio:
$ sudo systemctl enable rabbitmq.service
Iniciar servicio:
$ sudo systemctl start rabbitmq.service
Verificar el status del servicio:
$ sudo systemctl status rabbitmq.service
Habilitar HTTP admin:
$ sudo rabbitmq-plugins enable rabbitmq_management
Para acceder al RabbitMQ Manager, abrir un navegador e ir a <ip_address_of_host>:15672. Las credenciales por defecto son:
username:guest password:guest
Antes de instalar RabbitMQ es necesario instalar otros programas. A continuación la instalación de estos programas:
$ sudo yum -y update
Instalar wget:
$ sudo yum install wget
Instalar epel-release:
$ sudo yum -y install epel-release
Actualizar el repositorio:
$ sudo yum -y update
Instalar Erlang usando el siguiente comando:
$ sudo yum -y install erlang socat
Para chequear la versión instalada:
$ erl -version
Para utilizar Erlang shell
$ erl
ctrl + c para salir.
$ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
Importar el GPG key:
$ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
Instalar el paquete RPM:
$ rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
Con esto RabbitMQ esta instalado.
Habilitar el servicio:
sudo systemctl enable rabbitmq-server
Iniciar el servicio:
sudo systemctl start rabbitmq-server
Verificar el status del servicio:
sudo systemctl status rabbitmq-server
Modificar Firewall y SELinux Rules
Si tiene Firewall instalado y en ejecución, deberá permitir el puerto 8161 a través del firewall. Ejecute el siguiente comando para el mismo:
$ sudo firewall-cmd --zone=public --permanent --add-port=4369/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=25672/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=15672/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=1883/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=8883/tcp
$ sudo firewall-cmd --reload
Si tiene SELinux habilitado, deberá ejecutar el siguiente comando para permitir el servicio RabbitMQ:
$ sudo setsebool -P nis_enabled 1
Acceso al administrador web
$ sudo rabbitmq-plugins enable rabbitmq_management
Cambiamos el propietario y grupo del directorio rabbitmq:
$ sudo chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
Para acceder al panel de administración de RabbitMQ, abre un navegador y accede a la siguiente dirección web:
http://Your_Server_IP:15672/
$ sudo rabbitmqctl add_user admin StrongPassword
$ sudo rabbitmqctl set_user_tags admin administrator
$ sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"