安裝JDK並配置環境變量(略)html
JAVA_HOME=/home/huangkejie/java/jdk1.8.0_171java
在home/huangkejie下建立activeMQ目錄web
$ mkdir activeMQapache
$ cd activeMQ安全
下載Linux版的ActiveMQ(當前最新版apache-activemq-5.11.1-bin.tar.gz)eclipse
$ wget http://apache.fayea.com/activemq/5.11.1/apache-activemq-5.11.1-bin.tar.gztcp
解壓安裝spa
$ tar -zxvf apache-activemq-5.11.1-bin.tar.gzrest
$ mv apache-activemq-5.11.1 activemqxml
若是啓動腳本activemq沒有可執行權限,此時則須要受權(此步可選)
$ cd /home/huangkejie/activemq/bin/
$ chmod 777 ./activemq
防火牆中打開對應的端口
ActiveMQ須要用到兩個端口
一個是消息通信的端口(默認爲61616)
一個是管理控制檯端口(默認爲8161)可在conf/jetty.xml中修改,以下:
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 61616 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8161 -j ACCEPT
重啓防火牆:
# service iptables restart
啓動
$ cd /home/huangkejie/activemq/bin
$ ./activemq start
打開管理界面:http://192.168.186.134:8161
點擊Manage ActiveMQ broker超連接輸入默認用戶名和密碼爲:admin/admin
登陸後進入
安全配置(消息安全)
ActiveMQ若是不加入安全機制的話,任何人只要知道消息服務的具體地址(包括ip,端口,消息地址[隊列或者主題地址],),均可以肆無忌憚的發送、接收消息。關於ActiveMQ安裝配置http://activemq.apache.org/security.html
ActiveMQ的消息安全配置策略有多種,咱們以簡單受權配置爲例:
在conf/activemq.xml文件中在broker結束標籤前加入如下內容便可:
$ vi /home/huangkejie/activemq/conf/activemq.xml
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="huangkejie" password="huangkejie" groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
定義了一個huangkejie用戶,密碼爲huangkejie,角色爲users,admins
設置admin的用戶名和密碼:
$ vi /home/wusc/activemq-01/conf/jetty.xml
<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="admin" />
<property name="authenticate" value="true" />
</bean>
確保authenticate的值爲true(默認)
控制檯的登陸用戶名密碼保存在conf/jetty-realm.properties文件中,內容以下:
$ vi /home/wusc/activemq-01/conf/jetty-realm.properties
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
注意:用戶名和密碼的格式是
用戶名 : 密碼 ,角色名
以上的截圖能夠看出我修改了admin的密碼爲huangkejie,新增了huangkejie的用戶,密碼爲huangkejie,角色爲admin
重啓:
$ /home/huangkejie/activemq/bin/activemq restart
設置開機啓動:
# vi /etc/rc.local
加入如下內容
## ActiveMQ
su - huangkejie -c '/home/huangkejie/activemq/bin/activemq start'