Гид по технологиям

Установка Apache ActiveMQ на Ubuntu 20.04

• 4 min read • DevOps • Обновлено 24 Nov 2025
Установка Apache ActiveMQ на Ubuntu 20.04
Установка Apache ActiveMQ на Ubuntu 20.04

Введение

Apache ActiveMQ — это свободный, открытый брокер сообщений на Java от Apache Foundation. Он поддерживает протоколы STOMP, JMS и OpenWire и позволяет обмениваться сообщениями между разными приложениями. Эта инструкция покажет пошагово, как установить ActiveMQ на Ubuntu 20.04 и запустить веб‑интерфейс администратора.

Важно: пример использует версию 5.16.0, указанную в оригинале. При необходимости можно скачать более новую версию с официального архива Apache.

Требования

  • Сервер с Ubuntu 20.04.
  • Доступ к учетной записи с правами root или sudo.

Установка Java

ActiveMQ работает на Java, поэтому на сервере должен быть установлен JDK и JRE. Установите OpenJDK 11 командой:

apt-get install openjdk-11-jdk openjdk-11-jre -y

Проверьте версию Java:

java -version

Ожидаемый пример вывода (может отличаться по сборке):

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Если Java не найдена, проверьте переменные окружения PATH и JAVA_HOME или повторите установку пакета.

Скачивание и распаковка ActiveMQ

На момент написания используется ActiveMQ 5.16.0. Скачайте архив:

wget https://downloads.apache.org//activemq/5.16.0/apache-activemq-5.16.0-bin.tar.gz

Распакуйте:

tar -xvzf apache-activemq-5.16.0-bin.tar.gz

Переместите распакованную директорию в /opt:

mv apache-activemq-5.16.0 /opt/activemq

Создание пользователя и прав

Создайте системную группу и пользователя для запуска ActiveMQ и назначьте владельца каталога:

addgroup --quiet --system activemq
adduser --quiet --system --ingroup activemq --no-create-home --disabled-password activemq
chown -R activemq:activemq /opt/activemq

Эти шаги помогают ограничить права процесса и снизить риски безопасности.

Создание systemd-сервиса для ActiveMQ

Создайте файл службы:

nano /etc/systemd/system/activemq.service

Добавьте в него следующие строки:

[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
User=activemq
Group=activemq

ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop

[Install]
WantedBy=multi-user.target

Сохраните файл и перезагрузите демон systemd:

systemctl daemon-reload

Запустите службу и включите автозапуск:

systemctl start activemq
systemctl enable activemq

Проверьте статус сервиса:

systemctl status activemq

Пример вывода статуса (усечённый):

? activemq.service - Apache ActiveMQ
     Loaded: loaded (/etc/systemd/system/activemq.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-08-01 11:43:25 UTC; 22s ago
    Process: 31092 ExecStart=/opt/activemq/bin/activemq start (code=exited, status=0/SUCCESS)
   Main PID: 31165 (java)
      Tasks: 49 (limit: 2353)
     Memory: 190.5M
     CGroup: /system.slice/activemq.service
             ??31165 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/ac>

Aug 01 11:43:25 ubuntu2004 systemd[1]: Starting Apache ActiveMQ...
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Loading '/opt/activemq//bin/env'
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Using java '/usr/bin/java'
Aug 01 11:43:25 ubuntu2004 activemq[31092]: INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get deta>
Aug 01 11:43:25 ubuntu2004 activemq[31164]: INFO: pidfile created : '/opt/activemq//data/activemq.pid' (pid '31165')
Aug 01 11:43:25 ubuntu2004 systemd[1]: Started Apache ActiveMQ.

После этого ActiveMQ должен работать и слушать порт 8161 по умолчанию.

Доступ к веб-интерфейсу Apache ActiveMQ

По умолчанию веб-интерфейс привязан к localhost. Чтобы разрешить удалённый доступ, отредактируйте файл конфигурации Jetty:

nano /opt/activemq/conf/jetty.xml

Найдите строку:

        

Замените её на IP вашего сервера:

        

Перезапустите службу:

systemctl restart activemq

Откройте в браузере http://your-server-ip:8161/admin. При запросе логина укажите стандартные учётные данные admin / admin.

Скриншот окна логина веб-интерфейса ActiveMQ

Скриншот панели управления и статистики ActiveMQ

Важно: после первоначального запуска обязательно поменяйте учётные данные и ограничьте доступ к панели администратора.

Настройка брандмауэра

Откройте порт 8161 только для доверенных хостов. Пример для UFW (разрешить только с IP 203.0.113.10):

ufw allow from 203.0.113.10 to any port 8161 proto tcp
ufw reload

Если требуется доступ из любой сети (не рекомендуется), используйте:

ufw allow 8161/tcp

Базовая отладка и распространённые проблемы

  • Сервис не запускается: проверьте логи в /opt/activemq/data/ и журнал systemd: systemctl status activemq и journalctl -u activemq.
  • Java не обнаружена: убедитесь, что /usr/bin/java существует и права корректны.
  • Порт 8161 уже занят: проверьте netstat или ss (ss -ltnp | grep 8161).
  • Проблемы с правами: убедитесь, что каталог /opt/activemq принадлежит пользователю activemq.

Рекомендуемые меры безопасности

  • Смените стандартный логин/пароль admin сразу после установки.
  • Ограничьте доступ к /admin по IP или через обратный прокси (nginx) с аутентификацией.
  • Рассмотрите включение TLS для транспортов и веб-интерфейса в production.
  • Запускайте ActiveMQ под выделенным непривилегированным пользователем (как в инструкции).

Роль‑ориентированный чеклист перед вводом в эксплуатацию

Администратор:

  • Проверил systemd-сервис и автозапуск.
  • Настроил ротацию и хранение логов.

Разработчик:

  • Отладил отправку/получение сообщений через JMS/STOMP.
  • Проверил сериализацию сообщений и совместимость протоколов.

DevOps:

  • Настроил мониторинг процессов и доступности порта 8161.
  • Настроил резервное копирование конфигураций и данных брокера.

Безопасность:

  • Сменил учётные записи по умолчанию.
  • Ограничил доступ по IP и включил TLS там, где возможно.

Мини‑методология проверки работоспособности

  1. Убедиться, что сервис active (systemctl status activemq).
  2. Проверить, что порт 8161 слушается (ss -ltnp | grep 8161).
  3. Открыть веб‑интерфейс и пройти аутентификацию.
  4. Отправить тестовое сообщение из консоли клиента и подтвердить приём.

Критерии приёмки

  • Служба ActiveMQ запущена и находится в состоянии active (running).
  • Веб‑интерфейс доступен по адресу http://your-server-ip:8161/admin и проходит аутентификация.
  • Порт 8161 доступен только для разрешённых хостов (по политике брандмауэра).
  • Логи не содержат критических ошибок при старте брокера.

Глоссарий (в одну строку)

JMS — Java Messaging Service, STOMP — простое текстовое протокольное API для обмена сообщениями, OpenWire — бинарный протокол обмена сообщениями, используемый ActiveMQ.

Заключение

Вы успешно установили Apache ActiveMQ на Ubuntu 20.04 и настроили базовую конфигурацию для удалённого доступа. Следующие шаги: заменить стандартные учётные данные, настроить TLS при необходимости, подключить мониторинг и протестировать обмен сообщениями с реальными приложениями.

Краткая проверка: убедитесь, что systemctl status activemq показывает active, порт 8161 слушается, и вы вошли в веб‑интерфейс под новым администратором.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро