====== Установка и настройка RabbitMQ ======
----
vdi-db
----
''В случае комплексной установки все выполнять на узле vdi-disp1''
Ссылка на документацию с wiki
[[https://wiki.astralinux.ru/termidesk-help/5.1/dokumentatsiya/termidesk-ustanovka-programmnogo-kompleksa/podgotovka-sredy-funktsionirovaniya-pered-ustanovkoj/ustanovka-i-nastrojka-rabbitmq]]
* установка rabbitmq
sudo apt install -y rabbitmq-server
sudo mkdir -p /etc/rabbitmq
cd /etc/rabbitmq
* создаем файл конфигурации
sudo nano rabbitmq.conf
вставляем содержимое файла rabbitmq.conf
[[https://wiki.astralinux.ru/termidesk-help/5.1/dokumentatsiya/termidesk-ustanovka-programmnogo-kompleksa/podgotovka-sredy-funktsionirovaniya-pered-ustanovkoj/ustanovka-i-nastrojka-rabbitmq]]
# ======================================= 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
* создаем файл конфигурации
sudo nano definitions.json
В файле ''/etc/rabbitmq/definitions.json'' пароли указываются в виде преобразованного значения, которое можно получить через исполняемый файл ''rabbitmq_password2hash.sh''
Подробно о том, как преобразовать пароль, можно ознакомиться в Wiki - [[https://wiki.astralinux.ru/termidesk-help/5.1/dokumentatsiya/termidesk-ustanovka-programmnogo-kompleksa/podgotovka-sredy-funktsionirovaniya-pered-ustanovkoj/ustanovka-i-nastrojka-rabbitmq]]
* вставляем содержимое файла definitions.json
[[https://wiki.astralinux.ru/termidesk-help/5.1/dokumentatsiya/termidesk-ustanovka-programmnogo-kompleksa/podgotovka-sredy-funktsionirovaniya-pered-ustanovkoj/ustanovka-i-nastrojka-rabbitmq]]
''В примере используются следующие пары логин-пароль: //admin:admin, termidesk:ksedimret//.''
{
"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": []
}
* применяем нужные права
sudo chown rabbitmq:rabbitmq definitions.json rabbitmq.conf
* меняем пароли с помощью специальной утилиты
[[https://wiki.astralinux.ru/termidesk-help/5.1/dokumentatsiya/termidesk-ustanovka-programmnogo-kompleksa/podgotovka-sredy-funktsionirovaniya-pered-ustanovkoj/ustanovka-i-nastrojka-rabbitmq]]
sudo wget https://repos.termidesk.ru/Addons/Scripts/rabbitmq_password2hash.sh
sudo chmod +x ./rabbitmq_password2hash.sh
sudo ./rabbitmq_password2hash.sh -u admin -p admin -w
* разрешаем необходимый плагин
sudo rabbitmq-plugins enable rabbitmq_management
* перезапускаем сервис
sudo systemctl restart rabbitmq-server