ELMA365 On-Premises > Prepare infrastructure > Databases > Prepare external databases / RabbitMQ

RabbitMQ

The article describes the installation of RabbitMQ for Ubuntu Linux 20.04. You can also refer to the brief guide in the official RabbitMQ documentation.

To run the ELMA365 application, you need to install RabbitMQ version 3.9.15 or higher.

начало внимание

In this example, the virtual host name is elma365vhost, the user is elma365user, and the password is SecretPassword. When configuring, set these data according to the security policy in your organization.

конец внимание

Installation consists of three steps:

  1. Install RabbitMQ.
  2. Configure RabbitMQ.
  3. Connect to RabbitMQ.

Step 1: Install RabbitMQ

  1. Install the required packages:

sudo apt-get install curl gnupg apt-transport-https -y

  1. Import all necessary keys:

curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
curl -1sLf https://ppa1.novemberain.com/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
curl -1sLf https://ppa1.novemberain.com/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null

  1. Add RabbitMQ repositories:

sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $(lsb_release -cs) main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $(lsb_release -cs) main
 
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main
EOF

  1. Update package cache:

sudo apt-get update -y

  1. Install Erlang packages:

sudo apt-get install -y erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

  1. Install rabbitmq-server and its dependencies:

sudo apt-get install rabbitmq-server -y --fix-missing

  1. Run rabbitmq-server:

sudo systemctl enable --now rabbitmq-server

Step 2: Configure RabbitMQ

Начало внимание

The password can contain the following characters:

  • Uppercase Latin letters: A to Z
  • Lowercase Latin letters: a to z
  • Digits: 0 to 9
  • Symbols: -_

Reserved (invalid) characters: ! * ' ( ) ; : @ & = + $ , / ? % # [ ]

Конец внимание

To configure RabbitMQ, perform the following actions:

  1. Enable necessary plugins:

sudo rabbitmq-plugins enable \
rabbitmq_management

  1. Make sure to add a vhost and grant the user access to it:

sudo rabbitmqctl add_vhost elma365vhost
sudo rabbitmqctl add_user elma365user SecretPassword
sudo rabbitmqctl set_permissions -p elma365vhost elma365user ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags elma365user administrator

Configuring TLS/SSL in RabbitMQ

Step 3: Connect to RabbitMQ

Connection string to RabbitMQ:
amqp://elma365user:SecretPassword@<rabbitmq-server-address>:5672/elma365vhost

Connection string to RabbitMQ with TLS/SSL:

amqps://elma365user:SecretPassword@<rabbitmq-server-address>:5671/elma365vhost

Found a typo? Highlight the text, press ctrl + enter and notify us