今天應學弟要求把它架起來的,
之前玩的時候沒有認真看 LDAP 的設定部分,
conf/local.php 大概這樣改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
... $conf['superuser'] = '@xxx-wiki-admin'; ... // end auto-generated content ... $conf['authtype'] = 'ldap'; $conf['auth']['ldap']['server'] = 'ldap://host.domain.name'; $conf['auth']['ldap']['port'] = 389; $conf['auth']['ldap']['usertree'] = 'ou=people,dc=domain,dc=name'; $conf['auth']['ldap']['grouptree'] = 'ou=group,dc=domain,dc=name'; $conf['auth']['ldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))'; $conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))'; $conf['auth']['ldap']['version'] = 3; $conf['auth']['ldap']['starttls'] = 1; |
最主要是 super user 群組的設定,
原本以為它只能寫死一個 user id 在上面而已,
後來發現也能跟傳統認證方式一樣把它設定成群組,
這樣 DokuWiki 會透過 LDAP 去判斷 user 是否在 xxx-wiki-admin 這個 group 裡,
是的話就當成 super user 看待,
ACL 設定的部分也是可以如法泡製,
因為考慮有多個 wiki 所以我 group name 就取得長一點了;
把某個 user 加入一個 group 應該沒什麼難度,
以上面的例子來說就是把要當 admin 的 user id 加入 xxx-wiki-admin 這個 group 就好了,
有裝 ldapscripts 的直接打 ldapaddusertogroup admin-id xxx-wiki-admin 這樣就行了。
附帶一提 DokuWiKi 已經把檔案庫從 darcs 搬到 git 上了,
所以要更新的話重抓再裝一遍把檔案複製上去比較快。