WeBASE 서비스 배포를 위한 환경 설정 및 실행 가이드

WeBASE는 분산원장기술(DLT) 기반의 FISCO BCOS 블록체인 노드를 관리하고 애플리케이션 개발을 지원하는 웹 기반 플랫폼입니다. 본 가이드는 Ubuntu 운영체제에서 WeBASE 서비스를 성공적으로 배포하고 운영하기 위한 필수 환경 설정 및 설치 과정을 상세히 안내합니다.

1. 시스템 기본 환경 구성

WeBASE 배포에 앞서, 시스템 패키지를 최신 상태로 업데이트하고 필요한 의존성을 설치합니다.

sudo apt update
sudo apt upgrade -y

1.1. OpenJDK 11 설치 및 Java 환경 변수 설정

WeBASE는 Java 런타임 환경에 의존하므로, OpenJDK 11을 설치하고 JAVA_HOME 환경 변수를 정확하게 설정해야 합니다.

sudo apt install -y openjdk-11-jdk

설치 완료 후, 시스템의 기본 Java 버전을 확인하고, JAVA_HOMEPATH 환경 변수를 사용자의 ~/.bashrc 파일에 추가하여 모든 쉘 세션에서 Java 경로가 자동으로 인식되도록 설정합니다.

# 시스템 내 설치된 Java 버전 목록 확인 및 기본 설정 (필요한 경우)
sudo update-alternatives --config java

# ~/.bashrc 파일 편집
vi ~/.bashrc

파일 끝에 다음 내용을 추가합니다. JAVA_HOME 경로는 실제 OpenJDK 설치 경로와 일치하는지 확인하십시오.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

변경된 설정 내용을 현재 쉘에 적용하고 JAVA_HOME 변수가 제대로 설정되었는지 확인합니다.

source ~/.bashrc
echo $JAVA_HOME

1.2. Python 및 PyMySQL 라이브러리 설치

WeBASE 배포 스크립트가 Python 및 PyMySQL에 의존하는 경우가 있으므로, 해당 패키지를 설치합니다.

sudo apt install -y python3-pip
pip3 install PyMySQL

2. MySQL 데이터베이스 설정

WeBASE는 내부 데이터를 관리하기 위해 MySQL 데이터베이스를 활용합니다. MySQL 서버를 설치하고 WeBASE 전용 데이터베이스와 사용자 계정을 생성합니다.

sudo apt install -y mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

루트 사용자로 MySQL에 로그인하여 WeBASE 서비스를 위한 데이터베이스와 사용자 계정을 생성합니다. 프로덕션 환경에서는 강력하고 복잡한 비밀번호를 사용해야 합니다.

sudo mysql -u root -p

MySQL 콘솔에서 다음 SQL 명령들을 순서대로 실행합니다:

CREATE DATABASE webase_service_db;

CREATE USER 'webase_app_user'@'localhost' IDENTIFIED BY 'WeBase@StrongPass2024!';
GRANT ALL PRIVILEGES ON webase_service_db.* TO 'webase_app_user'@'localhost';

CREATE USER 'webase_app_user'@'%' IDENTIFIED BY 'WeBase@StrongPass2024!';
GRANT ALL PRIVILEGES ON webase_service_db.* TO 'webase_app_user'@'%';

FLUSH PRIVILEGES;
EXIT;

3. WeBASE 배포 패키지 다운로드

WeBASE의 공식 배포 채널에서 배포용 압축 파일을 다운로드하고 압축을 해제합니다.

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip
unzip webase-deploy.zip
cd webase-deploy

4. WeBASE 서비스 설정 파일 조정

압축을 해제한 webase-deploy 디렉토리 안에 있는 common.properties 파일을 편집하여 WeBASE 서비스의 핵심 설정을 구성합니다. 특히, 2단계에서 생성한 MySQL 데이터베이스의 이름, 사용자 이름, 비밀번호를 정확하게 입력해야 합니다.

vi common.properties

만약 MySQL 데이터베이스 연결 과정에서 SSL 관련 문제가 발생한다면, 데이터베이스 JDBC URL 파라미터에 &useSSL=false 옵션을 추가하여 SSL 사용을 비활성화할 수 있습니다. 이는 특정 개발 또는 테스트 환경에서 유용하게 사용될 수 있습니다.

5. WeBASE 배포 확인

모든 설정 단계를 완료한 후, WeBASE 서비스를 실행하고 웹 인터페이스를 통해 정상 작동 여부를 검증합니다.

5.1. WeBASE-Web 인터페이스 접속

웹 브라우저를 열고 http://127.0.0.1:5002 주소로 접속하여 WeBASE 관리 콘솔에 접근합니다.

5.2. 로그인

기본 제공되는 관리자 계정(일반적으로 admin/admin)으로 로그인합니다. 초기 로그인 후에는 보안 강화를 위해 비밀번호를 변경하는 것을 권장합니다.

5.3. FISCO BCOS 노드 연동

WeBASE 웹 인터페이스를 통해 배포된 FISCO BCOS 블록체인 노드를 WeBASE에 추가하고, 해당 노드를 관리 목록에 등록하여 블록체인 네트워크의 상태를 모니터링하고 제어할 수 있습니다.

6. 추가적인 고려사항

  • 방화벽 설정: 클라우드 환경에 WeBASE를 배포할 경우, WeBASE-Web (기본 5002번 포트), MySQL (3306번 포트), 그리고 FISCO BCOS 노드 운영에 필요한 포트들이 외부에서 접근 가능하도록 시스템 방화벽 규칙을 구성해야 합니다.
  • 고급 구성: 특정 배포 요구사항이나 성능 최적화를 위해 config.toml 파일을 포함한 기타 WeBASE 서비스별 구성 파일을 추가적으로 조정할 수 있습니다.
  • APT 미러 서버 설정 (선택 사항): 시스템 패키지 다운로드 속도 향상을 위해 Ubuntu의 /etc/apt/sources.list 파일을 편집하여 지리적으로 가까운 미러 서버로 변경할 수 있습니다. 이는 WeBASE 배포 자체의 필수 단계는 아니며, 전반적인 시스템 관리를 위한 선택적 최적화입니다.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

파일 내용을 다음 예시와 같이 수정할 수 있습니다 (아래는 알리윈 미러를 Ubuntu Focal 버전에 적용한 예시입니다):

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

태그: WeBASE FISCO BCOS Blockchain Distributed Ledger java

7월 15일 01:24에 게시됨