Doku Wiki install

사용환경

  • 운영체제 : CentOS 5.5 Final
  • 커널버전 : Linux 2.6.18-194.26.1.el5 i686 GNU/Linux
  • 아파치버전 : httpd-2.2.3-43.el5.centos.3
  • PHP버전 : php-5.1.6-27.el5_5.3
  • 도쿠위키버전 : dokuwiki-2010-11-07 “Anteater”

01. 시작하기 전에…

웹호스팅을 이용하거나 저의 경우처럼 개인서버까지 구축을 하는 이유는 블로그나 위키와 같은 웹어플리케이션을 이용하고 싶어서 일 것입니다. 아무래도 서비스형으로 제공하는 블로그나 위키의 경우는 자유도의 면에서는 부족한 면이 있어서, 본인 스스로가 원하는 어플리케이션을 자유롭게 사용할 수 있게 웹호스팅을 이용하거나 개인서버를 구축하는 것입니다.

저의 경우에는 리눅스를 메인OS로 사용하다보니… 리눅스로 서버를 구축하는 것에 큰 부담감은 없었습니다. 단지 서버구축을 위한 공부를 해야만 했던 것입니다. 저의 경우에는 주로 사용하는 것은 아무래도… 블로그 어플리케이션인 워드프레스(WordPress)이고, 그 다음으로 많이 사용하는 것은 도쿠위키(Dokuwiki)입니다.

설치를 해서 사용할 수 있는 위키 어플리케이션으로 가장 유명한 것은 위키피디아(http://www.wikipedia.org/)에서 사용하는 미디어위키(MediaWiki)입니다. 미디어위키의 경우에는 다양한 DBMS를 이용할 수 있고, 가장 대표적으로 많이 사용하는 MySQL 역시 지원하고 있습니다.

하지만 제가 사용하고 있는 도쿠위키의 경우에는 DBMS를 이용하지 않고, 단지 파일로만 관리되는 위키입니다. DBMS를 사용하지 않기에 백업과 복원이 간편해서(파일만 보관하면 되기에…) 애용하고 있습니다. 추후에 MediaWiki도 사용해보려고 하고 있지만… 아마도 메인으로는 도쿠위키를 사용할 것 같습니다.

아래에 작성할 내용 외에 기존에 포스팅했던 아래의 포스팅을 참고하시면, 도쿠위키를 위한 셋팅을 부가적으로 하실 수 있습니다.(비공개로 운영할 위키라면 필수로 하셔야합니다.)

이제는 제 개인서버에 도쿠위키를 설치하는 과정을 적도록 하겠습니다.

02. 도쿠위키 다운로드

도쿠위키를 다운로드하기 위해서 http://www.splitbrain.org/projects/dokuwiki에 접속합니다.

저의 경우는 파일을 직접 PC에 다운로드 한 뒤에 서버에 올리는 식으로 하지않고, 주로 서버에서 바로 wget을 이용하여 다운로드를 하는 것을 선호하는 편입니다. 위 처럼 복사한 주소는 http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2010-11-07.tgz입니다. 이제는 ssh로 서버에 접속하여 작업을 하겠습니다.

03. 압축해제

이제는 서버에서 dokuwiki 파일을 다운로드받고, 설치를 하기 위해서 압축을 해제하도록 하겠습니다. 이 과정은 ssh로 이루어집니다.

dokuwiki 다운로드

도쿠위키 경로는 http://도메인/dokuwiki/로 접속할 수 있도록 하려고 합니다. 아파치의 최상단 디렉토리(DocumentRoot)가 /var/www/html이므로 해당 위치로 이동한 뒤에 wget으로 파일을 다운로드합니다.

# cd /var/www/html
# wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2010-11-07.tgz
--2010-12-30 19:53:03--  http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2010-11-07.tgz
Resolving www.splitbrain.org... 78.46.97.149
Connecting to www.splitbrain.org|78.46.97.149|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2756995 (2.6M) [application/octet-stream]
Saving to: `dokuwiki-2010-11-07.tgz'
2010-12-30 19:59:05 (7.46 KB/s) - `dokuwiki-2010-11-07.tgz' saved [2756995/2756995]
100%[======================================>] 2,756,995   5.97K/s   in 6m 1s

압축해제

# tar zxf dokuwiki-2010-11-07.tgz
# mv dokuwiki-2010-11-07 dokuwiki

tar 명령어로 압축을 해제하고, 디렉토리의 이름을 dokuwiki로 변경합니다.

04. 설치시작

이제 설치를 시작하기 위해서 웹브라우저에서 http://도메인 또는 IP/dokuwiki/를 입력하고 접속합니다.

웹브라우저에서 접속을 하면 위와 같은 화면이 나옵니다. run the installer를 클릭하여 인스톨러를 실행합니다.

보통은 위와 같은 화면이 나올 것입니다. 우측 상단에 Choose your language의 en을 ko로 변경하여 한국어로 변경합니다.(추후에 변경이 가능하오니 변경하지 않아도 관계는 없습니다.)

중간에 보면 디렉토리의 권한에 대한 메시지들이 출력이 됩니다. 해당 메시지를 참고하여 권한을 적절하게 변경해줘야 합니다. 다시 ssh를 이용하여 권한을 변경해줍니다.

# cd dokuwiki
# pwd
/var/www/html/dokuwiki
# chown apache:apache conf
# chown apache:apache data
# chown apache:apache data/pages/
# chown apache:apache data/attic/
# chown apache:apache data/media/
# chown apache:apache data/meta/
# chown apache:apache data/cache/
# chown apache:apache data/locks/
# chown apache:apache data/index/
# chown apache:apache data/tmp/

위 처럼 권한 문제가 발생한 디렉토리의 소유주(User 또는 Owner)를 apache로 변경해줍니다. 이렇게 해주어야 아파치 웹서버가 파일을 생성하고, 삭제하는 등의 작업을 할 수 있습니다. 이 의미는 결국에 사용자가 웹브라우저를 이용해서 글을 작성/편집/삭제가 가능한 상태임을 의미합니다.

참고) 웹호스팅 환경에서의 권한문제 해결법

저의 경우에는 개인서버이므로 root로의 접근이 가능하여, 권한을 apache로 변경하였습니다. 그렇지만 웹호스팅을 이용하는 경우에는 위의 방법보다는 각 디렉토리의 other 권한의 작성권한(write)을 추가해주는 편이 좋습니다. 방법은 아래와 같습니다.

$ chmod o+w conf/

웹서버가 동작하는 사용자인 apache(또는 아파치설정에 따라서 nobody)로 변경할 경우에 보통은 일반사용자로 제한되는 웹호스팅 환경에서는 해당 파일을 강제로 편집할 수 없게 되어버립니다. 소유주를 변경한 뒤에는 퍼미션 변경도 되지 않으므로…(소유주가 이전되었으므로) 추후에 작업이 제한될 수 있습니다. 그러므로 그러한 경우에는 본인이 소유한 파일의 other권한에 write 가능하도록 퍼미션을 할당하게 되면 정상적으로 동작합니다. 하지만 이렇게 해도… 위키를 사용하면서 생성되는 파일들은 아파치(apache) 소유주로 생성되어 전부 삭제할 경우에는 서버관리자에게 요청해야만 합니다.

05. 위키정보 입력

각 디렉토리의 소유주를 apache로 변경하거나, other의 write 퍼미션을 추가하여 권한 문제를 해결한 뒤에 다시 웹브라우저로 돌아와서 새로고침(F5)을 합니다.

위 처럼 도쿠위키를 설치하기 위한 폼이 나타납니다. 아래의 내용을 참고하여 정보를 입력합니다.

  • 위키이름 : 위키의 제목으로 사용할 이름입니다. (예 : 심플리즘의 위키)
  • ACL기능 사용(권장 사항) : 기본 값으로 체크되어 있으며, 공개용 위키로 사용하더라도 체크를 해두는 편이 좋습니다.
  • 슈퍼유저 : 최고관리자의 아이디입니다. (예 : simplism)
  • 이메일 : 최고관리자의 이메일주소를 기입합니다.
  • 실제이름 : 최고관리자의 실제이름입니다. (예 : 홍길동)
  • 패스워드 : 최고관리자의 비밀번호입니다.
  • 패스워드 다시 확인 : 최고관리자의 비밀번호를 다시 입력합니다.
  • 초기 ACL 정책 : 위키의 개방정도를 설정합니다. (저의 경우에는 폐쇄형 위키를 선택했습니다.)
    • 개방형 위키 : 위키의 주소만 알고 있으면 웹브라우저로 어느 누구나 글의 읽기/쓰기/업로드가 가능한 가장 개방적인 위키입니다.
    • 공개형 위키 : 위키의 주소를 알면 누구나 읽을 수는 있습니다. 그렇지만 쓰기와 업로드는 회원만 가능한 형태의 위키입니다.
    • 폐쇄형 위키 : 회원만 읽기/쓰기/업로드가 가능한 가장 제한적인 위키입니다.(저의 경우는 개인적인 용도로 사용할 위키라서 폐쇄형을 선택했습니다.)
  • 라이센스 : 위키에서 작성될 문서들의 라이센스를 결정할 수 있습니다. 해당 라이센스마다 [?] 표시를 클릭하면 라이센스의 정보를 확인할 수 있습니다. 저의 경우에는 개인적인 내용을 보관할 것이라서… None을 선택했습니다.

이제 입력을 완료하였으면 스크롤을 내려서 저장 버튼을 눌러줍니다.

성공적으로 설치를 완료했습니다.

# rm install.php
rm: remove 일반 파일 `install.php'? y

이제는 보안을 위해서 install.php를 지워줍니다.

참고) install.php를 삭제하는 이유

install.php를 삭제하는 이유는 이미 설정이 완료되어 사용 중인 위키인데, 악의적인 사용자가 강제로 install.php를 호출해서(예: http://도메인/dokuwiki/install.php) 위키를 다시 설정할 수 있기 때문입니다. 이렇게 되면 폐쇄형 위키로 설정했더라도 다시 설정이 가능하므로, 내용이 노출될 수 있는 우려가 있습니다. 개방형이나 공개형 위키라고 하더라도 반드시 install.php를 지워서 악의적으로 위키의 설정을 변경하는 것을 막는 것이 좋습니다.

06. 설치완료

설치를 완료하였습니다. 저의 경우에는 폐쇄형으로 설치하였으니, 로그인을 하지 않으면 내용을 확인할 수 없습니다. 하단의 로그인 버튼을 눌러서 로그인을 수행하면, 문서의 작성이 가능합니다.

07. 추후에 포스팅할 내용

저의 경우에는 도쿠위키를 웹메모장, 웸문서 작성(매뉴얼 같은…)과 같은 용도로 사용합니다. 졸업을 위해서 수행하는 졸업작품 프로젝트를 위한 문서화도 도쿠위키로 작업을 한 뒤에 출력을 하여 제출했던 적이 있습니다. 아무래도 제가 메인OS를 우분투로 사용하고 있기 때문에 한글을 사용할 수 없고, 이곳저곳 움직이면서 문서작업을 하기에(실습실, 기숙사를 왔다갔다 하면서…) 아무래도 파일로 보관을 하는 것은 번거로운 일이라서 위키를 이용해서 작업을 했던 것입니다. 그리고 버전관리를 해주기에… 이전 버전으로 되돌리는 것도 어렵지 않아서 정말 잘 사용했었습니다.

앞으로는 도쿠위키를 활용하는 방법에 대해서 포스팅을 하려고 합니다. 급하신 분은 공식위키(http://www.dokuwiki.org/ko:dokuwiki)를 이용해서 사용법을 배울 수 있습니다. 그렇지만, 위키에 작성된 내용들은 주로 텍스트로만 작성된 것들이 많고, 이전 버전에 대한 내용들이 많아서… 위키만 보고서 사용법을 공부하기에는 조금 어렵습니다.

한 동안 포스팅을 할 주제에 대해서 고민을 하다가 잘 사용하고 있는 툴인 도쿠위키에 대해서 많은 분들이 활용할 수 있었으면 하는 바람에서… 한 동안 포스팅을 할 주제로 선정한 것이고, 아래의 내용들을 차근차근 작성할 예정입니다.

  1. 문서생성/수정/삭제
  2. 기본적인 문법
  3. 계층적으로 문서작성하기
  4. 네임스페이스 활용
  5. 링크를 활용한 문서작성
  6. ACL를 활용한 접근제어
  7. 플러그인 설치
  8. 템플릿 설치
  9. 도쿠위키 업그레이드

대충 생각해본 내용은 위와 같고, 아마 문서를 작성하면서 더 늘어났으면 늘어났지… 줄어들지는 않을 것 같습니다.

08. 참고문서

  1. http://www.dokuwiki.org/ko:install