wiki – 우분투 22.04에 dokuwiki 설치하기

wiki (위키) 란 불특정 다수가 협업을 통해 직접 내용과 구조를 수정할 수 있는 웹사이트를 의미해. (출처: 위키백과 위키)

그런데 불특정 다수가 아니라 나 개인 혼자만의 개인 위키를 운영하더라도 몇 가지 장점이 있더라구.

  • 웹사이트로 운영되므로 접근성이 좋다. 모바일에서나 PC에서나, 집에서나 사무실에서나 카페에서나 위치와 도구를 가리지 않는다.
  • 검색이 자유롭다. 검색어로 입력한 단어가 포함된 모든 문서를 찾을 수 있다.

반면에 몇년간 업무용도로 위키를 사용하면서 느꼈던 주의할 점이 있었어.

  • 문서 제목을 잘 짓는 것이 중요하다. 또한 문서 제목에 따른 내용을 잘 채워야 한다. 그렇게 하지 않으면 정보의 파편화가 심해진다.
  • 내용 입력시 (제목 포함) 오타에 주의해야 한다. 오타가 있는 문서는 정상적인 검색 결과에서 제외된다.

이번 포스트에서는 가상 시스템에 wiki 를 설치해보려고 해. 개인적으로 참 유용한 시스템이라는 생각이 들어서 적극 활용해보기 위해서야.

우선 개인적으로만 활용할 목적이지만, 예쁘고 성능이나 기능이 좋으면 더 좋겠지? 예전에 사용했던 위키는 도쿠위키(dokuwiki)인데, 디자인이 너무 단순하더라고.

설치 가능한 위키 시스템으로 위키피디아(위키백과)에서 사용중인 미디어위키(MediaWiki)가 있더라구.

어떤 시스템인가 궁금해서 한번 설치해봤는데, 데이터베이스를 사용해서 그런지 성능이 넉넉하지 않은 MicroServer 에서 가상 시스템으로 돌리기에는 너무 무겁다고 느껴졌어.

그래서 화려하지는 않으나 데이터베이스를 사용하지 않고, 있을만한 기능이 다 있는 dokuwiki 를 다시 선택하게 되었지.

설치 준비

위키 시스템으로 사용할 가상 시스템의 OS 는 우분투 22.04 로 결정했어.

dokuwiki 를 비롯해서 모든 위키 시스템은 웹사이트 형식으로 서비스하게 되어 있어. 그래서 웹서비스 엔진이 필수적이지.

MediaWiki 는 데이터베이스를 추가로 설치해주어야 하지만, dokuwiki 는 데이터베이스를 사용하지 않아.

MediaWiki 나 dokuwiki 나 모두 php 를 사용하기 때문에 php 를 추가로 설치해 주어야해.

  • OS : 우분투 22.04
  • WebServer : Apache2 + PHP
  • Wiki : dokuwiki
  • 대상서버 IP 주소 (호스트명) : 10.10.1.3 (wiki-ubuntu)

우분투 OS 설치는 우분투 22.04 설치하기 – VMware VM 포스트를 참고하면 돼.

우분투 OS 에 Apache 설치는 우분투 22.04 – apache2 설치 – web server 포스트를 참고하면 돼.

php 설치하기

이제 php 를 설치해볼께.

php 기본 엔진 외에도 여러 확장 패키지가 있는데, dokuwiki 를 운영하는데 php 확장 패키지가 그리 많이 필요하지는 않아.

$ sudo apt install php php-gd php-xml php-json

php 를 설치한 후 버전을 확인해볼께.

$ php -v


우분투 22.04 에 기본 패키지로 제공되는 php 버전은 8.1.2 인 것을 알 수가 있어.

아파치 기본 루트 디렉토리에 phpinfo.php 파일을 생성하고 phpinfo(); 함수를 호출하는 내용을 기록한 다음에 php 가 정상적으로 동작하는지까지 확인해보자.

$ cd /var/www/html
$ sudo vi phpinfo.php

phpinfo.php 에는 아래 내용을 입력해주자.

<?php phpinfo(); ?>


웹브라우저에 http://10.10.1.3/phpinfo.php 를 입력하고 결과를 확인해보자. 만약 phpinfo.php 파일의 소스가 그대로 보여진다면 Apache 에 php 설정이 정상적으로 되지 않은 경우야.

dokuwiki 설치하기

dokuwiki 를 설치하기 위한 환경은 모두 준비가 되었어. 이제 dokuwiki 설치 과정을 살펴볼께.

우선 dokuwiki 소스를 내려받아야 해.

https://download.dokuwiki.org/ 주소를 방문하면 dokuwiki 다운로드 링크가 있어.


Download 버튼을 클리하면 아래쪽에 선택한 설정대로 패키징이 되는데, 플러그인은 나중에라도 추가 설치할 수 있으니까 아무 설정도 변경하지 않은 상태에서 Download 버튼을 클릭해봤어.


파일이 다운로드되면서 페이지가 이동되는데, download via this link 의 주소를 dokuwiki 설치할 때 사용할거야. 내 경우는 다운로드 주소가 https://download.dokuwiki.org/out/dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz 이더라구. 주소가 길고 복잡해서 일일이 타이핑하는게 어려울텐데, 가급적 wiki 를 설치할 서버에 ssh 로 연결해서 설치하는게 좋겠어.

$ cd /tmp
$ wget https://download.dokuwiki.org/out/dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz


웹 서비스 디렉토리 하위의 /dokuwiki 로 dokuwiki 다운로드받은 파일의 압축을 해제하도록 해볼께. 압축을 해제하면 dokuwiki 의 소스 파일들이 나오거든.

$ sudo mkdir -p /var/www/dokuwiki
$ sudo tar -xvzf dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz -C /var/www/dokuwiki/ --strip-components=1


이제 샘플 .htaccess.dist 파일을 .htaccess 파일로 복사할거야.

$ sudo cp /var/www/dokuwiki/.htaccess{.dist,}


apache2 기본 웹 디렉토리가 /var/www/html 인데 지금 dokuwiki 를 /var/www/dokuwiki 디렉토리에 설치했어. dokuwiki 디렉토리를 html 로 변경해서 기본 웹 경로로 사용되도록 수정해볼께.

$ sudo mv /var/www/html /var/www/.html
$ sudo mv /var/www/dokuwiki /var/www/html
$ sudo chown -R www-data:www-data /var/www/html


이제 apache 기본 웹 디렉토리의 설정을 수정해볼께.

$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf 000-default.conf.bak
$ sudo vi 000-default.conf

아래는 000-default.conf 에 추가할 내용이야.

<Directory ~ "/var/www/html/(bin/|conf/|data/|inc/)">
<IfModule mod_authz_core.c>
AllowOverride All
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</Directory>


이제 apache 서비스를 다시 시작하고 웹브라우저에 표시되는 내용을 확인해볼께.

$ sudo systemctl restart apache2
$ sudo systemctl status apache2

dokuwiki 설정하기

dokuwiki 사이트가 정상적으로 표시되긴 했지만, 아직 설치절차가 마무리되지 않았기 때문에 기능을 사용할 수가 없어.

웹브라우저에서 http://10.10.1.3/install.php 를 입력하고 본격적인 설정 절차에 들어가볼께.


슈퍼사용자 계정을 등록하는 작업부터 시작이야. 내 개인적인 용도로 사용하기 위해서 닫힌 위키 를 선택했지.


슈퍼사용자 계정을 등록하는 것으로 install.php 역할이 완료가 되는군.

이제 admin 슈퍼사용자로 로그인해서 여러가지 설정을 해볼거야.


새 도쿠위키 링크를 클릭하니까 닫힌 위키이기 때문에바로 로그인 화면이 표시가 되네. 슈퍼사용자로 로그인하면 welcome 페이지가 보이게 되지.


오른쪽 위에 “관리” 링크가 보이지? 그걸 누르면 위키 관리 화면으로 진입하게 되거든.


이번 포스트에서는 여기까지 살펴볼께. 나중에 시간이 되면 주요한 설정들을 정리해보는 시간을 가져보는게 좋겠어.

Leave a Comment