Установка брокера сообщений RabbitMQ
Для установки RabbitMQ нужно перейти в интерфейс командной строки через программу «Терминал Fly» и выполнить: |
sudo apt install -y rabbitmq-server |
где:
-y - ключ для пропуска подтверждения установки.
Настройка брокера сообщений RabbitMQДля настройки RabbitMQ следует: |
/etc/rabbitmq:ls /etc/ |
sudo mkdir -p /etc/rabbitmq |
где:
- p - ключ для автоматического создания директорий, указанных внутри пути;
/etc/rabbitmq:cd /etc/rabbitmq |
rabbitmq.conf (основной файл конфигурации RabbitMQ) и definitions.json (файл определения данных для подключения):sudo touch rabbitmq.conf sudo touch definitions.json |
Файл |
rabbitmq) и идентификатор группы (rabbitmq) для созданных файлов:sudo chown rabbitmq:rabbitmq definitions.json rabbitmq.conf |
rabbitmq.conf, приведя его к виду:# ======================================= Management section ======================================= ## Preload schema definitions from the following JSON file. ## Related doc guide: https://rabbitmq.com/management.html#load-definitions. ## # management.load_definitions = /path/to/exported/definitions.json management.load_definitions = /etc/rabbitmq/definitions.json |
Если необходимо, чтобы RabbitMQ работал через TLS-соединение, то файл
Предполагается, что файлы корневого сертификата ( |
definitions.json, задав пользователей termidesk и admin, приведя его к виду:В файле |
{
"rabbit_version": "3.7.8",
"users": [
{
"name": "termidesk",
"password_hash": "pnXiDJtUdk7ZceL9iOqx44PeDgRa+X1+eIq+7wf/PTONLb1h",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": ""
},
{
"name": "admin",
"password_hash": "FXQ9WFNSrsGwRki9BT2dCITnsDwYu2lsy7BEN7+UncsPzCDZ",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": "administrator"
}
],
"vhosts": [
{
"name": "/"
},
{
"name": "termidesk"
}
],
"permissions": [
{
"user": "termidesk",
"vhost": "termidesk",
"configure": ".*",
"write": ".*",
"read": ".*"
},
{
"user": "admin",
"vhost": "termidesk",
"configure": ".*",
"write": ".*",
"read": ".*"
}
],
"topic_permissions": [
{
"user": "termidesk",
"vhost": "termidesk",
"exchange": "",
"write": ".*",
"read": ".*"
}
],
"parameters": [],
"global_parameters": [
{
"name": "cluster_name",
"value": "rabbit@rabbitmq"
}
],
"policies": [],
"queues": [],
"exchanges": [],
"bindings": []
}
|
В примере используются следующие пары логин-пароль: Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы !$%^&_-=+~`.,()*{}[]\|. |
sudo rabbitmq-plugins enable rabbitmq_management |
rabbitmq-server:sudo systemctl restart rabbitmq-server |
Чтобы получить преобразованное значение пароля, нужно воспользоваться исполняемым файлом rabbitmq_password2hash.sh, расположенным в подключенном репозитории Termidesk (см. Получение пакетов установки в ОС Astra Linux Special Edition) по пути /var/repos/Addons/Scripts/. Для этого:
/var/repos/Addons/Scripts/:cd /var/repos/Addons/Scripts/ |
rabbitmq_password2hash.sh флаг для запуска:sudo chmod +x rabbitmq_password2hash.sh |
где:
+x - ключ установки разрешения на запуск файла для всех пользователей;
sudo ./rabbitmq_password2hash.sh |
При выполнении исполняемого файла будет предложено ввести пароль и повторить его. Преобразованное значение введенного пароля отображается в интерфейсе командной строки.
Необходимо внести полученное значение при формировании файла /etc/rabbitmq/definitions.json (секция password_hash).
Если конфигурационный файл /etc/rabbitmq/definitions.json уже существует, но требуется изменить в нем значение преобразованного пароля, нужно:
/etc/rabbitmq/definitions.json:sudo ./rabbitmq_password2hash.sh -w -u <user> -p <пароль> |
где:
-w - ключ для сохранения изменений в файл /etc/rabbitmq/definitions.json;
-u - пользователь RabbitMQ. В стандартной установке можно указывать admin;
-p - пароль;
rabbitmq-server:sudo systemctl restart rabbitmq-server |