UNIX 환경에서 설치 및 제거

본 장에서는 JEUS를 설치하고 제거하는 과정에 대해서 설명한다.

1. 개요

UNIX/LINUX 환경에서 JEUS 설치/제거는 콘솔 모드에서 가능하다.

JEUS 설치는 다음의 과정으로 진행된다.

  1. JDK 8 또는 JDK 11 설치

  2. JEUS 설치(파일 복사)

  3. 설치 확인

    • 기동 확인

    • 환경변수 설정과 검증

  1. JEUS 패치가 있을 경우 JEUS_HOME/lib에 jext, jlext, jnext 디렉터리에 적용 및 확인이 가능하다.

2. 설치

본 절에서는 콘솔 모드에서 설치하는 과정에 대해서 설명한다.

콘솔 모드(명령 라인) UNIX/Linux 환경에서 JEUS를 설치하는 방법에 대해서 설명한다. 콘솔 모드에서 설치하기 위해서 Console Installer를 실행해야 한다.

다음은 텍스트 기반 셸을 실행하는 과정에 대한 설명이다.

  1. JEUS 설치 CD를 넣고 마운트(mount)한다. CD의 jeus21001_unix_generic_ko.bin 파일이 위치한 디렉터리로 이동한다.

  2. 다른 곳에 있는 설치 Console Installer가 실행이 가능하도록 하려면 설치 파일의 실행 권한을 다음과 같이 부여한다.

    [was@localhost jeus]$ chmod u+x jeus21001_unix_generic_ko.bin
  3. 콘솔에서 다음의 명령을 입력한 후 <ENTER> 키를 누른다.

    [jeususer@matrix jeus]$ ./jeus21001_unix_generic_ko.bin
    Preparing to install
    Extracting the installation resources from the installer archive...
    Configuring the installer for this system's environment...
    
    Launching installer...
    
    ===============================================================================
    JEUS 21                                        (created with InstallAnywhere)
    -------------------------------------------------------------------------------
    
    Preparing CONSOLE Mode Installation...
  4. JEUS 라이선스 준수 화면이 나타난다.

    ===============================================================================
    License Agreement
    -----------------
    
    Installation and Use of JEUS 21 Requires Acceptance of the Following License
    Agreement:
    
    JEUS (Java Enterprise User Solution) Release JEUS 21
    TmaxSoft Co., Ltd. (hereafter, TmaxSoft) End-User License Agreement
    
    Product : JEUS
    
    This is a legal agreement between you (either an individual or an company) and
    TmaxSoft, Incorporated.  By opening the sealed software package and/or by
    using the software, you agree to be bound by the terms of this agreement.
    
    TmaxSoft License
    1.  Grant of License:  This TmaxSoft License Agreement ("License") permits you
    to use one copy of the TmaxSoft product JEUS, on any single computer, provided
    the software is in use on only one computer at any one time.  If this package
    is a license pack, you may make and use additional copies of the software up
    to the number of licensed copies authorized.  If you have multiple licenses
    for the software, then at any time you may have as many copies of the software
    in use as you have licenses.
      The software is "in use" on a computer when it is loaded into the temporary
    memory (i.e., RAM) or installed into the permanent memory (e.g., hard disk,
    CD-ROM, or other storage devices) of that computer, except that a copy
    installed on a network server for the sole purpose of distribution to other
    computers is not "in use".  If the anticipated number of users of the software
    will exceed the number of applicable licenses, then you must have a reasonable
  5. JEUS 라이선스 준수에 대한 다음 정보를 보기 위해 <ENTER> 키를 누른다.

    PRESS <ENTER> TO CONTINUE:
    
    mechanism or process in place to ensure that the number of persons using the
    software concurrently does not exceed the number of licenses.
    
    2.  Copyright:  The software (including any images, "applets," photographs,
    animations, video, audio, music and text incorporated into the software) is
    owned by TmaxSoft or its suppliers and international treaty provisions.
    Therefore, you must treat the software like any other copyrighted materials
    (e.g., a book or musical recording) except that you may either (a) make one
    copy of the software solely for backup or archival purposes, or (b) transfer
    the software to a single hard disk provided you keep the original solely for
    backup or archival purposes.  You may not copy the printed materials
    accompanying the software, nor print copies of any user documentation provided
    in "online" or electronic form.
    
    3.  Other restrictions: This license is your proof of license to exercise the
    rights granted herein and must be retained by you. You may not rent, lease, or
    transfer your rights under this license on a permanent basis provided you
    transfer this license, the software, and all accompanying printed materials,
    retain no copies, and the recipient agrees to the terms of this license. You
    may not reverse engine, decompile, or disassemble the software, except to the
    extent that the foregoing restriction is expressly prohibited by applicable
    law.
  6. 라이선스 동의 여부를 결정한다. 동의를 하면 ‘y’를 입력한 후 <ENTER> 키를 누르고, 아니면 ‘n’을 입력한 후 <ENTER> 키를 누른다.

    PRESS <ENTER> TO CONTINUE:
    DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): Y
  7. 플랫폼 목록 중 설치할 플랫폼을 입력한다.

    ===============================================================================
    Choose Platform
    ---------------
    
    Choose the operating system and architecture :
    1)AIX 5.x, 6.x, 7.x PowerPC
    2)Linux x64
    3)Linux PowerPC 64
    Quit) Quit Installer
    
    Choose Current System (Default: 2):
  8. 설치 디렉터리를 선택한다. 기본적으로 제공되는 값을 사용하려면 <ENTER> 키를 누르고, 디렉터리 변경을 원하면 설치 경로를 입력한다.

    ===============================================================================
    Installation Folder
    -------------------
    
    Enter the installation folder.
    
      Default Install Folder: /home/jeus21
    
    ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
          :
  9. JDK의 위치를 입력한다. <ENTER> 키를 누르면 자동으로 인식한 JDK의 위치를 사용한다. 디렉터리를 변경하려면 설치 경로를 입력한다.

    ===============================================================================
    Enter the JDK path.
    -------------------
    
    Enter the JDK path:
    
    Enter the JDK path (Default: /home/jdk1.8.0_251):
  10. Master Server와 Managed Server(MS) 중 설치할 서버를 선택한다. 기본적으로는 Master Server가 설정된다.

    ===============================================================================
    Installation type
    -----------------
    
    Please choose the Install Set to be installed by this installer.
    
      ->1- Master Server
        2- Managed Server
    
    ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
       :

    다음은 각 설치 항목에 대한 설명이다.

    항목 설명

    Master Server

    Master Server를 설치한다. Master Server는 Managed Server를 관리하기 위한 서버이다.

    Managed Server

    Managed Server를 설치한다.

  11. Master Server를 선택한 경우 Installation Mode를 선택한다. 기본적으로는 Production Mode가 설정된다.

    ===============================================================================
    Installation Mode
    -----------------
    
    * Production Mode.
    - Disables JEUS Hot Swap.
    - Disables Automatic Reloading.
      - Displays a warning message and recommends using a full license if a demo
    license is used.
    
    * Development Mode.
    - Enables JEUS Hot Swap.
      - Enables Automatic Reloading.
    
      ->1- Production Mode
        2- Development Mode
        3- Cancel
    
    ENTER THE NUMBER OF THE DESIRED CHOICE, OR PRESS <ENTER> TO ACCEPT THE
       DEFAULT:

    다음은 각 설치 항목에 대한 설명이다.

    항목 설명

    Production Mode

    설치할 때 Production Mode로 설치한다. JEUS Hot Swap, Automatic Reloading을 사용하지 않는다. demo license가 사용되면 경고 메시지가 출력된다.

    Development Mode

    설치할 때 Development Mode로 설치한다. JEUS Hot Swap, Automatic Reloading을 사용한다.

  12. Master Server를 선택한 경우 Master Server에 사용할 도메인 이름을 입력한다.

    ===============================================================================
    input JEUS Environments :: JEUS Domain Name
    -------------------------------------------
    
    Enter the
    - JEUS Domain Name
    - Enter alphanumeric characters (case-sensitive).
    
    Domain Name (Default: jeus_domain):
  13. Master Server를 선택한 경우 JEUS 관리자의 패스워드를 입력한다. 이 패스워드는 "administrator" ID로 할당된다.

    ===============================================================================
    Password Input
    --------------
    
    Enter the Password for the administrator account.
    
    
    Input Password:

    패스워드는 JEUS를 기동하는 필수적인 요소이다. 입력한 패스워드는 기억장치에 기록되며, 주의 깊게 입력해야 한다.

  14. 다음 화면은 설치에 관련한 요약정보를 보여준다. <ENTER> 키를 누르면 설치가 진행된다.

    ===============================================================================
    Pre-Installation Summary
    ------------------------
    
    Review the Following Before Continuing:
    
    Product Name:
        JEUS 21
    
    Install Folder:
        /home/JEUS21001_installer
    
    Disk Space Information (for Installation Target):
        Required:      840,921,580 Bytes
        Available: 549,948,723,200 Bytes
    
    PRESS <ENTER> TO CONTINUE:
  15. 진행 바와 함께 설치가 진행된다.

    ===============================================================================
    Installing...
    -------------
    
     [==================|==================|==================|==================]
     [------------------|---------------
  16. 설치가 완료되면 다음의 메시지가 출력된다.

    ===============================================================================
    Installation Complete
    ---------------------
    
    JEUS 21 has been successfully installed to:
    
         /home/jeus21001
    
    PRESS <ENTER> TO EXIT THE INSTALLER:

3. 설치 확인

JEUS를 설치한 후 사용에 필요한 환경변수를 설정해야 한다. 환경변수를 설정하고 JEUS를 기동해서 설치가 정상적으로 이루어졌는지 확인한다. 환경변수를 설정하기 전에 JEUS가 설치된 경로에 디텍터리 구조를 확인한다.

3.1. 디렉터리 구조

다음은 JEUS를 설치했을 때의 전체 디렉터리 구조이다.

{JEUS_HOME}
    |-- bin
    |    |--[01]startMasterServer
    |    |--[01]startManagedServer
    |    |--[01]stopServer
    |    |--[01]jeusadmin
    |--derby
    |--docs
    |--lib
    |   |--shared
    |        |--[X]libraries.xml
    |--license
    |--setup
    |--templates
    |--samples
    |--webserver
    |--domains
          |--<domain_name>
                  |--.applications
                  |--.deploymentplans
                  |--.libraries
                  |--bin
                  |--config
                  |--lib
                  |   |--application
                  |--servers
                      |--<server_name>
                             |--.workspace
                             |     |--deployed
                             |     |--tmp
                             |     |--web-nio
                             |     |--tmlog
                             |--bin
                             |--lib
                             |   |--application
                             |--logs
    |--hostmanager

* Legend
- [01]: binary or executable file
- [X] : XML document
- [J] : JAR file
- [T] : Text file
- [C] : Class file
- [V] : jaba source file
- [DD] : deployment dexcriptor

다음은 디렉터리와 파일의 설명이다.

{JEUS_HOME}

JEUS의 최상위 디렉터리로 실제 디렉터리 이름과 위치는 설치할 때 결정된다.

bin

서버의 시작 및 종료 스크립트인 startMasterServer, startManagedServer, stopServer와 JEUS 콘솔 툴(jeusadmin)과 같은 실행 파일들이 위치한다.

derby

샘플 애플리케이션이나 테스트에서 쉽게 사용할 수 있도록 Apache Derby를 포함시킨다.

docs

JEUS에서 제공하는 API에 대한 Javadoc이 존재한다.

lib

JEUS가 기동하는 데 필요한 라이브러리가 존재한다. shared 디렉터리를 제외한 나머지 디렉터리들은 사용자가 접근할 필요가 없다.

디렉터리 설명

shared

shared 디렉터리에는 애플리케이션에서 사용하는 라이브러리가 존재한다.

shared 디렉터리의 라이브러리를 사용하려면 libraries.xml에 라이브러리의 정보를 추가해야 한다. 그리고 해당 라이브러리를 사용할 애플리케이션의 JEUS Deployment Descriptor(DD)에서 해당 라이브러리에 대한 레퍼런스 정보를 지정해야 한다. shared 라이브러리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 공유 라이브러리를 참고한다.

license

JEUS 라이선스 파일이 위치한다. 라이선스 파일은 JEUS가 실행되기 위해서 반드시 필요한 파일이다.

setup

JEUS 설치 후 사용할 수 있도록 환경을 구축하기 위해 필요한 파일들이 위치한다.

templates

각종 설정과 환경 등의 template 파일이 위치한다.

samples

JEUS의 예제 파일들이 위치한다.

webserver

JEUS가 설치될 때 JEUS 웹 서버가 설치되는 디렉터리이다. 자세한 내용은 JEUS Web Engine 안내서를 참조한다.

domains

하위에 도메인별로 DOMAIN_HOME과 JEUS_HOME에서 사용하는 노드 정보가 포함된 nodes.xml이 존재한다.

다음의 디렉터리 및 파일들은 DOMAIN_HOME 아래에 위치한다.

  • .applications

    해당 도메인에서 관리하는 애플리케이션 파일이 존재한다.

    install-application, uninstall-application 명령어를 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-applicationuninstall-application을 참고한다.

  • .deploymentplans

    해당 도메인에서 관리하는 Deployment Plan 파일이 존재한다.

    install-deployment-plan, uninstall-deployment-plan 명령어를 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-deployment-planuninstall-deployment-plan을 참고한다.

  • .libraries

    해당 도메인에서 관리하는 라이브러리 파일이 존재한다.

    install-application, uninstall-application 명령어를 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-applicationuninstall-application을 참고한다.

  • bin

    해당 도메인에 속한 Master Server와 Managed Server의 시작 및 종료 스크립트가 위치한다. JEUS_HOME/bin의 startMasterServer, startManagedServer, stopServer와 동일한 기능을 수행하지만 도메인 이름을 설정할 필요가 없다.

  • config

    도메인의 설정 파일인 domain.xml이 변경된 경우 이전 이력을 위해 존재하는 백업 파일들이 위치한다. 도메인 설정에 대한 자세한 설명은 JEUS Domain 안내서의 도메인 설정변경을 참고한다.

    구분 설명

    security

    • SYSTEM_DOMAIN : 도메인 단위로 적용되는 보안 도메인 파일인 accounts.xml, policies.xml이 존재하며, 각 XML 파일은 WebAdmin과 jeusadmin을 통해 동적 설정 변경이 가능하다. 보안 도메인 설정에 대한 자세한 설명은 JEUS Security 안내서의 보안 도메인 설정을 참고한다.

    • security-domains.xml : JEUS의 보안 도메인에 대한 설정을 저장하는 파일이다.

    • security.key : 대칭키 암호화 알고리듬에 대한 Key를 저장하는 파일로 JEUS_HOME/bin/encryption을 수행하면 생성된다. security.key 파일에 대한 자세한 설명은 JEUS Security 안내서의 패스워드 보안 설정을 참고한다.

    • policy : Java permission 설정 파일이다. JEUS의 보안 시스템과는 별도로 Java SE Security Manager에서 사용된다.

    servlet

    • web.xml : web.xml을 개별적으로 가지고 있지 않은 경우 웹 엔진이 사용할 웹 모듈의 web.xml이다. 기본값은 빈 XML 파일이다.

    • webcommon.xml : 도메인 내 서버의 웹 엔진의 모든 웹 모듈에 적용되는 공통 설정 파일이다. 설정에 대한 자세한 설명은 JEUS Web Engine 안내서의 디렉터리 구조를 참고한다.

  • lib/application

    도메인 전체에 적용하고 싶은 애플리케이션 라이브러리를 위치시키는 디렉터리다.

    SERVER_HOME에 존재하는 애플리케이션 라이브러리와 충돌이 발생할 경우 SERVER_HOME/lib/application이 우선되고 경고 메시지가 남는다. lib/application 디렉터리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 lib/application 디렉터리를 참고한다.

  • servers

    이 디렉터리 하위에 SERVER_HOME 디렉터리가 서버 이름으로 생성된다. SERVER_HOME 디렉터리 구조에 대한 자세한 설명은 JEUS Server 안내서의 서버 디렉터리 구조를 참고한다.

    디렉터리 설명

    .workspace

    JEUS가 사용하는 서버별 공간으로 사용자가 변경해서는 안 된다.

    bin

    서버의 시작/종료 스크립트를 포함하고 있다. JEUS_HOME/bin의 스크립트와 동일한 기능을 수행하지만 도메인 이름과 서버 이름을 설정할 필요가 없다.

    • Master Server일 경우 : startMasterServer/stopServer가 존재한다.

    • Managed Server일 경우 : startManagedServer/stopserver가 존재한다.

    lib/application

    서버에 적용하고 싶은 애플리케이션 라이브러리가 존재한다. 도메인 범위의 라이브러리(DOMAIN_HOME/lib/application)보다 우선순위가 높다. 라이브러리가 충돌할 경우 이 디렉터리에 존재하는 파일이 적용되며 경고 메시지가 남는다. lib/application에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 lib/application 디렉터리를 참고한다.

    logs

    서버의 Launcher 로그, 서버 로그, 엑세스 로그 파일이 남는다. 자세한 내용은 JEUS Server 안내서의 Logging을 참고한다.

hostmanager

JEUS 설치시 JEUS_HOME/hostmanager 경로에 hostmanager가 설치된다. SUPERFRAME_HOME 환경변수로 hostmanager 디렉터리를 설정할 수 있다. (예: JEUS_HOME/hostmanager) 자세한 내용은 JEUS Host Manager 안내서의 실행 환경을 참고한다.

3.2. 환경설정

JEUS를 사용하기 위해서는 환경변수가 필요하다. 설치 과정에서 일부 환경변수를 설정하지만 경우에 따라서는 수정해서 사용한다. 해당 변수들은 설치할 때 환경변수 PATH는 .profile/.cshrc에 적용되고, 그 외 환경변수는 $JEUS_HOME/bin/jeus.properties 파일에 설정된다. 만약 서버 별로 서로 다른 환경변수를 설정하려면 $JEUS_HOME/bin/<SERVER_NAME>.properties 파일을 작성한다. 서버를 기동하는 경우 [-server] 옵션을 사용하여 서버 이름을 지정한다.

다음은 주요 환경변수에 대한 설명이다.

환경변수 설명

PATH

시스템 경로를 설정한다.

다음을 포함하고 있어야 한다.

  • /home/jeus/bin

  • /home/jeus/lib/system

JEUS_HOME

JEUS 설치 디렉터리를 설정한다. (예: /home/jeus)

JEUS_LIBPATH

JEUS 라이브러리 파일 경로를 설정한다. (예: /home/jeus/lib/system)

VM_TYPE

Java HotSpot JVM 사용 유무를 설정한다. (예: hotspot or old)

USERNAME

Administrator 계정의 ID를 설정한다.

PASSWORD

Administrator 패스워드를 설정한다.

JAVA_HOME

JDK 설치 디렉터리 경로를 설정한다. (예: /usr/jdk1.8)

ANT_HOME

ANT 설치 디렉터리 경로를 설정한다. (예: home/jeus/lib/etc/ant)

JAVA_ARGS

JDK 파라미터를 설정한다.

JAVA_VENDOR

JDK 벤더를 설정한다. (예: Sun, IBM, HP)

환경변수를 설정할 때 C 셸이라면 JEUS_HOME 변수를 설정하기 위해서는 ‘setenv’를 사용한다.

setenv JEUS_HOME “/home/jeus”

다음은 시스템 PATH 설정하는 예이다.

setenv PATH “${PATH}:/home/jeus/bin:
/home/jeus/lib/system”

Java의 실행 디렉터리(/usr/jdk1.8/bin)는 JEUS에서 사용하게 되므로 환경변수에 추가할 때는 앞 쪽에 추가하도록 한다.

3.3. 기동 확인

JEUS 설치가 정상적으로 완료되었는지 확인하기 위해 다음 단계를 진행해서 JEUS를 기동한다.

  1. 콘솔 프롬프트에 startMasterServer 명령어를 입력해서 Master Server(MASTER)를 시작한다. 일반적으로 관리자의 계정은 'administrator’이고 패스워드는 JEUS를 설치할 때 입력한 값이다.

    다음은 명령어를 실행해서 Master Server(MASTER)를 시작하는 방법이다.

    startMasterServer -u <user_name> -p <password>

    기동이 완료되면 "Successfully started the server. The server state is now RUNNING."라는 메시지가 출력된다.

    [was@localhost ~]$ startMasterServer -u administrator -p <password>
    ***************************************************************
      - JEUS Home         : /home/was/jeus
      - Added Java Option : -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc
    ***************************************************************
    
    =============== JEUS LICENSE INFORMATION ================
    == VERSION : JEUS 21 Fix#1 (21.0.0.1-b435)
    == EDITION: Enterprise (Trial License)
    == NOTICE: This license restricts the number of allowed clients.
    == Max. Number of Clients: 5
    ==========================================================
    [2023.04.24 17:54:09][1] [launcher-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
    This license is not appropriate for product runtime mode. Replace the license with an appropriate one.
    [2023.04.24 17:54:10][1] [launcher-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
    [2023.04.24 17:54:10][2] [launcher-1] [Launcher-0012] Starting the server [server1] with the command
     /home/jdk1.8.0_251/bin/java -Dserver1 -Xms1024m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc -server -Xbootclasspath/p:/home/JEUS21001_installer/lib/system/extension.jar -classpath /home/JEUS21001_installer/lib/system/bootstrap.jar -Djava.security.policy=/home/JEUS21001_installer/domains/jeus21/config/security/policy -Djava.library.path=/home/JEUS21001_installer/lib/system:/home/webtob5004_B231_0_38//lib:/home/webtob5004_B231_0_38//lib:/home/webtob5004_B231_0_38//lib: -Djava.endorsed.dirs=/home/JEUS21001_installer/lib/endorsed -Djeus.properties.replicate=jeus,sun.rmi,java.util,java.net -Djava.util.logging.config.file=/home/JEUS21001_installer/bin/logging.properties -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.util.logging.manager=jeus.util.logging.JeusLogManager -Djeus.home=/home/JEUS21001_installer -Djava.net.preferIPv4Stack=true -Djeus.tm.checkReg=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Djeus.tool.webadmin.locale.language=ko -Djeus.domain.name=jeus21 -Djava.naming.factory.initial=jeus.jndi.JNSContextFactory -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url -Djeus.server.protectmode=false -Dis.jeus.master=true -Dsun.net.http.errorstream.enableBuffering=true -Djeus.master.admin.ui.context.path=/webadmin -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/home/JEUS21001_installer/domains/jeus21/servers/server1/logs/jvm.log jeus.server.admin.MasterServerBootstrapper -domain jeus21 -u administrator -verbose -server server1 .
    [2023.04.24 17:54:10][2] [launcher-1] [Launcher-0014] The server[server1] is being started ...
    [2023.04.24 17:54:10][1] [server1-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
    [2023.04.24 17:54:10][1] [server1-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
    [2023.04.24 17:54:12][2] [server1-1] [SERVER-0248] The JEUS server is STARTING.
    [2023.04.24 17:54:12][0] [server1-1] [SERVER-0000] Version information - JEUS 21 Fix#1 (21.0.0.1-b435).
    
    ... 중략
    
    [2023.04.24 17:54:13][2] [server1-1] [SERVER-0248] The JEUS server is STANDBY.
    [2023.04.24 17:54:13][2] [server1-1] [SERVER-0248] The JEUS server is STARTING.
    [2023.04.24 17:54:13][2] [server1-1] [WEB-3413] The web engine is ready to receive requests.
    [2023.04.24 17:54:13][2] [server1-1] [NET-0002] Beginning to listen to NonBlockingChannelAcceptor: qpsp1:8808.
    [2023.04.24 17:54:13][2] [server1-1] [UNIFY-0100] Listener information
    
    +------------+-------+--------------+-----------+----------------------------------------+
    | Name       | SSL   | Address:Port | Protocol  | Virtual Listener                       |
    +------------+-------+--------------+-----------+----------------------------------------+
    | base       | false | 0.0.0.0:9736 | VIRTUAL   | ClassFTP                               |
    |            |       |              |           | SecurityServer                         |
    |            |       |              |           | JMXConnectionServer/JEUSMP_adminServer |
    |            |       |              |           | JMXConnectionServer/JeusMBeanServer    |
    |            |       |              |           | TransactionManager                     |
    |            |       |              |           | JMSServiceChannel-default              |
    |            |       |              |           | FileTransfer                           |
    |            |       |              |           | JNDI                                   |
    |            |       |              | HTTP      |                                        |
    +------------+-------+--------------+-----------+----------------------------------------+
    | http-server| false | 0.0.0.0:8088 | ProObject |                                        |
    |            |       |              | HTTP      |                                        |
    +------------+-------+--------------+-----------+----------------------------------------+
    
    ... 중략
    
    [2023.04.24 17:54:29][2] [launcher-13] [Launcher-0034] The server[server1] initialization completed successfully[pid : 473].
    [2023.04.24 17:54:29][0] [launcher-1] [Launcher-0040] Successfully started the server[server1]. The server state is now RUNNING..**
    1. “Invalid License” 메시지가 나타나면 라이선스가 잘못된 것이다. TmaxSoft로부터 라이선스를 취득하여 $JEUS_HOME/license 디렉터리에 복사한다.

    2. 모든 단계들의 진행과 환경변수가 정확히 설정되어 있는지 확인한다. 특히, /jeus/bin 디렉터리가 시스템 경로(startMasterServer 스크립트가 실행될 수 있도록)에 있는 것을 확인한다.

  2. Managed Server(MS)를 시작한다. Managed Server는 startManagedServer 명령어를 실행하거나 HostManager로 실행할 수 있다.

    • startManagedServer 명령어 실행

      다음은 startManagedServer 명령어를 이용해 Managed Server(MS)를 기동하는 방법이다.

      startManagedServer -domain <domain_name> -server <server_name> -u <user_name> -p <password>

      콘솔 프롬프트에 명령어를 입력하면 다음 메시지를 출력한다. 일반적으로 관리자의 계정은 'administrator’이고 패스워드는 JEUS를 설치할 때 입력한 값이다. JEUS MS가 정상적으로 부트되어 기동되면 "Successfully started the server. The server state is now RUNNING."라는 메시지가 출력된다.

      [was@localhost ~]$ startManagedServer -domain domain1 -server server2 -u administrator -p <password>
      ***************************************************************
        - JEUS Home         : /home/was/jeus
        - Added Java Option : -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc
      ***************************************************************
      
      =============== JEUS LICENSE INFORMATION ================
      == VERSION : JEUS 21 Fix#1 (21.0.0.1-b435)
      == EDITION: Enterprise (Trial License)
      == NOTICE: This license restricts the number of allowed clients.
      == Max. Number of Clients: 5
      ==========================================================
      [2023.04.24 17:55:40][2] [launcher-1] [SERVER-0201] Successfully connected to the JEUS Master Server(localhost:9736).
      [2023.04.24 17:55:40][2] [launcher-1] [Launcher-0058] All local configurations are up-to-date.
      [2023.04.24 17:55:40][1] [launcher-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
      [2023.04.24 17:55:41][1] [launcher-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
      This license is not appropriate for product runtime mode. Replace the license with an appropriate one.
      [2023.04.24 17:55:41][2] [launcher-1] [Launcher-0012] Starting the server [server2] with the command
       /home/jdk1.8.0_251/bin/java -Dserver2 -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc -server -Xbootclasspath/p:/home/JEUS21001_installer/lib/system/extension.jar -classpath /home/JEUS21001_installer/lib/system/bootstrap.jar -Djava.security.policy=/home/JEUS21001_installer/domains/jeus21/config/security/policy -Djava.library.path=/home/JEUS21001_installer/lib/system:/home/webtob5004_B231_0_38//lib:/home/webtob5004_B231_0_38//lib: -Djava.endorsed.dirs=/home/JEUS21001_installer/lib/endorsed -Djeus.properties.replicate=jeus,sun.rmi,java.util,java.net -Djava.util.logging.config.file=/home/JEUS21001_installer/bin/logging.properties -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.util.logging.manager=jeus.util.logging.JeusLogManager -Djeus.home=/home/JEUS21001_installer -Djava.net.preferIPv4Stack=true -Djeus.tm.checkReg=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Djeus.domain.name=jeus21 -Djava.naming.factory.initial=jeus.jndi.JNSContextFactory -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url -Djeus.server.protectmode=false -Djeus.master.port=9736 -Djeus.master.host=localhost -Djeus.master.protocol=http -Djeus.master.admin.ui.context.path=/webadmin -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/home/JEUS21001_installer/domains/jeus21/servers/server2/logs/jvm.log jeus.server.ServerBootstrapper -domain jeus21 -server server2 -u administrator -verbose .
      [2023.04.24 17:55:41][2] [launcher-1] [Launcher-0014] The server[server2] is being started ...
      [2023.04.24 17:55:42][1] [server2-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
      [2023.04.24 17:55:42][1] [server2-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
      [2023.04.24 17:55:43][2] [server2-1] [SERVER-0248] The JEUS server is STARTING.
      [2023.04.24 17:55:43][0] [server2-1] [SERVER-0000] Version information - JEUS 21 Fix#1 (21.0.0.1-b435).
      
      ... 중략
      
      [2023.04.24 17:55:45][2] [server2-50] [WEB-3484] ServletContext[name=healthcheck, path=/health, ctime=Mon Apr 24 17:55:45 KST 2023, apptime=1682326357716, index=1682326357716] started successfully.
      [2023.04.24 17:55:45][2] [server2-50] [Deploy-0099] Successfully started the application[healthcheck, 1682326357716].
      [2023.04.24 17:55:45][0] [server2-1] [SERVER-0242] Successfully started the server.
      [2023.04.24 17:55:45][2] [server2-1] [SERVER-0248] The JEUS server is RUNNING.
      [2023.04.24 17:55:45][2] [server2-1] [SERVER-0401] The elapsed time to start: 3626ms.
      [2023.04.24 17:55:45][2] [launcher-14] [Launcher-0034] The server[server2] initialization completed successfully[pid : 792].
      [2023.04.24 17:55:45][0] [launcher-1] [Launcher-0040] Successfully started the server[server2]. The server state is now RUNNING.**
      1. “Invalid License” 메시지가 나타나면 라이선스가 잘못된 것이다. TmaxSoft로부터 라이선스를 취득하여 $JEUS_HOME/license 디렉터리에 복사한다.

      2. 모든 단계들의 진행과 환경변수가 정확히 설정되어 있는지 확인한다. 특히, /jeus/bin 디렉터리가 시스템 경로(startManagedServer 스크립트가 실행될 수 있도록)에 있는 것을 확인한다.

    • HostManager로 실행

      다음은 HostManager를 통해 Managed Server(MS)를 기동하는 방법이다. HostManager 설치 및 기동에 대한 자세한 내용은 "JEUS HostMananager 안내서"를 참고한다.

      1. WebAdmin 메인 화면에서 호스트 정보를 추가한다. 호스트 정보 추가에 대한 자세한 내용은 "JEUS Topology 사용자 안내서"를 참고한다.

      2. WebAdmin 메인 화면에서 Master Server를 선택한 후 JEUS Master 화면 상단 메뉴에서 [서버]를 선택한다. 서버 목록 화면의 목록에서 HostManager를 통해 기동시킬 서버명을 클릭한 후 [Basic] > [Basic Info]를 선택한다.

      3. 서버 기본 설정 화면에서 [수정] 버튼을 클릭해서 수정 모드로 변경한 후 'Node Name' 항목에서 추가한 Host ID를 클릭한 후 [저장] 버튼을 클릭한다.

      4. 서버 목록 화면에서 Host ID를 추가한 서버 선택 후 [시작] 버튼을 눌러 'Restart Policy' 항목에서 'NEVER', 'ON_FAILURE', 'ALWAYS' 중 한 가지 선택 후 [시작] 버튼을 클릭한다.

      5. 서버 목록 화면에서 HostManager를 통해 기동된 서버가 RUNNING 상태가 되었는지 확인한다.

        다음은 HostManager를 통해 server1을 기동할 경우 출력되는 로그 예이다. 서버가 정상 기동된 경우 로그에 "lnstanceStatus(pid= …​ , state=running, …​)" 형식의 메시지가 출력된다.

        [2022.08.31 15:44:39][2] [c.t.h.c.InstanceController] [http-nio-192.168.3.73-7730-exec-4] Instance addition requested: server1
        [2022.08.31 15:44:39][2] [c.t.h.c.InstanceController] [http-nio-192.168.3.73-7730-exec-4] Engine JEUS has working directory /home/jeus
        [2022.08.31 15:44:39][2] [c.t.h.c.InstanceController] [http-nio-192.168.3.73-7730-exec-4] Added instance with spec: InstanceSpec(command=[bin/startManagedServer, -fg, -server, server1,
        ... 중략
        [2022.08.31 15:44:39][2] [c.t.h.c.InstanceController] [http-nio-192.168.3.73-7730-exec-4] instance server1 status after start: InstanceStatus(pid=26491, state=running, exitcode=null)
        [2022.08.31 15:44:40][2] [c.t.h.m.p.Worker] [pool-5-thread-1] Set the pid 26491 for instance server1 probe.
  3. JEUS의 관리 콘솔에 접속하기 위해 다른 콘솔 창에서 jeusadmin 명령어를 실행한다. 일반적으로 관리자의 계정은 'administrator’이고 패스워드는 JEUS를 설치할 때 입력한 값이다.

    [was@localhost ~]$ jeusadmin -u administrator -p <password>
    Attempting to connect to 127.0.0.1:9736.
    The connection has been established to JEUS Master Server [adminServer] in the domain [domain1].
    JEUS 21 Administration Tool
    To view help, use the 'help' command.
    [MASTER]domain1.adminServer>
  4. 잠시 후 프롬프트가 다시 뜨면 JEUS가 제대로 기동되었고, 다시 명령어를 받을 수 있는 상태가 되었다는 것을 나타낸다.

  5. JEUS의 WebAdmin에 접속하기 위해 웹 브라우저를 열어서 주소 창에 다음의 주소를 입력한다.

    http://localhost:9736/webadmin
  6. JEUS 관리자의 계정과 패스워드를 입력하고 [로그인 ] 버튼을 클릭한다. 일반적으로 관리자의 계정은 'admin’이고 패스워드는 'admin’이다.

    figure webadmin login
    WebAdmin 로그인 화면
  7. 다음은 로그인에 설공하는 경우 조회되는 메인 화면이다. 왼쪽 메뉴에서 타입 별 리소스 정보를 확인할 수 있다. 오른쪽에 노드 목록에서 등록한 MasterServer와 MS를 확인할 수 있으며 MasterServer의 노드를 클릭하면 도메인과 서버, 애플리케이션의 정보를 설정할 수 있다.

    figure webadmin 1
    WebAdmin 메인 화면
  8. JEUS Managed Server를 기동 및 중지하려면 Master Server 노드를 선택 후에 JEUS Master 화면의 상단 메뉴에서 [서버]를 선택한다. 서버 목록 화면에서 서버의 상태를 확인할 수 있으며 서버를 선택한 후에 [시작] 또는 [종료] 버튼을 클릭하면 해당 서버를 기동하거나 중지시킬 수 있다. 이때 서버에는 HostManager가 실행되어 있어야 한다.

    figure managedserver down2
    서버 목록 조회 화면
  9. 콘솔에서 jeusadmin 툴에 로그인을 한 후에 local-start-serverlocal-shutdown 명령어로 JEUS 서버를 제어할 수 있다. JEUS 서버를 다운시키려면 local-shutdown 명령어를 실행한다.

    [MASTER]domain1.adminServer>local-shutdown
    Executing this command affects the service. Do you want to continue? (y/n)y
    The server [adminServer] has been shut down successfully.
  10. jeusadmin을 종료하기 위해서 exit 명령어를 실행한다.

    offline>exit

4. 제거

본 절에서는 콘솔 모드에서 제거하는 과정에 대해서 설명한다.

다음은 콘솔 모드에서 JEUS를 삭제하는 과정에 대한 설명이다.

  1. JEUS가 설치된 경로에서 $JEUS_HOME/UninstallerData/Uninstall을 실행하여 JEUS Core와 JEUS 설치 디렉터리를 삭제한다.

    [was@localhost ~ UninstallerData]$./Uninstall
  2. 삭제 과정이 진행된다. 제거가 완료되면 완료되었다는 메시지가 표시된다.

    ===============================================================================
    JEUS 21                                        (created with InstallAnywhere)
    -------------------------------------------------------------------------------
    
    Preparing CONSOLE Mode Uninstallation...
    
    ===============================================================================
    Uninstall JEUS 21
    -------------------
    
    About to uninstall...
    
    JEUS 21
    
    This will remove features installed by InstallAnywhere.  It will not remove
    files and folders created after the installation.
    
    PRESS <ENTER> TO CONTINUE:
    ===============================================================================
    
    Check JEUS process...
    -
    ===============================================================================
    Uninstalling...
    ---------------
    
    ...*
    *
    *************************
    *************************
    *************************
    ************************
    ...*
    *
    *************************
    *************************
    *************************
    ************************
    ...*
    *
    *************************
    *************************
    *************************
    ************************
    ...
    
    ===============================================================================
    Uninstallation Complete
    -----------------------
    
    All items were successfully uninstalled.

5. 제거 확인

JEUS가 설치된 경로에 디렉터리와 설치된 파일이 삭제된 것을 확인한다. JEUS가 설치된 후 생성된 파일은 삭제되지 않으므로 해당 파일은 수동으로 삭제해야 한다.