환경은 window wsl ubuntu 2022.2 버전 기준으로 작성함

cent os 환경에서 installerZip 생성 권장

이퀄라 버전마다 java, nvm, sbt 버전 전부 다르니 확인하여 환경 설정

이퀄라 버전 sbt nvm(node) java
2021.1 1.1.6 14.16.1 1.8.0_382 (sdk java 8.0.382-tem)
2020.1 추정 1.1.1 12.18.3 1.8.0_382 (sdk java 8.0.382-tem)
2022.1.0 1.5.6 14.21.3
(npm 8.1.4) 1.8.0_382 (sdk java 8.0.382-tem)

sbt 설치

sbt - Download

  1. 이퀄라 파일 sbt 파일 내 declare -r sbt_release_version=”[version]” 확인 하여 sbt.tgz 다운로드
  2. 다운받은 sbt 파일 압축 해제 및 path 지정`# 압축해제 tar -zxvf sbt-1.5.0.tgz

기존 sbt 존재 시 삭제

rm -rf ~/.sbt/ rm -rf ~/.ivy2/

sbt 설치 폴더 bin으로 이동

cd sbt/bin

sbt파일 로컬 bin으로 이동

sudo mv sbt /usr/local/bin/ sudo mv sbt-launch.jar /usr/local/bin/ sudo mv sbt-launch-lib.bash /usr/local/bin/

버전 확인

sbt sbtVersion`

java version

이퀄라 버전2023.1은 jdk11 이상만 지원 한다고 함

# 설치할 java 조회
sdk list java

# 설치
sdk install [java_name]

# 설치 시 자동으로 path 지정, java 버전 확인
java -version

# 설치 된 sdk java 삭제
sdk uninstall [java_name]

# java version 변경
sdk use java [java_name] - /home/[user_name]/.sdkman/candidates/java 파일 위치

npm 업데이트

# 최신버전
npm install -g npm@latest

# 버전 지정 package.json 파일 내 engines에 정의된 버전 확인
npm install -g npm@[version] -- ex npm install -g npm@8.1.4

wls bash 기본 설정 및 설치 목록 및 방법

#시스템 업데이트
sudo apt update

#curl 설치
sudo apt install curl

#SDKMAN 설치
curl -s "<https://get.sdkman.io>" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

#Java 설치 (Temurin OpenJDK 11)
sdk install java 11.0.17-tem

#NVM 설치
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh> | bash
source ~/.bashrc  # 또는 ~/.zshrc (zsh 사용자의 경우)

#NodeJS 및 NPM 설치 (openEQUELLA의 .nvmrc 안에 정의된 버전에 맞춰 자동 설치)
cd ~/openEQUELLA
nvm install

#PostgreSQL 설치 (옵션 1: 패키지 설치)
sudo apt install postgresql

#PostgreSQL 설정 (옵션 1)
sudo -i -u postgres
psql
CREATE DATABASE equella;
CREATE USER euqellauser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "equella" to euqellauser;
\\q
exit

#build-essential 설치
sudo apt-get install build-essential

#Image Magick 설치
sudo apt install imagemagick

#FFmpeg 설치
sudo apt install ffmpeg

InstallerZip 생성

#이퀄라 폴더로 이동
cd ~/openEquella

#Node.js 및 NPM 버전 설정
nvm use

# node_modules 생성 (equella\\Source\\Plugins\\Core\\com.equella.core or \\swaggerui)
# com.equella.core 안쪽에도 install 해주는게 좋음
npm install

#git pre-commit 훅 설정 // 이퀄라 폴더 권한 필요(chmod -R 777 /equella)
npm ci

#sbt 버전 확인 (이퀄라 폴더 안 sbt 리소스 버전 과 출력 되는 버전이 다름 출력된 버전으로 변경)
# sbt java.util.NoSuchElementException: None.get Error 발생 시
# <https://github.com/openequella/openEQUELLA/issues/4462> 이슈 참고
sbt sbtVersion

--- sbt 진입 또는 sbt 앞에 붙여서 입력 ---
#환경 구성 파일 생성
sbt prepareDevConfig

#플러그인 라이브럴리 jar파일 업데이트
sbt jpfWriteDevJars

#non-java 리소스 생성
# 오류 내역
# ~/js 및 purescript 설치 오류 시
# cd equella\\Source\\Plugins\\Core\\com.equella.core\\js 해당 위치서 npm install
# install 진행 중 stack 오류 발생 시
# sudo apt-get install libtinfo5 설치
# curl -sSL <https://get.haskellstack.org/> | sh 설치 진행
# Stack 설치중 path 오류 시
# cd ~
# nano .bashrc 진입
# export PATH="$HOME/.local/bin:$PATH" 최하단에 작성 및 저장
# 다시 \\js 위치로 가서 npm install 하여 package.json 정의된 것들 다시 설치

# non-zero 오류 - java 버전 확인 또는 컴파일 오류
sbt resources

#배포 패키지 빌드 (equella\\Installer\\target 안에 zip 파일 생성)
sbt installerZip

※참조

이퀄라 릴리스 파일

Releases · openequella/openEQUELLA