DokuWiki 설치 · 5 min read · Dec 14, 2025
FreeBSD 12에서 Nginx 및 Let's Encrypt SSL로 DokuWiki 설치하는 방법
DokuWiki는 데이터베이스가 필요 없는 사용하기 간편하고 매우 다재다능한 오픈 소스 위키 소프트웨어입니다. 사용자는 깔끔하고 읽기 쉬운 구문 덕분에 DokuWiki를 좋아합니다. 유지 관리, 백업 및 통합의 용이성 덕분에 관리자의 최애 소프트웨어가 되었습니다. 내장된 접근 제어 및 인증 커넥터는 DokuWiki를 기업 환경에서 특히 유용하게 만들며, 활발한 커뮤니티에서 기여한 많은 플러그인은 전통적인 위키를 넘어 다양한 사용 사례를 허용합니다. 이 튜토리얼에서는 FreeBSD 12 서버에 DokuWiki를 설치하는 방법을 보여줍니다.
요구 사항
서버가 다음 요구 사항을 충족하는지 확인하십시오.
- PHP를 지원하는 웹 서버 소프트웨어 (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
- PHP 버전 5.6 이상, 최신 버전이 강력히 권장됩니다.
전제 조건
- FreeBSD 12 운영 체제.
sudo권한이 있는 비루트 사용자.
초기 단계
FreeBSD 버전을 확인하십시오.
uname -ro
# FreeBSD 12.1-RELEASE운영 체제 패키지(소프트웨어)를 업데이트하십시오. 이는 운영 체제의 기본 소프트웨어 패키지에 대한 최신 업데이트 및 보안 수정을 보장하는 중요한 첫 단계입니다.
freebsd-update fetch install
pkg update && pkg upgrade -yFreeBSD 12 운영 체제의 기본 관리를 위해 필요한 몇 가지 필수 패키지를 설치하십시오.
pkg install -y sudo vim unzip curl wget bash bash-completion socat git선호하는 사용자 이름으로 새 사용자 계정을 생성하십시오. 우리는 johndoe를 사용합니다.
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default):
# Login group [johndoe]:
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]:
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]:
# Home directory permissions (Leave empty for default):
# Use password-based authentication? [yes]:
# Use an empty password? (yes/no) [no]:
# Use a random password? (yes/no) [no]:
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]:
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye! visudo 명령을 실행하고 %wheel ALL=(ALL) ALL 줄의 주석을 제거하여 wheel 그룹의 구성원이 모든 명령을 실행할 수 있도록 허용합니다.
visudo
# Uncomment by removing hash (#) sign
%wheel ALL=(ALL) ALL이제 su 명령으로 새로 생성한 사용자로 전환하십시오.
su - johndoe참고: johndoe를 사용자 이름으로 바꾸십시오.
시간대를 설정하십시오.
sudo tzsetup1단계 - PHP 및 PHP 확장 설치
PHP와 필요한 PHP 확장을 설치하십시오.
sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsqlPHP 버전을 확인하십시오.
php --version
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologiesphp.ini-production을 php.ini로 소프트 링크하십시오.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniPHP-FPM을 활성화하고 시작하십시오.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start2단계 - acme.sh 클라이언트 설치 및 Let’s Encrypt 인증서 받기 (선택 사항)
HTTPS로 사이트를 보호하는 것은 필수는 아니지만 사이트 트래픽을 보호하는 좋은 관행입니다. Let’s Encrypt에서 TLS 인증서를 받기 위해 acme.sh 클라이언트를 사용할 것입니다. Acme.sh는 종속성이 없는 상태에서 Let’s Encrypt에서 TLS 인증서를 받기 위한 간단한 UNIX 셸 소프트웨어입니다.
acme.sh를 다운로드하고 설치하십시오:
sudo pkg install -y acme.shacme.sh 버전을 확인하십시오:
acme.sh --version
# v2.8.5도메인/호스트 이름에 대한 RSA 및 ECC/ECDSA 인증서를 받으십시오:
# RSA 2048
sudo acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
sudo 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 디렉토리를 사용할 것입니다.
sudo mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc인증서를 /etc/letsencrypt 디렉토리에 설치/복사하십시오.
# RSA
sudo 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
sudo 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 사용자로 돌아가십시오:
exit3단계 - Nginx 설치 및 구성
DokuWiki는 PHP를 지원하는 모든 웹 서버에서 실행됩니다. 이 튜토리얼에서는 Nginx를 사용할 것입니다. Apache 또는 다른 웹 서버를 선호하는 경우 Nginx 대신 사용할 수 있습니다.
Nginx를 설치하십시오.
sudo pkg install -y nginxNginx 버전을 확인하십시오.
nginx -v
# nginx version: nginx/1.16.1Nginx 서비스를 활성화하고 시작하십시오.
sudo sysrc nginx_enable=yes
sudo service nginx startsudo vim /usr/local/etc/nginx/dokuwiki.conf를 실행하고 DokuWiki를 위한 Nginx 가상 서버를 설정하십시오.
sudo vim /usr/local/etc/nginx/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 /usr/local/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 $uri/ /doku.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param REDIRECT_STATUS 200;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}파일을 저장하고 편집기에서 종료하십시오.
dokuwiki.conf 파일을 기본 nginx.conf 파일에 포함시키려면 sudo vim /usr/local/etc/nginx/nginx.conf를 실행하고 http {} 블록에 다음 줄을 추가하십시오.
include dokuwiki.conf;Nginx 구성 변경 사항을 테스트하십시오.
sudo nginx -tNginx를 다시 로드하십시오.
sudo service nginx reload4단계 - DokuWiki 설치
문서 루트 디렉토리를 생성하십시오:
sudo mkdir -p /usr/local/www/dokuwiki문서 루트로 이동하십시오:
cd /usr/local/www/dokuwikiDokuWiki 다운로드 페이지에서 DokuWiki의 최신 안정 버전을 다운로드하십시오:
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgzDokuWiki tarball을 압축 해제하십시오:
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:로 변경하십시오.
sudo chown -R www:www /usr/local/www/dokuwikiPHP-FPM을 재시작하십시오:
sudo service php-fpm restart브라우저에서 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축하합니다! FreeBSD 12 서버에 DokuWiki를 성공적으로 설치하고 구성했습니다. 이제 DokuWiki를 사용하여 쉽게 자신의 위키 사이트를 만들 수 있습니다.
링크
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.