Информация |
---|
... |
...
Информация |
---|
pdpl-file 3:0:0:CCNR /opt/ pdpl-file -R 3:0:0:CCNR /opt/rabbitmq pdpl-file 3:0:0:CCNR /usr pdpl-file 3:0:0:CCNR /usr/lib pdpl-file -R 3:0:0:CCNR /usr/lib/rabbitmq pdpl-file 3:0:0:CCNR /var/lib pdpl-file R 3:0:0:CCNR /var/lib/rabbitmq |
Запустить службу:
...
Информация |
---|
...
Оглавление |
---|
Информация |
---|
RabbitMQ — программный брокер сообщений на основе стандарта AMQP — тиражируемое связующее программное обеспечение, ориентированное на обработку сообщений. Создан на основе системы Open Telecom Platform, написан на языке Erlang, в качестве движка базы данных для хранения сообщений использует Mnesia. Состоит из сервера, библиотек поддержки протоколов HTTP, XMPP и STOMP[en], клиентских библиотек AMQP для Java и .NET Framework и различных плагинов (таких как плагины для мониторинга и управления через HTTP или веб-интерфейс или плагин «Shovel» для передачи сообщений между брокерами). Имеется реализация клиентов для доступа к RabbitMQ для целого ряда языков программирования, в том числе для Perl, Python, Ruby, PHP. Поддерживается горизонтальное масштабирование для построения кластерных решений. |
Информация |
---|
Данная статья применима к:
|
Предисловие
В данной статье рассматривается запуск сервиса RabbitMQ с ненулевой мандатной меткой (для примера используется мандатная метка с уровнем конфиденциальности 3, категориями доступа 0 и уровнем целостности 0, т.е. 3:0:0).
...
Установка пакета
Пакет rabbitmq-server, устанавливающий службу RabbitMQ, не входит в состав стандартного дистрибутива ОС СН Atra Linux SE Смоленск 1.6, поэтому для установки службы нужно подключить репозиторий Debian.
После подключения репозитория пакет может быть rabbitmq-server установлен с помощью графического менеджера пакетов или из командной строки командами
Command |
---|
apt update && apt install rabbitmq-server |
Настройка пакета
Настройка плагинов:
Command |
---|
rabbitmq-plugins enable rabbitmq_management |
Пример вывода команды:
Раскрыть |
---|
The following plugins have been enabled: |
Добавление пользователя для RabbitMQ, задание пароля, назначение прав
Command |
---|
rabbitmqctl add_user user password && \ rabbitmqctl set_user_tags user administrator && \ rabbitmqctl set_permissions -p / user ".*" ".*" ".*" |
...
Command |
---|
systemctl stop rabbitmq-server |
Информация |
---|
Остановка службы занимает 90 секунд, это нормально. |
...
Command |
---|
mkdir -p /opt/rabbitmq/{etc,log,run} && chown -R rabbitmq:rabbitmq /opt/rabbitmq/ |
Переместить файлы настроек в ранее созданный каталог:
Command |
---|
mv /etc/rabbitmq/* /opt/rabbitmq/etc/ |
Предупреждение |
---|
В реальности редактируемые далее файлы представляют собой ссылки на внутренние файлы RabbitMQ, поэтому для их редактирования рекомендуется использовать какой-нибудь простой текстовый редактор (например, nano или mcedit). Использование продвинутых редакторов может привести к тому, что ссылки будут заменены на копии файлов, после чего служба полностью потеряет работоспособность. |
Отредактировать конфигурационный файл /opt/rabbitmq/etc/rabbitmq-env.conf, добавив или изменив следующие строки (в параметре NODE_IP_ADDRESS указать ip-адрес сервера):
Информация |
---|
NODENAME=example-rabbit NODE_IP_ADDRESS=<IP-address> NODE_PORT=5672 LOG_BASE=/opt/rabbitmq/log HOME=/opt/rabbitmq MNESIA_BASE=/var/lib/rabbitmq/mnesia |
...
Информация |
---|
[Unit] Description=RabbitMQ Messaging Server After=network.target [Service] PDPLabel=3:0:0 Type=simple User=rabbitmq SyslogIdentifier=rabbitmq LimitNOFILE=65536 ExecStart=/usr/sbin/rabbitmq-server ExecStartPost=/usr/lib/rabbitmq/bin/rabbitmq-server-wait ExecStop=/usr/sbin/rabbitmqctl stop [Install] WantedBy=multi-user.target |
...
Command |
---|
systemctl daemon-reload |
...
Информация |
---|
.... |
Отредактировать запускающий файл /usr/lib/rabbitmq/bin/rabbitmq-script-wrapper, исправив пути к файлам журналов:
Информация |
---|
if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then /usr/lib/rabbitmq/bin/rabbitmq-server "$@" > "/opt/rabbitmq/log/startup_log" 2> "/opt/rabbitmq/log/startup_err" |
...
Актуальную статью см. по ссылке: RabbitMQ в непривилегированных docker-контейнерах с ненулевой классификационной меткой. |