우분투나 데비안 공통으로, 패키지가 존재한다.
주의: dokuwiki는 은근히 자주 업데이트 되는데, 이렇게 하면, 패키지를 통해서만 업데이트 하겠다는 선언이나 마찬가지다. -_-
중간에, 접속주소를 묻는데, 필자는 http://서버명/dokuwiki 가 너무 길다고 생각하여 http://서버명/wiki 로 설치되도록 했다. 그리고 패키지 삭제시 데이터 디렉토리도 삭제할것이냐고 묻는데... 당연히 no. (ㄷㄷㄷ) 이런거 함부로 삭제하게 하면, 피 보는 수가 있다.
이 설정은 어디서 또 바꿀 수 있냐면...
/etc/apache2/conf.d/dokuwiki.conf 에서 변경할 수 있다. 이걸 열어보면, allow from 127.0.0.1 로 다른 서버에서는 접속이 불가능하도록 매우 안전하게 해놓았다. all로 바꾸면 어느 곳에서나 접속할 수 있다. (이거 안 고치면, forbidden뜸). 교내 IP대역만 접속하도록 만들고 싶을수도 있겠다...
위키의 데이터는 /var/lib/dokuwiki에 저장된다. 역시, 700권한의 매우 안전한 -_- 곳으로 되어 있다.
설정의 fine-tuning은 좀 해야 한다. 그냥 놔두면 anonymous wiki가 되는 것 같은데... 필자는, OpenLDAP의 사용자만 이 위키를 볼 수 있도록 제한하고 싶다. 로그인 안 한 사람은 아무것도 할 수 없어야 하고, 로그인 한 사람은 읽고 쓰고 다 할 수 있어야지 된다.
/etc/dokuwiki 에서.
cp local.php.dist 를 local.php로 이름을 바꾼다.
<?PHP 는 있는데 ?>로 닫진 않는 파일로 되어 있는데, 그대로 놔두면 됨.
이제 이 파일을 취향에 맞게 고치면, 필자가 원하는 설정이 나올 것이다.
http://www.dokuwiki.org/auth:ldap
이 문서를 컨닝했다.
거의 긁어 붙여도 동작 했는데, ldap protocol을 3이라고 해야지 되었음.
그리고... ldap의 사람들이 관리권한을 갖도록 해야 하니...
드디어 관리페이지로 왔군. 휴...
여기까지 설정:
이렇게 되어 있다.
이제 dokuwiki에 로그인하면, admin 기능 버튼이 보인다. disable Dokuwiki actions 에서, register기능을 못 하게 했다. 아무나 가입하면 곤란하니까.
$conf['disableactions'] = 'register';
이 한 줄을 추가했다.
이제 또 뭐가 문제인고 하니... 위키 페이지를 누구나 보고 바꿀 수 있다는 점이다.
Amin페이지에서, Access Control List Management 를 잘 -_- 수정해준다.
@ALL의 권한을 none으로 해주면 됨.
# apt-get install dokuwiki쉽죠?
주의: dokuwiki는 은근히 자주 업데이트 되는데, 이렇게 하면, 패키지를 통해서만 업데이트 하겠다는 선언이나 마찬가지다. -_-
중간에, 접속주소를 묻는데, 필자는 http://서버명/dokuwiki 가 너무 길다고 생각하여 http://서버명/wiki 로 설치되도록 했다. 그리고 패키지 삭제시 데이터 디렉토리도 삭제할것이냐고 묻는데... 당연히 no. (ㄷㄷㄷ) 이런거 함부로 삭제하게 하면, 피 보는 수가 있다.
이 설정은 어디서 또 바꿀 수 있냐면...
/etc/apache2/conf.d/dokuwiki.conf 에서 변경할 수 있다. 이걸 열어보면, allow from 127.0.0.1 로 다른 서버에서는 접속이 불가능하도록 매우 안전하게 해놓았다. all로 바꾸면 어느 곳에서나 접속할 수 있다. (이거 안 고치면, forbidden뜸). 교내 IP대역만 접속하도록 만들고 싶을수도 있겠다...
위키의 데이터는 /var/lib/dokuwiki에 저장된다. 역시, 700권한의 매우 안전한 -_- 곳으로 되어 있다.
설정의 fine-tuning은 좀 해야 한다. 그냥 놔두면 anonymous wiki가 되는 것 같은데... 필자는, OpenLDAP의 사용자만 이 위키를 볼 수 있도록 제한하고 싶다. 로그인 안 한 사람은 아무것도 할 수 없어야 하고, 로그인 한 사람은 읽고 쓰고 다 할 수 있어야지 된다.
/etc/dokuwiki 에서.
cp local.php.dist 를 local.php로 이름을 바꾼다.
<?PHP 는 있는데 ?>로 닫진 않는 파일로 되어 있는데, 그대로 놔두면 됨.
이제 이 파일을 취향에 맞게 고치면, 필자가 원하는 설정이 나올 것이다.
http://www.dokuwiki.org/auth:ldap
이 문서를 컨닝했다.
거의 긁어 붙여도 동작 했는데, ldap protocol을 3이라고 해야지 되었음.
그리고... ldap의 사람들이 관리권한을 갖도록 해야 하니...
드디어 관리페이지로 왔군. 휴...
여기까지 설정:
<?php
/*
This is an example of how a local.php coul look like.
Simply copy the options you want to change from dokuwiki.php
to this file and change them
*/
$conf['title'] = 'LAB internals'; //what to show in the title
$conf['superuser'] = '@lab_people'; // ssl_people group is superuser
$conf['useacl'] = 1;
$conf['openregister']= 0;
$conf['authtype'] = 'ldap';
# $conf['auth']['ldap']['server'] = 'localhost';
# $conf['auth']['ldap']['port'] = 389;
$conf['auth']['ldap']['version'] = '3';
$conf['auth']['ldap']['server'] = 'ldap://localhost:389'; #instead of the above two settings
$conf['auth']['ldap']['usertree'] = 'ou=People,dc=xxx,dc=ac,dc=kr';
$conf['auth']['ldap']['grouptree'] = 'ou=Groups,dc=xxx,dc=ac,dc=kr';
$conf['auth']['ldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
$conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))';
# authentication debugging
# $conf['auth']['ldap']['debug'] = 1;
이렇게 되어 있다.
이제 dokuwiki에 로그인하면, admin 기능 버튼이 보인다. disable Dokuwiki actions 에서, register기능을 못 하게 했다. 아무나 가입하면 곤란하니까.
$conf['disableactions'] = 'register';
이 한 줄을 추가했다.
이제 또 뭐가 문제인고 하니... 위키 페이지를 누구나 보고 바꿀 수 있다는 점이다.
Amin페이지에서, Access Control List Management 를 잘 -_- 수정해준다.
@ALL의 권한을 none으로 해주면 됨.