글 작성자: drizzle_
728x90

Apache ActiveMQ는 Java로 작성된 무료 멀티 프로토콜 Java 기반 메시지 브로커 소프트웨어이다.

응용 프로그램 간 통신을 허용하는 산업 표준 프로토콜을 지원한다.

ActiveMQ는 클래식 및 "차세대"Artemis 브로커에서 사용할 수 있다.

Artemis가 5.x 코드 기반으로 충분한 수준의 기능 패리티에 도달하면 ActiveMQ 6이된다.

애플리케이션을위한 무료 고성능 메시지 브로커를 찾고 있다면 Apache ActiveMQ를 추천한다.

Apache ActiveMQ에 대한 자세한 내용은 홈페이지를 방문해보면 된다.


설치하기

1. 자바 설치하기

Apache ActiveMQ는 Java로 작성되었으므로이를 실행하려면 Java가 설치되어 있어야한다.

Java를 설치하려면 아래 명령을 실행하면된다.

먼저, 패키지를 업데이트 해준다.

 sudo apt-get update

업데이트를 하였다면 Java를 설치한다.

sudo apt-get install default-jre

자바를 설치하였다면, 아래 커맨드를 실행하여 자바가 정상적으로 설치되었는지 확인해본다.

java -version

2. Apache ActiveMQ설치

Java가 설치되었으므로 아래 명령을 실행하여 Apache office 패키지 저장소에서 ActiveMQ를 다운로드한다.

이 글을 쓰는 시점에서 현재 버전은 5.16.0이었다.

cd /tmp
wget http://archive.apache.org/dist/activemq/5.15.8/apache-activemq-5.16.0-bin.tar.gz

그런 다음 다운로드 한 압축파일을 압축풀고, /opt에 activemq라는 폴더를 만들고, /opt/activemq에 압축을 푼 폴더를 복사한다.

tar -xvzf apache-activemq-5.16.0-bin.tar.gz
sudo mv apache-activemq-5.16.0 /opt/activemq

그 후, ActiveMQ를 시스템 서비스를 작성하여 서비스 시작, 중지 및 사용을 제어 할 수 있다.

이를 수행하려면 아래 커맨드를 실행하여 서비스 파일을 작성해야한다.

sudo 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

저장한 후, 제대로 작동하는지 테스트해본다.

sudo systemctl daemon-reload
sudo systemctl start activemq
sudo systemctl enable activemq

ActiveMq가 실행중인것을 알고싶다면 아래 커맨드를 실행하면 된다.

/opt/activemq/bin/activemq status

아래와 비슷하게 출력이 된다면 ActiveMq는 설치가 된것이다.

INFO: Loading '/opt/activemq//bin/env'
INFO: Using java '/usr/bin/java'
ActiveMQ is running (pid '5453')

ActiveMQ를 설치 한 후 기본 구성(설정) 파일은 /opt/activemq/conf/activemq.xml에 있다.

그것을 열고 환경에 맞게 수정할 수 있다.

 

기본 구성(설정)파일을 수정하였다면, ActiveMq를 재시작한다.

sudo systemctl restart activemq

방화벽을 설정한다.

sudo ufw allow 8161

3. ActiveMq 설정

이제 http://서버아이피:8161 로 접속해본다.

 

아이디와 비밀번호를 입력하라고 할것이다.

아이디와 비밀번호 둘 다 admin이다.

 

로그인을 했다면 아래와 비슷한 화면이 나올것이다.

3-1. Hawtio 설치 - 필수 아님

최신 버전의 Hawtio를 다운로드하려면 Github의 릴리즈 페이지를 확인하면 된다.

아래 커맨드를 사용하여 다운로드한다.(이 글을 쓸 때의 버전은 2.10.1이었다)

cd /tmp
sudo wget https://repo1.maven.org/maven2/io/hawt/hawtio-default/2.10.1/hawtio-default-2.10.1.war

아래의 커맨드를 입력하여 압축을 해제하고, Hawtio를 ActiveMQ를 설치한 경로로 이동한다.

unzip hawtio-default-2.9.1.war -d hawtio
sudo mv hawtio /opt/activemq/webapps/
sudo chown -R activemq:activemq /opt/activemq/webapps/

완료되면 Hawtio 구성 파일을 열고(sudo nano /opt/activemq/bin/env) 아래의 문장을

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"

아래의 문장으로 바꾼다.

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal"

저장하고 빠져나온다.

 

아래의 커맨드를 입력하여 설정 파일을 연다.

sudo nano /opt/activemq/conf/jetty.xml

아래처럼 맨 윗줄에 <ref bean=”rewriteHandler”> 을 추가한다.

<ref bean="rewriteHandler"/>
  <bean class="org.eclipse.jetty.webapp.WebAppContext">
  <property name="contextPath" value="/hawtio" />
  <property name="resourceBase" value="${activemq.home}/webapps/hawtio" />
  <property name="logUrlOnStart" value="true" />
   </bean>

저장하고 빠져나온다.

 

이제, ActiveMq를 재시작한다.

sudo systemctl restart activemq

 

아무런 오류가 없이 ActiveMq가 재시작 되었다면, http://서버아이피:8161/hawtio 로 접속한다.

정상적으로 설치가 되었다면 아래와 비슷한 화면이 보일것이다.

마찬가지로 아이디와 비밀번호는 admin이다.

로그인을 성공하였다면 아래와 같은 화면이 보일것이다.

성공이다.

728x90
Email: b1@yeonw.me / 여기를 눌러 다른 연락 수단들 알아보기