Apache ActiveMQ is a free, open source messaging and integration pattern server which is widely used in enterprise software development.
In this tutorial, I will explain how to install the binary distribution of Apache ActiveMQ on CentOS 7.
Prerequisites
- A fresh Rcs CentOS 7 server instance with the server IP
203.0.113.1. - A sudo user.
- Java 7 or greater.
Step 1: Update the system
Log into your server as a sudo user from an SSH terminal, and then install all available updates using the EPEL YUM repo:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r nowAfter the system reboot, log back in as the same sudo user.
Step 2: Install OpenJDK JRE 8
Apache ActiveMQ 5.x requires Java 7 or greater. Here, we'll install OpenJDK 8 JRE using YUM:
sudo yum install -y java-1.8.0-openjdkThen, use the following command to verify the installation result:
java -versionThe output should resemble:
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)Setup the JAVA_HOME environment variable:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profileStep 3: Install Apache ActiveMQ
You can always get the latest stable release of Apache ActiveMQ from its official release page. At the time of writing this article, the latest release is 5.14.3.
cd
wget https://archive.apache.org/dist/activemq/5.14.3/apache-activemq-5.14.3-bin.tar.gz
sudo tar -zxvf apache-activemq-5.14.3-bin.tar.gz -C /optFor your convenience, you can create a version-independent soft link pointing to the directory in which current release of Apache ActiveMQ resides. This practice is helpful for future updates.
sudo ln -s /opt/apache-activemq-5.14.3 /opt/activemqStep 4: Create a Systemd unit file for Apache ActiveMQ
You can launch Apache ActiveMQ by running its executable file as shown in the following example.
cd /opt/activemq
sudo ./bin/activemq startHowever, you may prefer to run ActiveMQ through a Systemd unit file. Create the unit file.
sudo vi /usr/lib/systemd/system/activemq.servicePopulate the file with:
[Unit]
Description=activemq message queue
After=network.target
[Service]
PIDFile=/opt/activemq/data/activemq.pid
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
User=root
Group=root
[Install]
WantedBy=multi-user.targetSave and quit:
:wq!With the unit file in place, you can use Systemd to easily start or stop Apache ActiveMQ.
sudo systemctl enable activemq.service
sudo systemctl start activemq.service
sudo systemctl stop activemq.serviceStep 5: Access the Apache ActiveMQ web console
When Apache ActiveMQ is running, you can access its web console using your web browser.
Start Apache ActiveMQ:
sudo systemctl start activemq.serviceModify firewall rules in order to allow access to port 8161:
sudo firewall-cmd --zone=public --permanent --add-port=8161/tcp
sudo firewall-cmd --reloadNow, point your web browser to http://203.0.113.1:8161/admin and log in using the default credentials.
- username:
admin - password:
admin
The username and password can be configured in the /opt/activemq/conf/jetty-realm.properties file.
Apache ActiveMQ is configured and ready for use. Thanks for reading.