웹사이트 검색

CentOS 7에 Wiki.js를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - Node.js 및 npm 설치
  5. 2단계 - MongoDB 데이터베이스 설치
  6. 3단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
  7. 4단계 - NGINX 설치 및 구성
  8. 5단계 - Wiki.js 설치 및 설정
  9. 6단계 - PM2 프로세스 관리자 설정\n
  10. 링크

Wiki.js는 Node.js, Git 및 Markdown을 기반으로 하는 현대적이고 강력한 OpenSource 위키 앱입니다. Wiki.js는 매우 빠른 Node.js 엔진에서 실행되며 CPU 리소스를 절약하도록 최적화되어 있습니다. 언급할 가치가 있는 일부 Wiki.js 기능은 다음과 같습니다.

  • Git 지원 마크다운 편집
  • 가벼우면서도 강력한 성능\n
  • 최신 웹용으로 아름답게 디자인됨
  • 통합 액세스 제어\n
  • 직관적인 자산 관리
  • 내장 검색 엔진

이 가이드에서는 NGINX를 역방향 프록시 서버로, MongoDB를 데이터베이스 서버로, PM2를 프로세스 관리자로 사용하여 CentOS 7 운영 체제에서 Wiki.js 버전 1 설치 프로세스를 안내하고 선택적으로 전송 계층을 보호할 수 있습니다. acme.sh 클라이언트 및 Lets Encrypt 인증 기관을 사용하여 SSL 지원을 추가합니다.

요구 사항

Wiki.js를 실행하기 위한 요구 사항은 다음과 같습니다.

  • Node.js 6.11.1~10.x가 필요합니다.\n
  • MongoDB 버전 3.2 이상.
  • Git 버전 2.7.4 이상.
  • NGINX, Apache, Caddy, H2O와 같은 웹 서버 소프트웨어...\n
  • 빈 Git 저장소(선택사항).\n
  • 최소 512MB RAM. 1GB의 RAM이 권장됩니다.
  • 약 300MB의 디스크 공간.
  • A/AAAA DNS 레코드가 설정된 도메인 이름.

전제 조건

  • CentOS 7 운영체제.
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

CentOS 버전 확인:

cat /etc/centos-release

시간대 설정:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

운영 체제 패키지(소프트웨어)를 업데이트합니다. 이는 운영 체제 기본 소프트웨어 패키지에 대한 최신 업데이트 및 보안 수정 사항이 있는지 확인하기 때문에 중요한 첫 번째 단계입니다.

sudo yum update -y

CentOS 운영체제의 기본 관리에 필요한 몇 가지 필수 패키지를 설치합니다.

sudo yum install -y curl wget vim unzip socat epel-release

Wiki.js에서는 Git 버전 2.7.4 이상을 설치해야 합니다. CentOS의 기본 Git 버전이 너무 오래되었으므로 소스 코드에서 빌드해야 합니다. 빠르게 컴파일하는 명령은 다음과 같습니다.

# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz && tar zxvf git-2.21.0.tar.gz
rm git-2.21.0.tar.gz
cd git-2.21.0
make configure
./configure make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
which git
git --version

1단계 - Node.js 및 npm 설치

Wiki.js는 Node.js를 기반으로 합니다. 이 글을 쓰는 시점에 버전 10인 Wiki.js의 최신 권장 버전을 설치할 예정입니다. Linux에는 Linux 바이너리(x86/x64), 소스 코드 또는 패키지 관리자를 통한 몇 가지 Node.js 설치 옵션이 있습니다. Node.js를 쉽게 설치하고 업데이트할 수 있는 패키지 관리 옵션을 사용할 것입니다.

NodeSource 저장소에서 Node.js의 최신 권장 버전을 다운로드하여 설치합니다.

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install -y nodejs

참고: npm은 Node.js와 함께 배포됩니다. 즉, Node.js를 다운로드하면 자동으로 시스템에 npm이 설치됩니다.

Node.js 및 npm 버전 확인:

node -v && npm -v
# v10.15.1
# 6.4.1

Npm은 Node.js와 별개의 프로젝트이며 더 자주 업데이트되는 경향이 있습니다. 결과적으로 방금 Node.js(따라서 npm)를 다운로드했더라도 npm을 업데이트해야 할 것입니다. 운 좋게도 npm은 스스로 업데이트하는 방법을 알고 있습니다! npm을 업데이트하려면 터미널에 다음을 입력하세요.

sudo npm install -g 

이 명령은 npm을 최신 안정 버전으로 업데이트합니다.

다음을 사용하여 npm 버전을 다시 확인합니다.

npm -v
# 6.8.0

그리고 최신 버전 번호를 반환해야 합니다.

2단계 - MongoDB 데이터베이스 설치

Wiki.js는 데이터를 저장하기 위한 데이터베이스가 필요하며 Wiki.js의 현재 안정 버전은 MongoDB 데이터베이스 엔진만 지원합니다. 이에 따라 MongoDB 데이터베이스를 설치해야 합니다.

/etc/yum.repos.d/mongodb-org-4.0.repo 파일을 생성하여 맛있습니다.

달리다:

sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo

그리고 다음 구성으로 파일을 채웁니다.

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

안정적인 최신 버전의 MongoDB를 설치하려면 다음 명령을 실행하십시오.

sudo yum install -y mongodb-org

MongoDB 버전을 확인합니다.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6

MongoDB 서비스를 시작하고 활성화합니다(재부팅 시 시작하도록 설정). 아직 시작하고 활성화하지 않은 경우:

sudo systemctl start mongod.service
sudo systemctl enable mongod.service

3단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)

HTTPS로 웹 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 SSL 인증서를 얻기 위해 acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 SSL 인증서를 얻기 위한 순수 UNIX 셸 소프트웨어입니다.

acme.sh 다운로드 및 설치:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail 
source ~/.bashrc
cd ~

acme.sh 버전 확인:

acme.sh --version
# v2.8.1

도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서를 얻습니다.

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

테스트를 위해 가짜 인증서를 원하는 경우 위 명령에 --staging 플래그를 추가할 수 있습니다.

발급된 인증서를 나열하려면 다음을 실행할 수 있습니다.

acme.sh --list

인증서를 저장할 폴더를 만듭니다. /etc/letsencrypt를 사용하지만 SSL 인증서를 저장하는 데 선호하는 모든 것이 될 수 있습니다.

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

인증서를 /etc/letsencrypt 디렉터리에 설치/복사합니다.

# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

위 명령어를 실행하면 인증서가 다음 위치에 있게 됩니다.

  • RSA의 경우: /etc/letsencrypt/example.com 디렉토리.
  • ECC/ECDSA의 경우: /etc/letsencrypt/example.com_ecc 디렉토리.

모든 인증서는 60일마다 자동으로 갱신됩니다.

인증서를 얻은 후 루트 사용자를 종료하고 일반 sudo 사용자로 돌아갑니다.

exit

4단계 - NGINX 설치 및 구성

Wiki.js(또는 모든 HTTP Node.js 앱)는 실제 웹 서버(예: NGINX 또는 Apache) 없이 실행할 수 있습니다. 그러나 Wiki.js 앞에 표준 웹 서버를 배치하는 것이 좋습니다. 이렇게 하면 SSL, 여러 웹사이트, 캐싱 등과 같은 기능을 사용할 수 있습니다. 이 자습서에서는 NGINX를 사용하지만 다른 서버도 가능하므로 적절하게 구성하기만 하면 됩니다.

NGINX 다운로드 및 설치:

sudo yum install -y nginx

NGINX 버전 확인:

nginx -v
# nginx version: nginx/1.12.2

NGINX 서비스 활성화 및 시작:

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

sudo vim /etc/nginx/conf.d/wiki.js.conf를 실행하고 NGINX를 HTTPS 역방향 프록시로 구성합니다.

server {
    
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; charset utf-8; client_max_body_size 50M;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_next_upstream error timeout http_502 http_503 http_504; } }

위 구성에서 변경해야 하는 유일한 것은 server_name 지시어이며, 3000 포트 이외의 다른 포트를 구성하기로 결정한 경우 잠재적으로 proxy_pass 지시어입니다. . Wiki.js는 기본적으로 포트 3000을 사용합니다.

NGINX 구성을 확인합니다.

sudo nginx -t

마지막으로 변경사항을 적용하려면 NGINX를 다시 로드해야 합니다.

sudo systemctl reload nginx.service

5단계 - Wiki.js 설치 및 설정

Wiki.js가 상주해야 하는 문서 루트 디렉터리를 만듭니다.

sudo mkdir -p /var/www/wiki.js

문서 루트 디렉토리로 이동합니다.

cd /var/www/wiki.js

/var/www/wiki.js 디렉토리의 소유권을 your_user로 변경합니다.

sudo chown -R [your_user]:[your_user] /var/www/wiki.js

참고: 위 명령에서 your_user를 이 자습서의 전제 조건으로 생성했어야 하는 루트가 아닌 사용자로 바꾸십시오.

/var/www/wiki.js 디렉토리에서 다음 명령어를 실행하여 최신 Wiki.js 애플리케이션을 가져와 설치합니다.

curl -sSo- https://wiki.js.org/install.sh | bash

설치가 완료되면 현재 설치된 Wiki.js 버전을 보기 위해 다음 명령을 실행할 수 있습니다.

node wiki --version
# 1.0.117

설치가 완료되면 구성 마법사를 시작하라는 메시지가 표시됩니다.

따라서 다음을 실행하여 구성 마법사를 시작합니다.

node wiki configure

웹 브라우저를 사용하여 http://example.com으로 이동하고 화면의 안내를 따릅니다. 구성 마법사 중에 입력한 모든 설정은 config.yml 파일에 저장됩니다. 구성 마법사가 자동으로 Wiki.js를 시작합니다.

먼저 환영 메시지가 표시됩니다. "시작" 버튼을 클릭합니다:

다음 \시스템 검사\ 페이지가 나타납니다. 모든 요구사항이 충족되면 "계속" 버튼을 클릭하세요.

위키에 대한 일반 정보를 입력하고 "계속" 버튼을 클릭하십시오:

다음 단계를 위해 "중요 고려 사항" 알림을 읽고 "계속"을 클릭하십시오.

다음으로 데이터베이스에 연결하고 계속합니다.

Wiki.js가 데이터베이스에 성공적으로 연결되었다는 메시지가 표시되어야 합니다. "계속" 버튼을 클릭합니다:

경로 설정 및 계속:

이 단계를 원하거나 건너뛰려면 원격 Git 저장소를 설정하십시오. 이 단계는 선택 사항이지만 적극 권장됩니다.

그런 다음 "계속" 버튼을 클릭합니다.

관리자 계정을 만들고 "계속" 버튼을 클릭합니다.

마지막으로 Wiki.js를 시작합니다.

30초 정도 기다리면 Wiki.js 홈페이지로 리디렉션됩니다.

설치가 완료되었습니다. 환영 페이지를 위키해야 합니다:

6단계 - PM2 프로세스 관리자 설정

기본적으로 Wiki.js는 시스템 재부팅 후 자동으로 시작되지 않습니다. 부팅 시 시작되도록 하려면 PM2 프로세스 관리자를 설정해야 합니다. PM2는 로컬 npm 모듈로 Wiki.js와 함께 번들로 제공되므로 PM2를 전체적으로 설치할 필요가 없습니다.

다음을 실행하여 PM2에게 자신을 시작 서비스로 구성하도록 지시합니다.

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

마지막으로 다음 명령을 실행하여 현재 PM2 구성을 저장합니다.

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Wiki.js는 이제 PM2를 프로세스 관리자로 사용하여 백그라운드 프로세스로 실행됩니다.

연결

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki


판권 소유. © Linux-Console.net • 2019-2024