2. 설치 및 실행


Playce RoRo 설치

Playce RoRo 실행을 위한 필수 모듈 설치 여부를 확인하시기 바랍니다.

 

설치 파일 다운로드

기본 설치 경로는 ‘/opt/roro’를 사용합니다. 

Playce RoRo the next 설치 파일은 tar.gz, zip 파일 형식으로 제공되며, 설치 대상 서버에 업로드한 후 설치 홈 디렉토리 $RoRo_Home에 압축을 해제합니다

Playce RoRo 설치 파일은 제품 홈페이지에서 다운로드 받을 수 있습니다.

 

압축 해제

다운로드 받은 RoRo 설치 파일을 특정 경로에 설치하기 위해 다음 명령을 사용합니다.

1 2 3 4 5 6 7 # playce-roro.tar.gz 파일을 /opt/roro에 설치하는 경우 아래와 같이 압축을 해제합니다. ]$ tar xf playce-roro.tar.gz -C /opt/roro/ # playce-roro.zip 파일을 /opt/roro에 설치하는 경우 아래와 같이 압축을 해제합니다. ]$ unzip playce-roro.zip -d /opt/roro/ 압축 해제 경로가 ${RoRo_Home} 경로가 됩니다.

참고, tar 또는 unzip 패키지가 설치되지 않은 경우 다음 명령을 실행하여 패키지를 설치합니다.

1 2 ]$ sudo yum install -y tar ]$ sudo yum install -y unzip

디렉토리 구성

Directory

Description

Directory

Description

/bin

  • 시작, 종료 및 기타 기능을 하는 스크립트 파일이 위치하는 디렉토리

  • *.sh 파일을 사용

/conf

  • 컨테이너의 기본 구성파일로서 가장 중요한 server.xml 파일과 설정 파일들이 위치하는 디렉토리

/logs

  • 기본 로그 파일이 위치하는 디렉토리

/temp

  • 기능 동작시 필요한 파일들이 위치하는 디렉토리

/webapps

  • Playce RoRo the next 웹 애플리케이션이 위치하는 디렉토리

환경 설정

Playce RoRo 환경 설정을 위해 ${RoRo_Home}/bin에 위치하는 /setenv.sh 파일을 수정합니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 #!/bin/sh ################################################# # # # Configuraton for Playce RoRo # # # ################################################# # Working dir입니다, 아래는 예시로 roro로 지정되어 있습니다 # Working directory for RoRo (Inventory, Assessment, Migration and etc.) WORKING_DIR=/roro # DB Connection URL 연결할 데이터데이스 URL을 입력합니다. 아래 예시는 MariaDB 기준으로 작성되었습니다. DB_URL=jdbc:log4jdbc:mariadb://localhost:3306/roro # DB Username (데이터베이스 사용자를 입력합니다.) DB_USERNAME=roro # DB Password (데이터베이스 패스워드를 입력합니다.) DB_PASSWORD=password # Bucket name to save disk images for migration (AWS or GCP) BUCKET_NAME= # Bucket region about given bucket name for migration (AWS) BUCKET_REGION= if [ e$WORKING_DIR = "e" ] ; then echo "[Error] WORKING_DIR must be set." exit; fi if [ e$DB_USERNAME = "e" ] ; then echo "[Error] DB_USERNAME must be set." exit; fi if [ e$DB_PASSWORD = "e" ] ; then echo "[Error] DB_PASSWORD must be set." exit; fi if [ e$BUCKET_NAME = "e" ] ; then echo "[Warning] BUCKET_NAME is empty and migration will be failed." fi if [ e$BUCKET_REGION = "e" ] ; then echo "[Warning] BUCKET_REGION is empty and migration to AWS will be failed." fi # 로그파일 경로(Log file path) JAVA_OPTS="$JAVA_OPTS -DLOG_PATH=$CATALINA_HOME/logs/" JAVA_OPTS="$JAVA_OPTS -Dlogging.file.name=$CATALINA_HOME/logs/playce-roro.log" # 파일 인코딩(File encoding) JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8" # 추가 설정(Additional config) JAVA_OPTS="$JAVA_OPTS -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m" JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC" JAVA_OPTS="$JAVA_OPTS -XX:+UseLargePagesInMetaspace" JAVA_OPTS="$JAVA_OPTS -XX:+ExplicitGCInvokesConcurrent" JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC" JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=512m" JAVA_OPTS="$JAVA_OPTS -XX:-UseCodeCacheFlushing" JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom" JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djava.security.properties=$CATALINA_HOME/conf/security/java.security" # 사전 환경 분석(prerequisite), 평가 수행(assessment), 마이그레이션(migration) 스케줄러 사용여부를 설정합니다. JAVA_OPTS="$JAVA_OPTS -Denable.prerequisite.schedule=true" JAVA_OPTS="$JAVA_OPTS -Denable.assessment.schedule=true" JAVA_OPTS="$JAVA_OPTS -Denable.migration.schedule=true" # 서버 모니터링 및 주기적 스캔 주기를 설정합니다. # 서버 모니터링 및 주기적 스캔 여부는 RoRo Console의 Settings 메뉴에서 제어합니다. JAVA_OPTS="$JAVA_OPTS -Dscheduler.schedule.monitoring.cron='0 0 0/3 * * ?'" JAVA_OPTS="$JAVA_OPTS -Dscheduler.schedule.scheduled-scan.cron='0 0 0 * * ?'" # 상기 설정한 데이터베이스 정보를 사용하기 위해 설정합니다. JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.url='$DB_URL'" JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.username='$DB_USERNAME'" JAVA_OPTS="$JAVA_OPTS -Dspring.datasource.password='$DB_PASSWORD'" # RoRo Migration config (마이그레이션 정보를 설정합니다.) JAVA_OPTS="$JAVA_OPTS -Droro.migration.bucket.name=$BUCKET_NAME" JAVA_OPTS="$JAVA_OPTS -Droro.migration.bucket.region=$BUCKET_REGION" JAVA_OPTS="$JAVA_OPTS -Droro.migration.bucket.remove=true" JAVA_OPTS="$JAVA_OPTS -Droro.migration.include.system.uid=false" # RoRo working directory JAVA_OPTS="$JAVA_OPTS -Droro.working.dir-path=$WORKING_DIR"

Database와 User 생성

MariaDB 10.6 이상 버전의 설치를 권고합니다.

  • 테이블 및 컬럼의 대소문자 구분을 하지 않으며, 타임존을 UTC로 설정하기 위해 /etc/my.cnf 파일을 다음과 같이 수정합니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 # # This group is read both both by the client and the server # use it for options that affect everything # [client-server] # # include all files from the config directory # !includedir /etc/my.cnf.d [mariadb] lower_case_table_names = 1 default_time_zone = '+9:00'
  • roro용 Database 및 User를 생성한다.

1 2 3 4 ]$ mysql -u root -p mysql> CREATE DATABASE roro CHARACTER SET utf8 COLLATE utf8_bin; mysql> GRANT ALL PRIVILEGES ON roro.* TO roro@'%' IDENTIFIED BY '<PASSWORD>'; mysql> FLUSH PRIVILEGES;

DB 서버와 RoRo 설치 서버가 동일 호스트인 경우 아래와 같이 localhost에서의 접근을 추가한다.

mysql> GRANT ALL PRIVILEGES ON roro.* TO roro@'localhost' IDENTIFIED BY '<PASSWORD>';

실행 방법

RoRo를 실행하기 위해서는 Java Development Kit 11 이상이 설치되어야 합니다.

java -version 명령을 실행하여 java 명령을 찾을 수 없거나 버전이 낮은 경우 다음과 같이 java 패키지를 설치하고 설정합니다. (JRE 설치 시 일부 기능에 제한이 생길 수 있어 JDK 설치를 추천합니다.)

  • 설치

1 ]$ sudo yum install -y java-11-openjdk-devel
  • 설정 (~/.bash_profile 파일에 JAVA_HOME 및 PATH 환경변수를 다음과 같이 설정합니다.)

1 2 3 4 5 6 7 8 9 10 11 12 # ~/.bash_profile을 수정합니다 vi ~/.bash_profile ... # JDK 설치 경로는 버전 및 시스템에 따라 다를 수 있습니다. # 기존 PATH에 $JAVA_HOME/bin이 포함될 수 있도록 아래와 같이 추가합니다. export JAVA_HOME=/usr/lib/jvm/java-11 PATH=$JAVA_HOME/bin:$PATH:$HOME/bin ...

 

설치 및 설정이 완료 될 경우 아래와 같이 서비스 화면 연결에 대한 확인을 진행합니다.

  1. $RoRo_Home/bin 디렉토리로 접속합니다.

  2. 시스템에 따라 startup.sh 를 실행합니다.

  3. 브라우저에서 http://$IP:$PORT 를 접속하여 아래의 화면을 확인합니다.

 

  • User ID, Password를 입력하고 [Sign in] 버튼을 클릭합니다. (초기 접속 정보 : admin / admin )

  • 로그인에 성공하면 [Dashboard (Home)] 메뉴로 이동합니다.

 

시스템에 firewall가 active 상태로 브라우저 접속이 불가능한 경우 다음 명령어를 실행하여 8080 포트의 접속을 허용한다.

1 2 ]$ sudo firewall-cmd --add-port=8080/tcp --permanent ]$ sudo firewall-cmd --add-port=8080/tcp

 

패스워드 정책/수정 가이드

로그인 성공 이후 패스워드를 변경할 수 있습니다. 서비스 화면 진입 후, 우측 “RoRo Admin”을 클릭합니다.

이후 아래와 같은 Change Password창이 팝업됩니다. 입력 시, Playce RoRo의 패스워드 정책을 따라 입력합니다.

 

Playce RoRo의 패스워드 정책은 아래와 같습니다.

최소 8자 이상/16자 이하로 구성되어야 합니다

영문/숫자/기호만 사용 가능합니다. 아래는 문자/숫자/기호의 범위 입니다

영문(a-z, A-Z), 숫자(0-9),기호(! @ # $ % ^ & * ( ) _ + - = [ ] |')

 

가이드에 따라 현재 사용 중 인 패스워드와 새롭게 변경 할 패스워드, 새롭게 변경 할 패스워드를 다시 한번 더 입력 후 Save합니다.

이후 로그아웃하고 변경된 패스워드로 다시 로그인합니다.

 

Admin 패스워드를 화면이 아닌 서버 내부에서 파일을 수정할 경우 아래와 같이 진행합니다.

수정 이후에는 서버를 반드시 재 시작 해주어야 합니다.

1 2 3 4 5 6 7 8 9 # ${RoRo_Home}/bin 디렉토리로 접속합니다. # setenv.sh 파일을 실행합니다. # 실행한 파일 맨 아래 다음과 같이파라미터를 입력합니다. JAVA_OPTS="$JAVA_OPTS -Droro.admin.password.reset=변경할 비밀번호 # 이후 서버를 재시작합니다. sh kill.sh, sh startup.sh