Dokuwiki 的日常维护
对于多用户使用的 Dokuwiki 站点,还要执行用户管理和ACL管理的任务。
用户管理
管理员可以在管理界面的用户管理器中管理用户。
- 管理员可以在用户列表的显示部分的上方填写“过滤器”
- 管理员可以在该界面中创建新用户(并可以给用户发送提示邮件)
- 管理员可以在该界面中删除选中的用户
- 若系统没有屏蔽注册功能,则任何用户都可以在登录界面下链接到注册用户的界面
配置用户访问控制
访问控制列表(ACL)管理器
管理员可以在管理界面的访问控制列表(ACL)管理器中管理ACL。
- 要设置某个页面的ACL,首先进入该页面,然后再点击 管理 —> 访问控制列表(ACL)管理器
- 要设置某个 namespace 的ACL,首先进入该 namespace,然后再点击 管理 —> 访问控制列表(ACL)管理器
- 若您对此界面的使用存在疑问,可以参考如下的链接理解 Dokuwiki 的 ACL 管理机制
评论管理
安装 Discussion Plugin 之后,管理界面会多一个 Moderate Discussions 管理工具:
Moderate Discussions 管理工具界面如下:
您可以在此界面中管理评论:
- off — 不显示评论框
- open — 开放评论
- close — 显示现有评论并禁止继续评论
选中指定的评论之后可以将其删除。
备份 Dokuwiki
要备份的核心内容包括:
|-- conf
| |-- acl.auth.php
| |-- local.php
| `-- users.auth.php
|-- data
| |-- attic
| |-- media
| |-- meta
| `-- pages
`-- lib
|-- plugins -- 此目录下您安装的插件
`-- tpl -- 此目录下您安装的模板
下面讲述在 Linux 下使用 rsync 进行远程备份的方法。
1、创建 rsync 使用的排除文件
vi dw-excludes.txt
- COPYING - README - VERSION - index.php - install* - doku.php - feed.php - sitemap.xml.gz - bin/ - inc/ + conf/acl.auth.php + conf/local.php + conf/users.auth.php - conf/* - data/cache/ - data/locks/ - data/tmp/ + lib/plugins/ - lib/plugins/acl/ - lib/plugins/config/ - lib/plugins/importoldchangelog/ - lib/plugins/importoldindex/ - lib/plugins/info/ - lib/plugins/plugin/ - lib/plugins/revert/ - lib/plugins/usermanager/ - lib/plugins/action.php - lib/plugins/admin.php - lib/plugins/syntax.php + lib/tpl/ - lib/tpl/default/ - lib/*
此文件既用于备份,也用于更新(参见下一小节)。
2、创建备份脚本
vi dw-backup.sh
#!/bin/bash ##################################### # dw-backup.sh # # backup dokuwiki website ##################################### # 请根据需要修改如下变量的值 RmtUser='myname' RmtIP='1.1.1.1' RmtPath='dokuwiki' BackupRoot=/backups/$RmtIP Excludes="--exclude-from=/some/dir/dw-excludes.txt" ##################################### /usr/bin/rsync -azP --delete $Excludes \ $RmtUser@$RmtIP:$RmtPath $BackupRoot
3、使用脚本备份 DokuWiki
备份时使用如下命令:
chmod +x dw-backup.sh ./dw-backup.sh
您也可以安排 cron 任务以便日后更新:
# crontab -e
05 1 * * * /path/to/dw-backup.sh
更新 Dokuwiki
下面讲述在 Linux 下使用 rsync 进行版本更新的方法。
假设:
- 您的 dokuwiki 系统在
/some/dir/dokuwki目录下 - 将下载的最新版本的
.tgz文件存在了/some/dir/目录下
1、创建更新脚本
vi update-dw.sh
#!/bin/bash ############################################## # update-dw.sh # # use rsync update dokuwiki # # $1 -- Dukuwiki Version (ex: 2008-05-05) ############################################## # 请根据需要修改下面变量的值 BaseDir='/some/dir' DokuDir='dokuwiki' ExcludesFile="$BaseDir/dw-excludes.txt" ############################################## TmpDir="$BaseDir/dokuwiki-$Version" if [ $# -eq 0 ]; then Version='2008-05-05'; fi mkdir -p $TmpDir cd $BaseDir rsync -aP --exclude-from=$ExcludesFile \ $BaseDir/$DokuDir/ \ $TmpDir/ mv $BaseDir/$DokuDir $BaseDir/$DokuDir-old tar -xzf dokuwiki-$Version.tgz mv $TmpDir $BaseDir/$DokuDir cp -f $DokuDir/.htaccess.dist $DokuDir/.htaccess rm -f $ExcludesFile
2、使用脚本进行更新
chmod +x update-dw.sh; ./update-dw.sh 2008-05-05
执行脚本之后:
- 若您启用了 Apache 的 .htaccess,请编辑之
- 适当修改目录权限
chown -R apache.apache dokuwiki(Redhat/CentOS)chown -R www-data.www-data dokuwiki(Ubuntu/Debain)- 参考 wiki:install:permissions (其他系统)
- 使用“插件管理器”更新插件
Tips and Tricks
更多内容请参考 Tips and Tricks











