•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
분류
1. 개요2. 설치방법
2.1. apt update2.2. nvm 설치2.3. nvm 22 버전 설치2.4. pm2 설치
3. MongoDB 설치
3.1. 공개키 가져오기3.2. 목록 파일 만들기3.3. 패키지 업데이트3.4. 설치3.5. 실행확인
4. Meilisearch 설치
4.1. 바이너리를 시스템 어디서나 실행할 수 있도록 이동4.2. meilisearch 전용 시스템 사용자 생성4.3. 데이터 저장 폴더 생성 및 권한 설정4.4. 서비스 파일 생성
4.4.1. 파일 내용
4.5. 설치 마무리
5. 백엔드 설치6. 프론트엔드 설치7. 스킨 빌드
7.1. 편집기 넣기7.2. 빌드하기7.3. 빌드완료후
8. 실행하기

1. 개요 [편집]

위키엔진 the tree의 설치법을 다룬 문서

2. 설치방법 [편집]

2.1. apt update [편집]

sudo apt update && sudo apt upgrade -y

2.2. nvm 설치 [편집]

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

2.3. nvm 22 버전 설치 [편집]

nvm install 22

2.4. pm2 설치 [편집]

npm install pm2 -g

3. MongoDB 설치 [편집]

3.1. 공개키 가져오기 [편집]

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

3.2. 목록 파일 만들기 [편집]

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.2.list

3.3. 패키지 업데이트 [편집]

sudo apt-get update

3.4. 설치 [편집]

sudo apt-get install -y mongodb-org

3.5. 실행확인 [편집]

sudo systemctl status mongod


실행이 안되고 있다면

sudo systemctl start mongod

4. Meilisearch 설치 [편집]

curl -L https://install.meilisearch.com | sh

4.1. 바이너리를 시스템 어디서나 실행할 수 있도록 이동 [편집]

sudo mv meilisearch /usr/local/bin/

4.2. meilisearch 전용 시스템 사용자 생성 [편집]

sudo useradd -d /var/lib/meilisearch -s /bin/false -m -r meilisearch

4.3. 데이터 저장 폴더 생성 및 권한 설정 [편집]

sudo mkdir -p /var/lib/meilisearch/data /var/lib/meilisearch/dumps /var/lib/meilisearch/snapshots
sudo chown -R meilisearch:meilisearch /var/lib/meilisearch
sudo chmod 750 /var/lib/meilisearch

4.4. 서비스 파일 생성 [편집]

sudo nano /etc/systemd/system/meilisearch.service

4.4.1. 파일 내용 [편집]

[Unit]
Description=Meilisearch
After=network.target

[Service]
Type=simple
User=meilisearch
Group=meilisearch
WorkingDirectory=/var/lib/meilisearch
ExecStart=/usr/local/bin/meilisearch \
--db-path /var/lib/meilisearch/data \
--dump-dir /var/lib/meilisearch/dumps \
--snapshot-dir /var/lib/meilisearch/snapshots \
--env production \
--master-key YOUR_SECURE_MASTER_KEY
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target


YOUR_SECURE_MASTER_KEY 부분은 잘 정하고 메모해두기

아랫방법으로 저장후 나오기
  1. Ctrl + O
  2. Enter
  3. Ctrl + X

4.5. 설치 마무리 [편집]

# 시스템 설정 새로고침
sudo systemctl daemon-reload

# 부팅 시 자동 시작 설정
sudo systemctl enable meilisearch

# 서비스 시작
sudo systemctl start meilisearch

5. 백엔드 설치 [편집]

# git clone
git clone https://github.com/wjdgustn/thetree --recursive

# 폴더이동
cd thetree

# 라이브러리 설치
npm i

6. 프론트엔드 설치 [편집]

# 루트폴더에서
git clone https://github.com/wjdgustn/thetree-frontend

# 폴더이동
cd thetree-frontend

# 라이브러리 설치
npm i

7. 스킨 빌드 [편집]

#thetree-frontend에서 작업
# 스킨폴더 만들기
mkdir skins

#.env.local 파일 만들고 내용입력 예시는 liberty스킨
echo "SKIN_NAME=liberty" > .env.local


#liberty스킨 클론
gut clone https://github.com/wjdgustn/thetree-skin-liberty

7.1. 편집기 넣기 [편집]

#thetree-frontend에서 작업
mkdir -p plugins/editor

#git clone
git clone https://github.com/wjdgustn/thetree-monaco

#폴더이동
cd thetree-monaco

#라이브러리 설치
npm i

7.2. 빌드하기 [편집]

npm run build

7.3. 빌드완료후 [편집]


# 루트폴더로 이동
cd .. 
# 스킨 이동시켜주기
mv thetree-frontend/dist skins/liberty

8. 실행하기 [편집]

pm2 start --name thetree --node-args="--no-node-snapshot" main.js