DokuWiki
DokuWiki是一个针对小公司文件需求而开发的Wiki引擎,用程序设计语言PHP开发,并以GPL 2发布。 DokuWiki基于文本存储,所以不需要数据库,其数据文件在Wiki系统外也是可读的。
https://www.dokuwiki.org https://zh.wikipedia.org/zh-cn/DokuWiki
系统要求
- 支持 PHP 的WEB服务器;
- Apache、Nginx等;
- PHP 4.3.3 或更高的版本。
安装DokuWiki
- 步骤1: 从下载页面下载最新版的DokuWiki。
- 步骤2: 解压缩下载的压缩包,并上传/复制到你的网站空间中。
- 步骤3: DokuWiki目录中的conf、data和lib文件夹需要执行权限(777)。
- 步骤4: 通过浏览器访问你的DokuWiki中的install.php,并按照页面给出的提示进行。
命名空间
在dowuwiki中,一个很重要的概念是命名空间(namespace),命名空间可以对页面进行分类的作用,作用类似于文件夹和文件。
支持中文
修改:DokuWiki安装目录下的/inc/pageutils.php
注释如下两行:
// $file = urlencode($file);\\
// $file = str_replace('%2F','/',$file);
注释如下一行:
// return urldecode($file);
注释后,添加如下一句
return $file;
自定义排序
在需要排序的每个页面上使用语法,如以下声明页面将排列在同级页面的第二位。
{{indexmenu_n>2}}
然后在自定义边栏sidebar页面中使用如下类似的代码:
{{indexmenu>#3|navbar msort nsort}}
- #4 = 显示3级目录树
- navbar = 将树转换为自动导航操作,打开和关闭树的一部分
- msort = 通过自定义元数据对页面进行排序
- nsort = 根据页面排序选项对名称空间进行排序(需要先有msort)
安全配置
1、安装完成后,需要删除install.php。
2、以下目录不应该从网络直接访问:
- data
- conf
- bin
- inc
直至“管理”中不出现以下提示:
方法1:使用 Apache 服务器的,在/etc/httpd/conf目录下编辑httpd.conf文件:
<Directory /var/www/html/dokuwiki> order deny,allow allow from all </Directory> <LocationMatch "/dokuwiki/(data|conf|bin|inc)/"> order allow,deny deny from all satisfy all </LocationMatch>
方法2:使用 Nginxe 服务器的,在nginx.conf配置文件的server段加上下面的代码:
location ~ /(data|conf|bin|inc)/
{
deny all;
}
如果web服务器另外的应用中包含目录data | conf | bin | inc | vendor,则需要通过在Wiki安装文件夹中扩展LocationMatch来避免冲突。
注意:请找对需要修改的.conf配置文件。
方法3:为了避免任何对上述目录的访问,最安全的方法就是把它们从 Web 服务所谓的“根文档”中移出来。
更多官方安全指南:https://www.dokuwiki.org/zh:security
权限控制
通过管理后台的访问控制列表(ACL)管理器对用户进行权限控制,如无意维护一个开放wiki,设置所有用户在根目录的仅读取权限即可。
关键设置
在“配置管理器”中进行关键设置,特别留意基本设置里的tittle/站点标题、start/开始页面、lang/语言、sidebar/侧边栏;链接设置里的target»wiki/内部链接、target»extern/外部链接。其他DokuWiki设置及插件设置很多,有必要花功夫了解。
改写DokuWiki
DokuWiki和其他众多CMS一样基于模块化设计,更多功能提供和优化需要安装插件和模板。
使用DokuWiki
本文不作DokuWiki日常使用的详细讲解,具体可查阅以下——
DokuWiki格式语法说明:https://www.dokuwiki.org/zh:wiki:syntax
以及
DokuWiki 官方用户手册:https://www.dokuwiki.org/zh:manual

