Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Информация

...
ENABLED_PLUGINS_FILE=${SYS_PREFIX}/opt/rabbitmq/etc/enabled_plugins
...
CONF_ENV_FILE=${SYS_PREFIX}/opt/rabbitmq/etc/rabbitmq-env.conf
...

...

Информация
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. Поддерживается горизонтальное масштабирование для построения кластерных решений.
Источник информации.

Информация

Данная статья применима к:

  • ОС СН Смоленск 1.6

Предисловие

В данной статье рассматривается запуск сервиса 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:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
 amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Добавление пользователя для 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

...

Информация

....
INIT_LOG_DIR=/opt/rabbitmq/log
PID_FILE=/opt/rabbitmq/run/pid
...

Отредактировать запускающий файл /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-контейнерах с ненулевой классификационной меткой.