===== 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