简单免费的文档中心—dokuWiki搭建指南

引言

如果说知识就是力量,那么知识库就是弹药库了。不管是一个技术型企业,还是一个热衷技术的个人,如果能有一个能够方便记录、保存以及检索的知识库,想必是极好的。如果恰好你也并没有充足的预算去购买相应的商用解决方案,那么这篇文章兴许对你有点帮助。

Dokuwiki作为一个wiki引擎,软件主体十分小巧但功能非常强大而又灵活。它语法简单,为易写性、易读性提供保障。它提供权限管理和安全策略,能够保证信息库的安全性。它又是开源的,这给熟悉PHP的开发者留下了无限的可能。它还有一个十分活跃的社区论坛,在那里能找到很多关于安装和使用的有用信息,另外,非常丰富的扩展插件也诞生于此。如果有兴趣,你也可以注册一个账号,在社区论坛里提出需求和解决别人提出的需求。
如果提供一个中小团队或者个人使用,那么Dokuwiki非常合适。

最近因为项目需要,团队需要一个轻量级的文档中心。调研了一下,方案有以下几种:

  • Confluence:最有名,最强大,最通用,最老牌,Atlassian,公司级的wiki就是这货。缺点是团队超过10人用时需要付费,而且价格不菲。:( 忍痛Pass
  • Jekyll:著名开源博客工具,大有取代WordPress的趋势,部署相对简单,插件强大,完全免费。缺点是貌似只能够通过和Git交互来新建和更新文章,没有自带的编辑页面。
  • Dokuwiki:简单,轻量,支持PHP即可使用,插件丰富,权限控制强大,完全免费,有编辑页面,不懂代码也可以使用。缺点是缺乏对Markdown的原生支持(即使装了插件,也无法完全解析Markdown)

因此对比一番,果断选择Dokuwiki作为文档中心。

安装

首先去官网下载页面下载最新版本的Dokuwiki,根据自己需要动态打包,不需要安装:

下载页面

开启web容器

笔者环境是Mac,因此下文以mac为例。其它系统参考Dokuwiki的install页面.

Mac系统由于自带了apache,所以打开即可。先输入

sudo apachectl -v

查看系统apache版本,确认apache确实存在:

apache

确定apache确实存在之后,启动apache服务器:

sudo apachectl start

怎样验证apache服务器确实启动了呢?在浏览器输入“http://localhost”,如果发现“It Works!”的字眼,则说明系统成功启动。

apache index page

如何修改服务端口? 打开Finder,进入/etc/apache2/httpd.conf目录(cmd+Shift+G),编辑httpd.conf文件,找到

Listen 80

一行,改成你想要的端口即可。

至此,web 容器启动完成。

部署

Mac下Apach的DocumentRoot目录是/Library/WebServer/Documents,将dokuwiki解压缩后的文件夹拷入。

在termial输入php -v查看php版本。如果没有,请参照PHP安装教程安装PHP

在确定PHP已经安装的前提下,修改PHP文件配置:打开/etc/apache2/httpd.conf文件,查找#LoadModule php5_module,去掉前面的注释(#号),保存,退出。 重启Apache

sudo apachectl stop
sudo apachectl start

至此部署过程完成

配置

打开浏览器,输入http://localhost/dokuwiki/install.php,进入dokuwiki的配置页面。 如果遇到页面提示说dokuwiki权限存在问题,如下图所示:

Dokuwiki存在权限问题的提示

则需要修改dokuwiki的文件夹权限,修改方法为,在terminl中输入:

sudo chmod -R 777 dokuwiki所在目录(包含dokuwiki)

权限设置好后,重新刷新浏览器页面,如果出现如下界面,说明部署dokuwiki成功:

dokuwiki

配置项根据自己需要填写即可。 install页面输入完成后,即可正式进入dokuwiki页面了。 浏览器中输入http://localhost/dokuwiki/即可正式开启Dokuwiki之旅。

Dokuwiki

迁移时可能遇到的问题

如果迁移Dokuwiki时遇到了

The datadir ('pages') at ./data/pages is not found, isn't accessible or writable.

的问题,修改dokuwiki相应目录权限即可。

如果在Ubuntu下运行时发现打开install.php显示的确实php源码,说明php运行环境没有准备好,这时请查看Ubuntu版本,并且参考Dokuwiki的install指导进行安装配置。笔者这里是Ubuntu 16.04, PHP7,因此需要安装

sudo apt-get install apache2 libapache2-mod-php7.0

下一次可以写一篇有关Dokuwiki的plugin和部署到其他系统的文章。 EOF

https://www.dokuwiki.org/dokuwiki

来源: https://cloud.tencent.com/developer/article/1337420

---------------

上面主要是mac上的安装方法等, 下面是从网络上搜索到的, 其他方法供参考

只需要一台安装了Web server的机器即可。如果访问量较小,哪怕是一台旧电脑都能胜任。
如果仅仅是想体验一下这套软件,那么你甚至可以在Dokuwiki的官方下载页面,选择下载版本的时候,勾选“Include Web-Server”的选项,这样就可以得到一个仅10MB左右的绿色版本MicroApache(仅供windows系统使用)。解压后,随意放在任何一个windows系统中,都可以直接运行以提供Web服务,哪怕放U盘里都是可以的。
如果你想要能够提供更多人访问,而且更稳定的Web服务,那么就需要安装全套的web server了。如果你是web开发或部署的专业人士,那么这一步对你来说真是再简单不过了。如果你不熟悉这个领域,也不必慌张,因为现在有一些集成的可以使用,一次安装即可完成所有相关软件的部署。
 Linux系统中推荐使用XAMPP。
 Windows系统中推荐使用WAMP,因为XAMPP只有32位版本供Windows使用。
安装好Web server就已经成功大半了。因为接下来的事情就很简单了。

下载Dokuwiki软件包,推荐使用最新的稳定版。官方下载在此:https://www.dokuwiki.org/dokuwiki
解压软件包,得到的目录放在XAMPP(假设你安装的是XAMPP)安装目录中的“htdocs”目录下。
启动web server。
用浏览器访问:http://IP地址:端口号/dokuwiki/install.php
完成Dokuwiki的初始化配置。
好了,一个崭新的wiki系统新鲜出炉。
开源即是为所欲为

开源让个性化定制更简单,大致有三种方法:

系统配置。Dokuwiki提供了大量的配置项目,关于页面布局、颜色等等相关的个性化选项。
扩展插件。Dokuwiki有庞大的插件库以供选择,选择合适的插件可以满足更广更深度的定制化需求。
源码定制。熟悉PHP语言开发者的专属技能包,为所欲为吧。
4?怎么还会有第4种方法?如果你看了第3条,有点小情绪,那么这一条就是来安慰你的。找到你的dokuwiki安装目录。
a) dokuwiki/lib/tpl/dokuwiki/images/
i. 替换logo.png来更换界面的Logo。
ii. 替换favicon.ico来更换浏览器标签上的图标。
b) dokuwiki/lib/tpl/dokuwiki/tpl_footer.php
i. 修改页脚的代码都在这里,超链接和图片都能改。
c) 增加/删除上传文件类型
i. 用户自定义类型:dokuwiki/conf/mime.local.conf
ii. 系统默认支持类型:dokuwiki/conf/mime.conf
d) 修改时区:dokuwiki/inc/init.php, date_default_timezone_set(‘PRC’)
e) Linux环境中修改上传文件大小限制
i. /etc/php.ini文件中的upload_max_filesize
f) Windows环境中尽管会提示上传文件过大,但好像实际并不会限制上传。
如果你是个充满好奇心且动手能力还过得去的人,这时候再看看你的wiki界面,是不是有了大变样。如果还不能达到满意,也不必急于一时,因为这些并不影响Dokuwiki的使用,可以放在以后慢慢来。
功能很强大,使用很简单

官方使用手册,您最好的朋友:https://www.dokuwiki.org/manual
Dokuwiki本身的功能再加上数量庞大的插件,可以说非常强大了。那么问题来了,单看每一个功能都很好很强大,上手使用也很简单,不管是官方文档还是插件说明,都非常详尽完备。但面对这一切,好像有点迷茫,甚至有点慌。为了缓解这尴尬的场面,让我们来划一划重点。了解了这些,你就可以从容的构建自己的wiki知识库,至于其他的方面,可以慢慢补充。但如果重点没把握好,以后要面对的可能就不是慢慢补充了,也许是安全隐患,或者是推倒重来。

给每个wiki使用者创建一个账号,并将其添加到相应的群组当中。

给页面设置适当的名字空间,不同的部门或知识模块应该有不同的名字空间,不同的名字空间中页面可以重名。

按名字空间设置访问权限。给不同的群组适当的访问权限设定。
关于插件,Dokuwiki发行版本集成了一些好用且常用的,另外还有一些也推荐使用,真的是不用不知道,一用离不掉,谁用谁知道,不是开玩笑。

Columns Plugin:这个插件可以容易的让一个页面有多个列,这样页面空间利用的就更加紧凑,设计得当的话也会更加美观。

imgpaste plugin:更容易的上传图片。

Move plugin:重命名页面的同时,也可以修改它的名字空间,而且同时自动修改所有引用此页面的超链接。

ToDo:如果有个页面用来记录项目的开发目标、相关时限以及进展状态,那么这个插件也许能帮到你,值得关注。

Bookcreator Plugin:导出wiki的页面到文件(pdf或者text)。需要配合其他插件使用。
a) 导出pdf文件需要同时安装”dw2pkf”插件。
b) 导出odt文件需要同时安装“OpenDocument Export”插件。
c) 导出text文件需要同时安装“text”插件。
d) 详见:https://www.dokuwiki.org/plugin:bookcreator