Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

설치 파일 다운로드

Info

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

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

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

...

Code Block
languagebash
# playce-roro-ext-{VERSION}.tar.gz 파일을 /opt/roro에 설치하는 경우 아래와 같이 압축을 해제합니다. (playce 라는 디렉토리가 자동으로 생성됩니다.)
]$ tar xf playce-roro-ext-{VERSION}.tar.gz -C /opt/roro/

#하위 playce-roro.zip 파일을 /opt/roro에 설치하는 경우 아래와 같이 압축을 해제합니다.
]$ unzip playce-roro.zip -d /opt/roro/

압축 해제 경로가디렉토리가 ${Playce_Home} 경로가 되며, ${Playce_Home} 경로에는 bin, modules, playce-roro, playce-migrator 디텍토리가 존재합니다.
또한 ${Playce_Home}/playce-roro 디렉토리가 ${RoRo_Home} 경로가 됩니다.
Note

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

Code Block
]$ sudo yum install -y tar
]$ sudo yum install -y unzip

디렉토리 구성

${RoRo_Home} 디렉토리는 다음과 같이 구성되어 있습니다.

Directory

Description

/bin

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

  • *.sh 파일을 사용

/conf

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

/logs

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

/temp

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

/webapps

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

환경 설정

Playce RoRo 의 기본 설치 포트와 환경 설정 파일은 다음과 같습니다.

  • Gateway 서버: 8080 포트

  • OAuth 서버: 8081 포트

  • Playce RoRo

...

  • : 8082포트

  • Playce RoRo for Java App: 8083 포트

  • 환경 설정 파일: ${RoRo_Home}/

...

  • bin/setenv.sh

...

Code Block
languagebash
#!/bin/sh

#################################################
#                                               #
#        ConfiguratonConfiguration for Playce RoRo           #
#                                               #
#################################################

# Working dir입니다, 아래는 예시로 roro로 지정되어 있습니다 Set JAVA_HOME when default java version is not JDK 11
#JAVA_HOME=/usr/lib/jvm/java-11

# Port offset for HTTP
PORT_OFFSET=2

# Working directory for RoRo (Inventory, Assessment, Migration and etc.)
WORKING_DIR=/playce/roro

# DB Connection URL 연결할 데이터데이스 URL을 입력합니다. 아래 예시는 MariaDB 기준으로 작성되었습니다.
# 3.5.0 부터는 jdbc:log4jdbc:mariadb://가 아닌 jdbc:mariadb://를 사용합니다.
DB_URL=jdbc:log4jdbc:mariadb://localhost:3306/rorororodb

# DB Username (데이터베이스 사용자를 입력합니다.)
DB_USERNAME=roroplayce

# 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=playce

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"

JAVA_OPTS="$JAVA_OPTS -Dhttp.port=$(expr 8080 + $PORT_OFFSET)"
JAVA_OPTS="$JAVA_OPTS -Dajp.port=$(expr 8009 + $PORT_OFFSET)"
JAVA_OPTS="$JAVA_OPTS -Dssl.port=$(expr 8443 + $PORT_OFFSET)"
JAVA_OPTS="$JAVA_OPTS -Dshutdown.port=$(expr 8005 + $PORT_OFFSET)"

# 사전 환경 분석(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"

# 서버 모니터링 여부및 주기적 스캔 주기주기를 설정과설정합니다.
주기적# 스캔서버 여부모니터링주기를 설정합니다.
JAVA_OPTS="$JAVA_OPTS -Denable.monitoring.schedule=true"
JAVA_OPTS="$JAVA_OPTS -Denable.scheduled.scan=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"

...

Code Block
#
# 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'
#max_allowed_packet = 128M
Info

RoRo 로그에 Could not send query: query size is >= to max_allowed_packet 메시지와 함께 오류가 발생한 경우 적당한 크기로 max_allowed_packet 사이즈를 조절 후 DB 서버를 재구동한다. (기본 16M)

  • roro용 Database 및 User를 생성한다.

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

...

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

...

  1. ${RoRo_Home}/bin 디렉토리로

...

  1. 이동합니다.

...

  1. sh startup.sh 를 실행합니다.

  2. 브라우저에서 http://$IP:

...

  1. 8080 를 접속하여 아래의 화면을 확인합니다.

Info

${Playce_Home}/bin/start-all.sh 로 모든 서버를 일괄적으로 실행할 수도 있으며, 이때는 ${RoRo_Home|/bin/startup.sh 실행 없이 브라우저 접속이 가능합니다.

...

Image Added

  • 로그인할 대상 제품으로 Playce RoRo를 선택합니다.

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

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

Note

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

Code Block
]$ sudo firewall-cmd --add-port=8080/tcp --permanent
]$ sudo firewall-cmd --add-port=8080/tcp

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

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

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

...

Password 변경

로그인 후 관리자에게 받은 초기 비밀번호나 사용 중인 비밀번호를 변경할 수 있습니다.

  1. 웹 브라우저의 주소 입력 창에 Playce RoRo 로그인 서버 주소를 입력합니다.

  2. 로그인 화면에서 로그인할 대상 제품을 선택하고 User ID와 Password를 입력한 후 [Sign In]을 클릭합니다.

  3. 화면 오른쪽 위에 표시되는 User ID를 클릭하면 표시되는 [Manage Account]를 클릭합니다.

  4. <ChangePassword>가 나타납니다. Current Password와 New Password, Confirm Password를 입력합니다.

  5. [Save]를 클릭하여 변경한 내용을 저장합니다.

...

Password 작성 규칙

Playce RoRo의 Password 정책은 아래와 같습니다.

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

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

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

...

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

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

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

Info

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

...

비밀번호 초기화

사용자가 비밀번호를 분실했거나 로그인 시도 횟수 7회를 초과하여 계정이 잠긴 경우에는 비밀번호를 초기화해야 합니다.

  1. Playce 제품 홈 디렉터리로 이동하여 다음의 경로에 접속합니다.

Code Block
${playce_home}/modules/playce-oauth/bin

2. vi 명령으로 setenv.sh 파일을 엽니다.

3. setenv.sh 파일에서 주석 처리되어 있는 비밀번호 Reset 명령어 라인에서 주석(#)을 제거하고 변경할 비밀번호 문자열을 입력합니다.

Code Block
JAVA_OPTS="$JAVA_OPTS -DroroDplayce.admin.password.reset=변경할 비밀번호

# 이후 서버를 재시작합니다.
비밀번호”

4. 서버를 다시 시작합니다.

Code Block
sh kill.sh,
sh startup.sh

5. setenv.sh 파일을 다시 실행한 후 비밀번호 Reset 명령어 라인을 2번 단계의 그림과 같이 주석 처리 합니다.

Code Block
# JAVA_OPTS="$JAVA_OPTS -Dplayce.admin.password.reset=”