웹사이트 검색

Nginx로 DokuWiki를 설치하고 Debian 10에서 SSL을 암호화하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 전제 조건
  3. 초기 단계
  4. 1단계 - PHP 및 PHP 확장 설치\n
  5. 2단계 - acme.sh 클라이언트 설치 및 Lets Encrypt 인증서 획득(선택 사항)\n
  6. 3단계 - Nginx 설치 및 구성
  7. 4단계 - DokuWiki 설치
  8. 5단계 - DokuWiki 웹 인터페이스 액세스
  9. 링크

DokuWiki는 데이터베이스가 필요하지 않은 사용이 간편하고 다재다능한 오픈 소스 위키 소프트웨어입니다. 깨끗하고 읽기 쉬운 구문으로 사용자에게 사랑 받고 있습니다. 유지 관리, 백업 및 통합의 용이성으로 인해 관리자가 선호합니다. 내장 액세스 제어 및 인증 커넥터는 DokuWiki econtainer.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient= pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive=true;}

요구 사항

서버가 다음 요구 사항을 충족하는지 확인하십시오.

  • PHP를 지원하는 웹 서버 소프트웨어(Apache, NGINX, IIS, Lighttpd, LiteSpeed)\n
  • PHP 버전 5.6 이상, 최신 버전을 권장합니다.\n

전제 조건

  • Debian 10(버스터) 운영체제입니다.
  • sudo 권한이 있는 루트가 아닌 사용자.\n

초기 단계

Debian 버전 확인:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

시간대 설정:

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y

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

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

1단계 - PHP 및 PHP 확장 설치

PHP 및 필요한 PHP 확장을 설치합니다.

sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-gd php7.3-xml php7.3-zip

모듈로 컴파일된 PHP를 표시하려면 다음을 실행할 수 있습니다.

php -m

ctype
curl
exif
fileinfo
. . .
. . .

PHP 버전 확인:

php --version

# PHP 7.3.9-1 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM 서비스는 Debian 10 시스템에서 재부팅 시 자동으로 시작되고 활성화되므로 수동으로 시작하고 활성화할 필요가 없습니다. acme.sh 클라이언트를 설치하고 SSL 인증서를 얻는 다음 단계로 넘어갈 수 있습니다.

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

HTTPS로 사이트를 보호할 필요는 없지만 사이트 트래픽을 보호하는 것이 좋습니다. Lets Encrypt에서 TLS 인증서를 얻기 위해 acme.sh 클라이언트를 사용합니다. Acme.sh는 종속성이 없는 Lets Encrypt에서 TLS 인증서를 얻기 위한 간단한 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.2

도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서 받기:<br>

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

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

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

  • RSA의 경우: /home/username/example.com 디렉토리.
  • ECC/ECDSA의 경우: /home/username/example.com_ecc 디렉터리.

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

acme.sh --list

인증서를 저장할 디렉터리를 만듭니다. /etc/letsencrypt 디렉토리를 사용하겠습니다.

mkdir -p /etc/letsecnrypt/example.com
sudo 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"

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

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

exit

3단계 - Nginx 설치 및 구성

DokuWiki는 PHP를 지원하는 모든 웹 서버에서 실행됩니다. 이 튜토리얼에서는 Nginx를 사용합니다. Apache 또는 다른 웹 서버를 선호하는 경우 Nginx 대신 이를 사용할 수 있습니다.

Debian 저장소에서 NGINX를 다운로드하고 설치합니다.

sudo apt install -y nginx

Nginx 버전 확인:

sudo nginx -v
# nginx version: nginx/1.14.2

Nginx 구성:

sudo vim /etc/nginx/sites-available/dokuwiki.conf

다음 Nginx 구성을 복사하여 붙여넣고 저장합니다.

server {

listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80; # RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name wiki.example.com; root /var/www/dokuwiki; index index.html index.htm index.php doku.php; client_max_body_size 15M; client_body_buffer_size 128K; location / { try_files $uri $uri/ @dokuwiki; } location ^~ /conf/ { return 403; } location ^~ /data/ { return 403; } location ~ /\.ht { deny all; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

파일을 sites-enabled 디렉토리에 연결하여 새 dokuwiki.conf 구성을 활성화합니다.

sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/

Nginx 구성을 확인합니다.

sudo nginx -t

Nginx를 다시 로드합니다.

sudo systemctl reload nginx.service

4단계 - DokuWiki 설치

문서 루트 디렉터리를 만듭니다.

sudo mkdir -p /var/www/dokuwiki

문서 루트로 이동합니다.

cd /var/www/dokuwiki

DokuWiki 다운로드 페이지에서 DokuWiki의 최신 안정 릴리스를 다운로드하십시오:

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

DokuWiki 타르볼 압축 풀기:

sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
sudo rmdir dokuwiki-2018-04-22b/

/var/www/dokuwiki 디렉토리의 소유권을 www-data:로 변경합니다.

sudo chown -R www-data:www-data /var/www/dokuwiki

php7.3-fpm.service:를 다시 시작합니다.

sudo systemctl restart php7.3-fpm.service

브라우저에서 DokuWiki 설정 스크립트 install.php를 열고 DokuWiki를 설정합니다. 설정 스크립트는 필요한 PHP 기능의 가용성을 확인하고 필요한 파일 권한을 확인합니다. 또한 초기 관리자 계정과 초기 ACL 정책을 생성합니다. 설치 프로그램을 실행하려면 브라우저에서 http://wiki.example.com/install.php를 열고 지침을 따르십시오.

5단계 - DokuWiki 웹 인터페이스에 액세스

웹 브라우저를 열고 URL http://example.com/install.php를 입력하십시오. 다음 페이지로 리디렉션됩니다.

수퍼유저 이름, 이메일, 비밀번호와 같은 모든 필수 정보를 제공하십시오. 그런 다음 저장 버튼을 클릭합니다. 설치가 성공적으로 완료되면 다음 페이지가 표시됩니다.

이제 새 DokuWiki를 클릭하세요. 다음 페이지가 표시됩니다.

이제 로그인 버튼을 클릭하세요. 다음 페이지로 리디렉션됩니다.

이제 관리자 사용자 이름과 암호를 제공하십시오. 그런 다음 로그인 버튼을 클릭합니다. 다음 페이지에서 DokuWiki 대시보드를 볼 수 있습니다.

구성이 성공적으로 끝나면 DokuWiki 루트 디렉토리에서 install.php 파일을 삭제하십시오:

sudo rm /var/www/dokuwiki/install.php

축하합니다! Debian 10 서버에 DokuWiki를 성공적으로 설치하고 구성했습니다. 이제 DokuWiki를 사용하여 자신만의 위키 사이트를 쉽게 만들 수 있습니다.

연결

  • https://www.dokuwiki.org/
  • https://github.com/splitbrain/dokuwiki