도쿠위키

1 개요

DokuWiki. 덕후위키
위키엔진 중의 하나. Document + Wikiwiki를 합성한 이름으로 위키위키의 기반 철학을 이어받았다.

DB를 사용하지 않는 텍스트 파일 기반의 위키이며 설정이나 기본 사용법이 간단하고 설치 및 백업, 복구 등도 용이한데다가 ACL 기능을 기본적으로 탑재하고 있어 회원제나 완전 비공개 위키를 간단하게 만들 수 있다. 중소형이나 개인용 위키에 적합한 엔진이다. 파일 기반 위키답게 백업도 편리하여 data폴더를 통째로 복사하면 된다. 다만 DB를 사용하지 않아 대형 위키에서 사용하기에는 비 효율적이다.

버전별 명칭은 디스크월드의 캐릭터 이름을 가져오고 있으며, 주인공 린스윈드도 도쿠위키에선 상당한 구 버전이다. 최신 정식 버전은 2016-06-26 "Elenor of Tsort" 이다. 버전이 교체되면 관리자 로그인시 상단에 개발 릴리즈 버전과 최신 정식 버전의 알림이 뜬다.

다운로드 항목이 개편되어 다양한 옵션을 지원한다. 새버전의 변경점만 다운로드 하거나, 필요없는 언어팩을 제외거나, 인기있는 플러그인을 미리 포함해서 다운로드 할 수 있고 포터블용 도쿠위키도 통합되어 다운로드시 Include Web server 옵션을 체크하면 포터블 형태로 바로 사용가능하게 다운된다.[1]

우분투,데비안리눅스에서 도쿠위키를 로컬로 사용하려면 이 페이지를 참조하라. 약간의 팁을 말하자면 sudo apt-get install dokuwiki 로 설치하면 패스워드 설정란이 나오는데 패스워드 설정을 해주고 기타 설정을 해준뒤에 초기 아이디는 admin 패스워드는 아까 설정한 password로 로그인 하면된다. sudo dpkg-reconfigure dokuwiki 는 도쿠위키의 설정값을 재설정해주는 명령어이다. 만약 기존의 문서파일을 var/lib/dokuwiki/data/page폴더에 넣었을때 문서편집이 안된다면 해당폴더의 권한값을 변경해주면된다.

또는 시스템에 php,apache2를 설치한뒤에 var/www에 설치파일을 넣고 직접 설치해도 된다.

미디어위키에서 도쿠위키로 변환하는 스크립트여길 참조하라.

2 장점

  • 기본 기능과 메뉴의 한국어 번역이 비교적 잘 되어 있다. 만약 번역이 되어 있지 않은 메시지가 있다면 도쿠위키 홈페이지의 위쪽에 있는 Translate 메뉴로 들어가서 번역할 수 있다.
  • 상대적으로 설치가 간단하고 사용 방법도 쉬운 편이다.
  • 어드민 페이지가 잘 구성되어 있어 각종 설정 및 플러그인 설치/관리, 유저 관리 등이 용이하다.
  • 많은 수의 플러그인이 있어 기능 확장을 쉽게 할 수 있다. 플러그인은 사이트 내에서 개발 버전과 정식버전의 안정적 지원 유무를 알 수 있다.
  • 템플릿 기능으로 공개된 여러 템플릿을 사용해 쉽게 디자인을 바꿀 수 있다. [2] 근데 디자인이 국내 정서상 잘 맞지 않는 디자인(?)과 반응형이 지원되는 템플릿이 그리 많지 않은데다가, php나 html 소스에 대한 지식이 부족하면 디자인 관리가 쉽지않다(...)
  • 네임 스페이스를 기본 지원하여 문서의 분류가 용이하다.
  • 인덱서가 내장되어 작은 규모의 위키에서 검색속도가 빠르다. [3]
  • Angua 버전부터는 UTF-8 인코딩 지원으로 인해 한글문서 이름 그대로 저장이 가능해졌다.
  • 링크시 파일명 내의 첫 제목을 불러와 표기할 수 있다. 짧은 파일명이더라도 긴 제목으로 자동 변환되어 항목의 내용 파악이 용이하며, 파일명이 아닌 제목을 바로 검색하여 찾아갈 수 있다. (설정에서 바꾸어야 한다.)[4]

3 단점

  • 5천 페이지 이상만 되어도 검색이 느려진다.[5]
  • 첫줄은 들여쓰기가 안 된다.[6]
  • 도쿠위키의 글을 다른 사이트에 붙여넣기 할 때 한 줄 띄우기가 제대로 표현되지 않는다.
  • 일부 필수적으로 보이는 플러그인이 옵션이다. 따라서 최종 사용자가 사용하기 어려울 수 있다.
  • 위키 문법이 위키엔진의 주류인 미디어위키나 모니위키와 상이하다. 예를 들어 헤딩표시가 정반대이다.

4 비고

  • DB가 아닌 텍스트 파일 기반은 장점이 될 수도 있고 단점이 될 수도 있다. 소규모 위키의 경우 매우 간단한 백업이 가능하지만 대규모 위키의 경우는 불리하기 때문이다.
  • 파일 기반과 검색속도는 아무 상관이 없다. 영리한 인덱서를 만들거나 전문 검색 엔진을 붙일 수도 있으나 이를 지원하고 있지는 않다. 도쿠위키는 소규모 위키에 최적화되어있으며 그걸 잘 수행하고 있다.
  • URL 인코딩 보존 방식을 택할 경우, 데이터 파일들이 % 인코딩이 되어서 무슨 데이터인지 알 수 있는 방법이 없다. 이는 서버의 설정을 UTF-8을 지원하면 해결된다. 일부 유료 서버에서는 이를 지원하며 무료로 바꿀 수 있다. 아래에 나온 변환 스크립트를 이용하여 바꿀 수 있다.
  • 미디어가 파일로 관리되기 때문에, 하나의 폴더에 수백개의 사진이 들어가면 미디어관리자를 불러올 때 매우 시간이 걸린다. 이를 방지하기 위해서는 여러 폴더에 사진을 나누어 저장하는 것이 좋다. 문서의 네임스페이스와 상관없이 적절한 서브폴더에 저장하면 된다.
  • 캐쉬의 데이터가 용량을 많이 차지할 수 있다.
  • 일부 필수적으로 보이는 플러그인이 옵션이라서, 랜덤페이지 플러그인 이나 기타 스크립트 같은것을 쓸때 php에 지식이 없으면 쓸수 없다.
  • 각 플러그인 제작을 개별적으로 하기 때문에 일부 플러그인에 한해서 사용법이 제대로 표시되어 있지 않거나 버전업시 플러그인이 호환이 안될 수도 있다.
  • 도쿠위키의 모토 "It's better when it's simple" 답게 다른 위키엔진에서의 기본기능이 플러그인으로 해결되어야 하는 경우가 많다. 예를 들면, 엔터[7], 템플릿(틀), 랜덤 페이지, 리다이렉트 등 기본적인(?) 기능을 위해 플러그 인을 사용해야 한다. 2번이상의 엔터는 역슬래시 \\를 넣어주어야 한다. 멀티 엔터를 만들어주세요! 능력자님
    • 현재 리다이렉션은 미디어위키처럼 넘겨주기 문서를 작성하는 방식의 pageredirect 혹은 ACL에서 집중 통제하는 redirect로 해당 기능을 추가할 수 있다.
  • 검색 기능이 찾으려는 문서가 있어도 직접 보여주는 것이 아니라 말 그대로 검색만 지원한다. 무슨 말인고 하니, 나무위키[8]위키피디아[9]의 경우엔 검색창에 '도쿠위키'를 입력하면 바로 도쿠위키 문서로 넘어간다. 하지만 도쿠위키의 경우는 제목에 '도쿠위키'가 포함된 문서들을 실시간으로 표시해주고 검색된 항목들에서 클릭을 하면 해당 문서로 넘어간다. [10]
  • 문서를 UTF-8로 인코딩할 경우, 기존에 URL로 인코딩된 한글 문서는 읽어오지 못 한다. URL로 인코딩된 문서를 UTF-8로 바꿔주는 기능도 제공하고 있지 않기 때문에, 해당 문서들은 수작업으로 바꿔줘야 한다. 따라서, 초기 설치시 부터 UTF-8 사용이 권장된다.
  • 기존 사용자들을 위한 변환 스크립트가 공개되었다. [1]
  • 위의 스크립트는 파일을 하나씩만 변환시키므로 매우 불편하다.[2] 이 스크립트를 다운받아서 php파일로 저장한후에, startdir부분만 현재 문서 파일이 위치한 경로로 바꿔주고 문서파일에 php파일을 넣은뒤 터미널에서 php 문서이름.php를 실행시키면 된다.
  • 다른 파일 기반 위키들과 마찬가지로 서버의 언어설정이 EUC_KR로 되어 있는 경우 UTF-8 한글 파일명이 제대로 지원되지 않는다.
    • 간단히 말해서 shell에서 locale 이라고 명령했을때 각종 언어설정이 UTF-8 이라고 확인되어야 한다. 다른 편법을 사용해도 서버의 세팅이 UTF-8이 아니면 실제 서버에는 한글 파일명이 생성되지 않아 괴문자조합으로 저장된다. 이 언어설정은 shell에서 루트 권한으로 작업하기 전에는 바꿀수 없다.
    • FileZilla의 사이트 관리자에서 UTF-8으로 강제 설정하면 된다는 의견이 있다. 이 경우 서버에는 괴문자로 저장이 되더라도 유저가 읽고 쓸 때는 괴문자를 정상적인 문자로 변환해 인식하므로 쓰는 것에는 아무런 문제가 없어 보이나, 이는 FTP를 통해 해당 파일에 직접 접근해 수정 가능하다는 파일 기반 위키엔진의 장점 중 하나를 포기하는 것이며, 어떤 요인에 의해 괴문자열을 서버가 인식하지 못하게 되면 자료 유지에 심각한 문제가 생긴다.
  • 2015-08-10 "Detritus" 버전부터 요구 사양이 PHP 5.3.3 이상으로 올라갔다. 국내의 웹호스팅에서 설치 불가능한 곳이 많으니 설치하기 전에 웹호스팅 서버 사양을 미리 확인해야 한다. 다행히 2015년부터 XpressEngine, 워드프레스 등 여러 솔루션의 요구 사양이 PHP 5.3 이상으로 올라가면서 PHP를 업그레이드하는 호스팅이 늘어나고 있다.

5 알려진 버그와 해결방식

  • 섹션 편집이 제대로 되질 않는다. - linebreak 플러그인 버그이다. 지우거나 xbr 플러그인으로 대체하면 해결 가능.

6 추천 플러그인

도쿠위키의 플러그인은 개발자 이외에도 많은 사람들이 참여하여 올리기 때문에 다양한 플러그인 중에서도 서로 충돌을 일으키는 경우가 있거나 버전업이 되면서 지원하지 않거나 오류가 생기는 경우도 있다. 필요한 플러그인을 찾고 충돌(conflict)하는 플러그인을 서로 깔지 않도록 주의해야한다.
도쿠위키 버전은 최신버전을 추천하지만 서버가 php5.2이하의 버전이라면 Hrun을 추천한다. 최신버전에서 오류를 일으키는데 Hrun에서는 멀쩡히 돌아가는 유용한 플러그인이 몇개 있기 때문이다.

위키 문서 속에 또 다른 문서를 넣을 수 있다. 미디어위키 시스템을 생각하면 이해하기 쉬울 듯
자동 문서 목록을 만들어준다. 문서를 영화 관련 정보따위로 묶을 때 요긴한 플러그인
강제 줄 바꿈을 할 수 있게 해준다. 하지만 두번이상의 엔터에는 역슬래시 두번을 써야한다.
discussion 플러그인은 "토론" 기능이다. 독립적으로 작동할 수 없기에 pagelist plugin이 필요하다. 해당 문법을 문서내에 작성하면 미디어위키처럼 따로 탭이 생성되는 것이 아닌 블로그처럼 하단에 댓글을 달 수 있는 공간이 생성된다.
소스 코드 강조
소스 코드 강조
WYSIWYG 에디터를 사용할수 있다.기존 도쿠위키 에디터와 전환 가능하다. 하지만 몇몇 플러그인과 충돌이 있어 설치시 주의할 것.

6.1 문법 추가

tag 플러그인은 "카테고리" 혹은 "분류" 기능이다. 독립적으로 작동할 수 없기에 pagelist plugin이 필요하다.
DB 정리가 가능해진다. 태그 정리와는 비슷하면서도 다른 느낌이며, 결정적으로 사용법이 약간 어렵다. 선행으로 sqlite plugin이 필요하다.
tag 플러그인과 상호호환도 된다. 잘 쓰면 tag 플러그인만 쓰는 것보다 훨씬 깔끔하게 태그 정리가 가능해진다.
간단한 문법으로 글자 색을 변경할 수 있다. 글자색 버튼 또한 추가된다. (도쿠위키는 HTML 태그가 먹히지 않기에 필요.)
간단한 문법으로 글자 크기를 변경할 수 있다. (도쿠위키는 HTML 태그가 먹히지 않기에 필요.)
표 너비를 임의로 조정할 수 있다. 단위는 em, px, %가 가능하다.
YouTubeVimeo같은 동영상 공유 사이트의 영상을 손쉽게 문서에 넣을 수 있다.
이미지 갤러리를 자동으로 만들어 문서에 넣을 수 있다.
터미널처럼 보이는 bash 스크립트 구문 강조 플러그인

7 UTF-8 지원 호스팅 사이트

앞서 말했다시피 서버 세팅이 UTF-8이어야 한다. DB만 UTF-8이면 UTF-8 언어 세팅을 할 수 없다.

  • 호스팅어 [3]

8 참조 사이트

9 사용 사이트

그 밖에도 오픈위키의 도쿠위키 항목에서 한국 도쿠위키 사이트 목록을 볼 수 있다.
  1. 압축을 풀고 run.cmd를 실행하면 자동으로 접속까지 된다.
  2. 최신 버전의 기본 템플릿의 디자인이 매우 개선되었으며, 화면 폭에 따라 데스크탑/패드/모바일을 자동 지원한다.
  3. 한글 검색이 부실하고 정확하지 않은 편이였으나 Lemming 버전 이후 개선되었다.
  4. 링크된 파일명을 today라고 하고 문서의 첫 제목을 -201x년 x월 x일- 이라고 설정하면 문서의 하이퍼링크에서도 today가 아닌 201x년 x월 x일으로 표기된다. 첫 제목의 지속적인 수정과 갱신이 이루어지는 문서의 경우라면 역링크의 문서의 수정이 필요없어 매우 편리한 기능이다.
  5. 속도 개선을 위해 설정에서 인덱스의 캐싱을 설정해볼 수 있지만, 원천해결은 안된다. 몇 천 단위로 가면 조금씩 느려짐을 느낄 수 있다.
  6. 이는 대부분의 위키워드프레스에서 들여쓰기 폐인들이 겪는 문제. 들여쓰기가 그렇게 좋은가? 해외에서 개발된 웹 소스들은 문장 앞 띄어쓰기를 강제로 붙여버린다. 일반적인 텍스트는 첫 줄 들여쓰기가 가독성을 높이진 않기 때문.
  7. 최신버전에는 xbr플러그인이 기본지원되며, 오래된 버전은 제작자가 linebreak보다는 xbr을 권장하고 있다.
  8. 자체 위키엔진 기반
  9. 미디어위키 기반
  10. [23] 참조
  11. 도쿠위키는 기본적으로 네임스페이스를 지원하므로, 특정 네임스페이스의 문서로 바로 이동하려면 네임스페이스도 입력하면 된다. 예) wiki:test
  12. 포터블로 받으려면 Include Web server 항목을 체크해서 다운로드 하면 된다
  13. github에 있다