This is an old revision of the document!
Table of Contents
Install ActiveMQ
This page shows how to install ActiveMQ on CentOS 6
Prerequisites
You must have a CentOS machine already set up in accordance with the the “Install CentOS 6” guide.
Download
Download the latest Linux tar file from the ActiveMQ website and put it in /tmp on the target server
Create Disk Partition
Run the following as root
lvcreate -L 1G datavg -n activemq mkfs -t ext4 /dev/mapper/datavg-activemq mkdir /activemq echo '/dev/mapper/datavg-activemq /activemq ext4 defaults 1 2' >> /etc/fstab mount -a
Setup User
useradd activemq passwd activemq
Install
chown activemq:activemq /activemq/ su - activemq
cd /activemq/ tar xf apache-activemq-5.11.1-bin.tar.gz ln -s apache-activemq-5.11.1 activemq rm -f apache-activemq-5.11.1-bin.tar.gz
Configure
Enable the use of JMXThis will enable the use of some admin related commands when using /activemq/activemq/bin/activemq and /activemq/activemq/bin/activemq. The following commands are supported http://activemq.apache.org/activemq-command-line-tools-reference.html
vi /activemq/activemq/conf/activemq.xml
As root create /etc/init.d/activemq and put the following in the file Set the managementContext element to True
<managementContext> <managementContext createConnector="true"/> </managementContext>
Also, in the same file, edit
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="10 gb"/>
</tempUsage>
to
<storeUsage>
<storeUsage limit="500 mb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
No configure the username/password in activemq by adding the following (change password value as appropriate) to /activemq/activemq/conf/jetty-realm.properties Replace
admin: admin, admin
With
wsxadm: Password, admin
The format is “username: password, rolename”
As root create /etc/init.d/activemq and put the following in the file
#!/bin/bash # chkconfig: 2345 95 20 # description: Script to Start | Restart activemq case $1 in start) COMMAND="/activemq/activemq/bin/activemq start" /bin/su activemq -c "$COMMAND" ;; stop) COMMAND="/activemq/activemq/bin/activemq stop" /bin/su activemq -c "$COMMAND" ;; restart) COMMAND="/activemq/activemq/bin/activemq stop" /bin/su activemq -c "$COMMAND" COMMAND="/activemq/activemq/bin/activemq start" /bin/su activemq -c "$COMMAND" ;; esac exit 0
chmod u+x /etc/init.d/activemq chkconfig --add activemq chkconfig activemq on
Open Firewall
By default, the admin page runs on port 8161. We put this behind the Nginx reverse proxy and access it over https on port 8162.
Open the firewall
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8162-j ACCEPT service iptables save service iptables restart
Add the following at the end of /etc/nginx/conf.d/default.d (Change “internal” as appropriate).
server {
listen 8162;
server_name internal.example.com;
ssl on;
ssl_certificate /etc/nginx/conf.d/internal.crt;
ssl_certificate_key /etc/nginx/conf.d/internal.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers 'AES256+EECDH:AES256';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
#charset koi8-r;
access_log /var/log/nginx/log/host.access.log main;
location / {
proxy_pass http://mqadmin;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_set_header Host $host;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
send_timeout 900;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Add the following to the top of /etc/nginx/conf.d/default.d
upstream mqadmin {
server 127.0.0.1:8161;
}
Restart Nginx
service nginx restart
You can now access the admin page on
https://internal.example.com:8162/admin/
