===== 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> N}}语法,如以下声明页面将排列在同级页面的第二位。
{{indexmenu_n>2}}
然后在自定义边栏sidebar页面中使用如下类似的代码:
{{indexmenu>#3|navbar msort nsort}}
* #4 = 显示3级目录树
* navbar = 将树转换为自动导航操作,打开和关闭树的一部分
* msort = 通过自定义元数据对页面进行排序
* nsort = 根据页面排序选项对名称空间进行排序(需要先有msort)
==== 安全配置 ====
1、安装完成后,需要删除install.php。
2、以下目录不应该从网络直接访问:
* data
* conf
* bin
* inc
直至"管理"中不出现以下提示:
{{:30.information_technology:25.cms:20191106153552.png|}}
方法1:使用 Apache 服务器的,在/etc/httpd/conf目录下编辑httpd.conf文件:
order deny,allow
allow from all
order allow,deny
deny from all
satisfy all
方法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