如何在 Debian 10 上安装 Apache ActiveMQ
本教程适用于这些操作系统版本
- Debian 9(扩展版)
在此页
- 第 1 步 - 在 Debian 10 上安装 Java
- 第 2 步 - 下载并安装 Apache ActiveMQ
- 第 3 步 - 将 Apache ActiveMQ 设置为系统服务
- 第 4 步 - 为 Web 控制台设置加密密码
- 第 5 步 - 测试
Apache ActiveMQ 是由 Apache 开发的用 Java 编写的开源消息代理。它是最受欢迎的消息代理之一。它提供强大的功能和灵活性,支持多协议和基于 Java 的消息传递服务器。来自主要编程语言的连接,例如 C、C++、Python、.Net 等。
Apache ActiveMQ 允许您使用无处不在的 AMPQ 协议集成多平台应用程序。使用 STOMP over websocket 在 Web 应用程序之间进行交换,使用 MQTT 管理 IoT 设备,并支持 JMS 基础设施等。
在本教程中,我们将向您展示如何在最新的 Debian Buster 10 上安装 Apache ActiveMQ。我们将使用官方二进制文件安装 ActiveMQ,将 ActiveMQ 设置为系统服务,并启用密码身份验证。
先决条件
对于本指南,我们将使用具有 2GB RAM、50GB 可用磁盘空间和 2 个 CPU 的最新 Debian Buster 10。
我们将要做什么?
- 在 Debian 10 上安装 Java
- 下载并安装 Apache ActiveMQ
- 将 Apache ActiveMQ 设置为系统服务
- 为 Web 控制台设置加密密码
- 测试
第 1 步 - 在 Debian 10 上安装 Java
首先,我们将 Java OpenJDK 和 JRE 安装到 Debian Buster 10。默认情况下,这两个包都在 Debian 存储库中可用。
更新 Debian 系统上的所有可用存储库,并使用下面的 apt 命令安装 Java OpenJDK 和 JRE。
sudo apt update
sudo apt install default-jdk default-jre
完成所有安装后,使用以下命令检查 Java 版本。
java -version
以下是您将得到的回复。
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)
因此,Java OpenJDK 和 JRE 11 已安装在 Debian Server 上。
第 2 步 - 下载并安装 Apache ActiveMQ
在此步骤中,我们将下载 Apache ActiveMQ 并将其安装到我们的 Debian 系统中。
在继续之前,让我们使用以下命令创建一个新的系统用户 activemq。
adduser --system --no-create-home --disabled-login --group activemq
现在下载 Apache ActiveMQ 二进制文件并使用以下命令解压缩该文件。
wget --quiet http://www-us.apache.org/dist/activemq/5.15.12/apache-activemq-5.15.12-bin.tar.gz
tar -xf apache-activemq-5.15.12-bin.tar.gz
之后,将Apache ActiveMQ目录移动到/opt/activemq,并将ActiveMQ目录的所有权更改为用户activemq。
mv apache-activemq-*/ /opt/activemq
sudo chown -R activemq:activemq /opt/activemq
因此,Apache ActiveMQ 安装在 Debian 系统上。

第 3 步 - 将 Apache ActiveMQ 设置为 Systemd 服务
下载并安装 Apache ActiveMQ 后,我们将 ActiveMQ 设置为系统服务。
现在转到 /etc/systemd/system 目录并使用 vim 编辑器创建一个新的服务文件 activemq.service。
cd /etc/systemd/system/
vim activemq.service
将以下配置粘贴到其中。
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/activemq/bin
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
Restart=on-abort
User=activemq
Group=activemq
[Install]
WantedBy=multi-user.target
保存并关闭。
接下来,重新加载 systemd 管理器以应用新的 systemd 服务配置。
systemctl daemon-reload
现在启动 ActiveMQ 服务器并将其添加到系统引导。
systemctl start activemq
systemctl enable activemq

结果,Apache ActiveMQ 启动并运行,使用以下命令检查它。
systemctl status activemq
以下是您将得到的结果。

第 4 步 - 为 Web 控制台设置加密密码
默认情况下,启用 ActiveMQ Web 控制台的身份验证,ActiveMQ 的所有用户和密码都以纯文本形式存储在 jetty-realm.properties 中。对于此步骤,我们将使用加密密码更改默认的纯文本密码。
首先,下载码头分布和提取。
wget --quiet https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.28.v20200408/jetty-distribution-9.4.28.v20200408.tar.gz
tar -xf jetty-distribution-*.tar.gz
现在转到 jetty-distribution-* 目录。
cd jetty-distribution-*/
运行以下命令生成您的密码,并确保使用您自己的盐和密码进行更改。
java -cp lib/jetty-util-9*.jar org.eclipse.jetty.util.security.Password salt password
现在您将得到以下响应。
2020-04-29 07:15:22.367:INFO::main: Logging initialized @194ms to org.eclipse.jetty.util.log.StdErrLog
mypassword
OBF:1uh41zly1x8g1vu11ym71ym71vv91x8e1zlk1ugm
MD5:34819d7beeabb9260a5c854bc85b3e44
CRYPT:myylAylKPNtmw
复制 CRYPT:myy..。加密后的密码记在你的笔记中,因为它将被用于 ActiveMQ。
现在转到 ActiveMQ 配置目录 /opt/activemq/conf 并使用 vim 编辑器编辑配置 jetty-realm.properties。
cd /opt/activemq/conf/
vim jetty-realm.properties
使用生成的加密密码 CRYPT:myy... 更改默认管理员密码,如下所示。
admin: CRYPT:myylAylKPNtmw, admin
user: user, user
保存并关闭。
接下来,重新启动 Apache ActiveMQ 服务以应用新配置。
systemctl restart activemq

至此,密码加密的ActiveMQ Web Console配置完成。
第 5 步 - 测试
现在打开您的网络浏览器并输入端口为 8161 的服务器 IP 地址。
http://serverip:8161/
您将获得 ActiveMQ Web 控制台的默认 index.html 页面。

接下来,在 URL 上添加 /admin 路径,如下所示。
http://serverip:8161/admin
系统将提示您进行 ActiveMQ 身份验证。

使用顶部生成的密码输入默认用户 admin,然后单击确定登录。
密码正确后,您将获得如下所示的 ActiveMQ 仪表板。

至此,Apache ActiveMQ 在 Debian Buster 10 上的安装配置已经顺利完成。