본문으로 건너뛰기

3.2 JBoss EAP 6의 다운로드와 설치

JDK설치

JBoss EAP 6가 지원하는 Java 버전은 1.6, 1.7버전이다. 오라클 JDK(Java SE Development Kit)를 다운로드 받아 설치하자. 리눅스에서는 rpm 버전으로 설치하는 것이 설치, 제거, 버전 업그레이드 등 설치 프로그램에 대한 관리가 편리하기 때문에 rpm 버전을 다운로드 받아 설치한다.

정보

따라하기

  1. JDK 다운로드
  2. JDK 설치
  3. java alternative 설정
  4. Java 버전 확인
  1. JDK 다운로드

    oracle.com사이트에서 jdk-7u45-linux-i586(x64).rpm을 다운로드한다.

  2. JDK 설치

    $ rpm -ivh jdk-7u45-linux-x64.rpm
    Preparing... #################################### [100%]
    1:jdk ##################################### [100%]
    Unpacking JAR files...
    rt.jar...
    jsse.jar...
    charsets.jar...
    tools.jar...
    localedata.jar...
    jfxrt.jar...
  3. java alternative 설정

    $ alternatives --install /usr/bin/java java /usr/java/latest/bin/java 20000
    $ alternatives --config java
    There are 3 programs which provide 'java'.
    Selection Command
    -----------------------------------------------
    * 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
    2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
    + 3 /usr/java/latest/bin/java
    Enter to keep the current selection[+], or type selection number: 3
  4. java Version 확인

    $ java -version
    java version "1.7.0_45"
    Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

Path 추가

Java를 rpm 버전으로 설치하고 alternatives 명령을 이용하여 java를 설정했기 때문에 경로는 /usr/bin/java -> /etc/alternatives/java -> /usr/java/latest/bin/java로 심볼릭 링크로 연결되어 있어 경로를 설정하지 않아도 java를 사용할 수 있다. 하지만, java 이외의 jar, javac, jps등 JDK가 제공하는 다른 유틸리티들을 사용하려면 사용자 PATH에 JDK 설치 경로를 추가하는 것이 좋다.

다음과 같이 ~/.bashrc 파일에 PATH를 추가한다.

정보

따라하기

  1. .bashrc열기
  2. PATH추가
  3. PATH 확인
  1. .bashrc 열기

    $ vi ~/.bashrc
  2. PATH 추가

    .bashrc파일의 맨 뒤에 다음 내용을 추가한다.

    ## added by jboss
    export JBOSS_HOME=/EAP6book/jboss/jboss-eap-6.2
    export HTTPD_HOME=/EAP6book/web/jboss-ews-2.0/httpd
    export PATH=$PATH:/usr/java/latest/bin
  3. PATH 확인

    source ~/.bashrc
    echo $PATH

JBoss EAP 6 지원 환경

JBoss EAP 6 를 설치하기 전에 해당 버전이 지원하는 구성 환경에 대한 확인이 필요하다.

JBoss EAP 6로 테스트된 플랫폼과 Java VM, JDBC 드라이버와 DB 등에 대한 상세한 지원 내용은 아래의 URL을 참조하자.

https://access.redhat.com/site/ko/articles/297473

그림 1. JBoss EAP 6 지원하는 구성 환경

JBoss EAP 6 다운로드

JBoss EAP 6는 레드햇의 서브스크립션을 구매하면 사용할 수 있지만, 커뮤니티 개발자를 위해서 jboss.org 에서 개발 환경에서만 사용할 수 있는 JBoss EAP 6버전을 제공하고 있다.

다운로드를 하기 위해서는 jboss.org 에 사용자 등록을 해야 한다. http://www.jboss.org/products/eap 에서 다운로드 할 수 있다.

다음은 이미 서브스크립션을 보유한 경우 레드햇 고객 포탈에서 다운로드할 수 있다.

순서작업
1고객 서비스 포털(https://access.redhat.com)에 로그인한다.
2메뉴에서 Downloads → JBoss Enterprise Middleware → Downloads 를 선택한다.
3Product 콤보 박스에서 Application Platform 을 선택한다.
4Application Platform 6.2 버전을 찾아 Download 링크를 클릭한다.
5Quickstarts, Maven Repository, HTTP Connectors 네이티브 바이너리 등 필요한 다른 패키지를 다운로드 한다.

JBoss EAP 6 설치

JBoss EAP 6 설치는 Red Hat의 RPM 저장소인 yum 레파지토리를 이용한 설치 방법, GUI 설치 방법 또는 ZIP 압축파일을 사용하는 방법이 있다.

윈도우의 인스톨러처럼 GUI를 이용한 방법으로도 설치 가능하지만, ZIP 파일을 사용하는 방법은 원하는 디렉터리에 단순히 unzip 하기만 하면 설치가 완료되어 이 방법을 더 많이 사용한다.

RPM 을 이용한 설치

RPM 패키지를 사용하여 JBoss EAP 6를 설치하는 방법은 Red Hat Enterprise Linux 6(RHEL 6)에서만 사용할 수 있다. 설치 방법은 Red Hat Network(RHN)를 사용하여 리눅스 서버에 JBoss EAP 채널을 추가하여 설치하는 방법이다. 물론 RHEL 6의 서브스크립션과 JBoss EAP 6 서브스크립션이 사용 가능한 상태여야 하고 RHEL 6서버가 RHN에 등록된 상태여야 한다.

GUI설치 프로그램을 이용한 설치

JBoss EAP 6 GUI설치 프로그램은 여러 가지 설치 방법이 제공된다. 표준 그래픽 사용자 인터페이스 (GUI)를 이용한 설치나, 명령 줄 인터페이스(CLI) 모드를 사용할 수 있다. 또, 자동 설치 모드를 사용하면 향후 똑 같은 설치를 여러 번 반복해야 할 경우에 유용하다. 설치 시에 선택한 히스토리를 설정 XML 파일에 보관할 수 있어, 이를 반복하여 사용할 수 있다.

  • GUI 설치
$ java -jar jboss-eap-6.2.0-installer.jar
  • CUI 설치
$ java -jar jboss-eap-6.2.0-installer.jar -console
  • 자동설치
$ java -jar jboss-eap-6.2.0-installer.jar NameOfXML.xml

Zip 파일을 이용한 설치

Zip 파일을 이용한 설치 방법은 JBoss EAP 6를 설치할 디렉터리로 이동하여, unzip프로그램을 사용하여 zip파일의 압축을 해제한다. 가장 간편한 방법이어서 실제 운영환경에 설치할 때는 대부분 이 방법을 사용한다.

$ unzip jboss-eap-6.2.0.zip

관리자 등록

JBoss EAP 6에서 관리 인터페이스는 기본적으로 보안이 적용되어 있고 등록된 사용자가 없는 상태이다. 이유는 제품 설치 시에 기본 관리자가 있는 경우 이를 변경하지 않아 향후 원격 시스템에서 침입하는 보안 사고 발생을 막기 위한 예방책이다. GUI 방식으로 설치하면 설치 과정에서 관리자 아이디와 패스워드를 설정하게 되지만, ZIP 파일을 이용하여 설치할 경우에는 add-user.sh 를 실행하여 초기 관리자 아이디와 패스워드를 등록해야 한다. 로컬 HTTP 이외의 액세스는 SASL(Simple Authentication and Security Layer) 메커니즘에 의해 보호되고 있어, 로컬 호스트에서 클라이언트가 연결할 때마다 클라이언트와 서버간에 협상이 이루어진다.

다음의 작업은 웹 기반 관리 콘솔 및 관리 CLI에 접속하여 JBoss EAP 6를 설정하고 관리 할 수 있는 초기 관리자를 생성하는 방법이다.

$JBOSS_HOME/bin/ 디렉터리로 이동한 후 ./add-user.sh 를 실행한다.

$ ./add-user.sh
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Enter the details of the new user to add.
Realm (ManagementRealm) :
Username : admin
Password : [패스워드 입력]
Re-enter Password : [패스워드 입력]
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'jboss' to file '/EAP6book/jboss/jboss-eap-6.2/standalone/configuration/mgmt-users.properties'
Added user 'jboss' to file '/EAP6book/jboss/jboss-eap-6.2/domain/configuration/mgmt-users.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value="b3Blbm5hcnUhMjM0" />

JBoss 관리자를 추가하려면, a) Management User를 선택하여야 하며, ‘Username :’에는 관리자의 로그인 아이디, ‘Password :’에는 관리자의 패스워드를 입력한다. 패스워드는 8자 이상으로 입력하여야 하며, 특수문자와 숫자가 반드시 포함되어야 한다.

사용자명:admin, 패스워드:opennaru!234 를 입력한다.

관리자 추가 후에 맨 마지막에 출력되는 secret value는 도메인 모드를 구성할 때 필요한 보안키 값이다. 향후 도메인 모드를 구성하려면 이 값을 사용하기 때문에 기록해 두어야 한다.

JBoss EAP 6시작/정지

JBoss EAP 6에는 도메인과 스탠드얼론 모드라는 두 개의 구성 중 하나를 선택할 수 있다. 각각의 구성에 대해서는 “5장. JBoss EAP 6 아키텍처”에서 자세하게 설명한다.

여기에서는 각 모드에 대한 시작과 정지 방법에 대해서만 설명한다

스탠드얼론 모드에서 시작과 정지

스탠드얼론 모드로 서버를 시작하려면 $JBOSS_HOME/bin/standalone.sh를 실행한다.

정보

따라하기

  1. 스탠드얼론 모드 서버 실행
  2. Welcome 페이지
  3. 웹 콘솔 로그인
  4. 웹 콘솔 화면
  5. 서버 정지
  1. 스탠드얼론 모드 서버 실행
$ $JBOSS_HOME/bin/standalone.sh
  1. Welcome 페이지

    웹 브라우저에서 http://localhost:8080/로 접속한다.

  2. 웹 콘솔 로그인

    http://localhost:9990/console/

패스워드는 앞 절 “2.5 관리자 등록” 에서 설정했던 패스워드를 사용하도록 한다. 사용자명:admin, 패스워드:opennaru!234 를 입력한다

  1. 웹 콘솔 화면

    로그인후 표시되는 화면이다.

  2. 서버정지

    콘솔에서 Ctrl + C를 눌러 서버를 정지한다.

    standalone.sh 스크립트를 실행할 때 옵션들을 파라미터를 지정할 수 있으며, 파라미터를 확인하려면 -h 매개 변수를 사용한다.

도메인 모드에서 시작과 정지

도메인 모드의 서버를 시작하려면 $JBOSS_HOME/bin/domain.sh를 실행한다.

정보

따라하기

  1. 도메인 모드 서버 실행
  2. Welcome 페이지
  3. 웹 콘솔 로그인
  4. 웹 콘솔 화면
  5. 서버 정지
  1. 도메인 모드 서버 실행
$ $JBOSS_HOME/bin/domain.sh
  1. Welcome 페이지

    웹 브라우저에서 http://localhost:8080/로 접속한다.

  2. 웹 콘솔 로그인

    http://localhost:9990/console/

사용자명:admin, 패스워드:opennaru!234 를 입력한다

  1. 웹 콘솔 화면

    로그인후 표시되는 화면이다.

  2. 서버정지

    콘솔에서 Ctrl + C를 눌러 서버를 정지한다.

    domain.sh 스크립트를 실행할 때 여러 옵션을 파라미터로 지정할 수 있으며, 파라미터를 확인하려면 -h 매개 변수를 사용한다.

서버 실행 파라미터

JBoss EAP 6 시작 시 파라미터를 통하여 다양한 옵션을 지정할 수 있다. 예를 들어 기본 설정 파일인 standalone.xml, domain.xml 및 host.xml 외에 다른 설정 파일을 이용하여 서버를 시작할 수 있다. 사용 가능한 파라미터는 시작할 때 다음과 같이 ‘-h’를 사용하여 확인할 수 있다.

$JBOSS_HOME/bin/domain.sh -h
파라미터설명
-b=<value>시스템 프로퍼티 jboss.bind.address를 설정한다.
-b <value>시스템 프로퍼티 jboss.bind.address를 설정한다.
-b<interface>=<value>시스템 프로퍼티 jboss.bind.address. <interface>를 설정한다.
-D<name>[=<value>]시스템 프로퍼티를 설정한다.
-h도움말 메시지를 표시하고 종료한다.
-help도움말 메시지를 표시하고 종료한다.
-P=<url>해당 URL에서 시스템 등록 정보를 로드한다.
-P <url>해당 URL에서 시스템 등록 정보를 로드한다.
-properties=<url>해당 URL에서 시스템 등록 정보를 로드한다.
-server-config=<config>서버 설정 파일 이름을 지정한다. 기본값은 standalone.xml이다.
-V애플리케이션 서버 버전을 표시하고 종료한다.
-v애플리케이션 서버 버전을 표시하고 종료한다.
-version애플리케이션 서버 버전을 표시하고 종료한다.

표 . 서버 실행 옵션

CLI 사용법

CLI(Command Line Interface)는 JBoss 를 관리하기 위한 도구로 $JBOSS_HOME/bin 폴더에서 jboss-cli.sh 스크립트를 실행한다.

$ ./jboss-cli.sh --help
Usage: jboss-cli.sh/jboss-cli.bat [--help] [--version] [--controller=host:port]
……

jboss-cli.sh의 주요 옵션들은 다음과 같다.

옵션설명
--help(-h)jboss-cli의 도움말 표시
--controller--connect의 명령으로 접속할 호스트 IP와 포트 번호를 --controller=IP주소:포트와 같이 지정한다. 생략하면 localhost:9999를 사용한다.
--connect(-c)시작 후 바로 서버에 접속한다.
--guiGUI 모드로 시작한다.
--command한 개의 명령어 또는 오퍼레이션을 지정하여 실행한다.
--commands여러 개의 명령어 또는 오퍼레이션을 콤마로 지정하여 실행한다.

표 2. JBoss CLI 주요 옵션

다음 명령을 사용하여 JBoss EAP 6에서 CLI를 사용할 수 있다.

$ ./jboss-cli.sh --connect --controller=localhost:9999
[standalone@localhost:9999 /]

앞으로 이 책의 전반에서 CLI 명령을 사용하는 예제들을 설명하고 있다. 예제를 확인하려면 jboss-cli.sh 명령을 사용하여 CLI에 접속하여 테스트한다.

JBoss EAP 6 설치 구조 및 정보

JBoss EAP 6은 이전 버전에 비해 단순한 디렉터리 구조를 가지고 있다. 디렉터리 구조와 디렉터리에 포함하고 있는 내용들은 다음과 같다.

디렉터리 구조

디렉터리명설명
appclient/클라이언트 애플리케이션 컨테이너를 사용할 때 설정 정보가 포함되어 있다.
bin/Red Hat Enterprise Linux 및 Microsoft Windows 용 JBoss EAP 6시작 스크립트 및 유틸리티 실행 스크립트가 포함되어 있다.
bundles/JBoss EAP 6 내부 기능에 대한 OSGi 번들이 포함되어 있다.
docs/라이센스 파일, 스키마 및 샘플들이 있다.
domain/JBoss EAP 6를 도메인 모드로 실행하는 경우 사용되는 설정 및 배포 콘텐츠 영역이다.
modules/EAP 6 및 애플리케이션에서 필요시 동적으로 로드하는 모듈, jar 파일들이 보관된 디렉터리이다.
standalone/JBoss EAP 6를 스탠드얼론 모드로 실행하는 경우 사용되는 설정 파일 및 배포 콘텐츠 영역이다.
welcome-content/기본 설치 포트 8080에서 사용하는 Welcome 웹 애플리케이션 콘텐츠가 포함되어 있다. 기본 컨텍스트 루트 애플리케이션이다.
jboss-modules.jar모듈을 로드하는 부트 스트랩 메커니즘이 포함되어 있다.

표 3. JBoss 설치 디렉터리 구조

Domain디렉터리

도메인 모드에서 사용하는 설정이 domain 디렉터리에 설치된다.

디렉터리명설명
configuration/도메인 모드에 대한 설정 파일들을 저장. 이 파일들은 관리 콘솔 및 관리 CLI 를 이용하면 변경되고, 사용자가 직접 편집하지 않는 것이 좋다.
data/배포된 서비스 정보가 보관되는 디렉터리. 이 디렉터리의 파일들은 관리 콘솔 및 관리 CLI를 사용하여 배포하면 파일들이 보관되는 디렉터리다. 이 디렉터리에 사용자가 파일을 직접 복사하면 안 된다.
log/도메인에서 실행되는 호스트 및 프로세스 컨트롤러의 로그 파일이 저장된다.
servers/도메인의 각 서버 인스턴스에 대해 data/, log/ 및 tmp/ 디렉터리가 있다.
tmp/도메인 모드에 대한 로컬 사용자를 인증하기 위해 관리 CLI에서 사용되는 공유 키 메커니즘에 대한 파일 등의 임시 데이터가 저장된다.

표 4. domain 디렉터리 구조

standalone 디렉터리

스탠드얼론 모드에서 사용하는 설정이 standalone 디렉터리에 설치된다.

디렉터리명설명
configuration/스탠드얼론 모드에 대한 설정 파일들을 저장. 이 파일들은 관리 콘솔 및 관리 CLI 를 이용하면 변경되고, 사용자가 직접 편집하지 않는 것이 좋다.
data/배포된 서비스 정보가 보관되는 디렉터리. 이 디렉터리의 파일들은 관리 콘솔 및 관리 CLI를 사용하여 배포하면 파일들이 보관되는 디렉터리다. 이 디렉터리에 사용자가 파일을 직접 복사하면 안 된다.
log/서버 인스턴스의 로그가 보관된다.

표 5. standalone 디렉터리 구조