生活不只是眼前的苟且,还有诗和远方!

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

引言

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

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

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

安装

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

《简单免费的文档中心——dokuWiki搭建指南》
下载页面

开启web容器

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

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

sudo apachectl -v

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

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

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

sudo apachectl start

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

《简单免费的文档中心——dokuWiki搭建指南》
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存在权限问题的提示

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

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

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

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

配置项根据自己需要填写即可。
install页面输入完成后,即可正式进入dokuwiki页面了。
浏览器中输入http://localhost/dokuwiki/即可正式开启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

最近在弄个人文档站,考虑了几个wiki,首先是mediawiki,无奈VPS太低端,怕跑不起来。然后就考虑了下HDwiki,并且用了一段时间。但是HDwiki的模版样式实在太难看,也没找到大气稳重的模版,所以用几天就想放弃。剩下pmwiki和Dokuwiki,这两个都是直接使用文本存储的,不需要数据库。最终选择了Dokuwiki,因为感觉dokuwiki界面好看些,中文文档多一些,配置相对容易些。

11月1号开始折腾,2号搭建好wiki,并且写了一个建站的文档用于团队培训。感觉dokuwiki确实有很多不错的特性,写起来相当舒适。

wiki间连接

可以用[[wp>词条名]]的方式指向其他wiki,互联网上制造重复内容是很没意思的,所以当其他wiki有相关词条的时候用wiki间连接指向该词条是很方便的。

wiki间词条可以自定义,[[wp>词条]]默认是指向维基百科英文站的,但是你可以修改/conf/interwiki.conf使之指向中文维基百科,另外可以自定义指向互动百科[[hd>词条名]]、百度搜索[[Baidu>词条]]的快速连接。可惜百度百科没有使用词条名方式的链接,不能用wiki间连接指向百度百科。

权限控制

ACL管理器可以细致的设置某个命名空间甚至某个页面的访问权限,权限控制还是比较完善的。

模版和插件

Dokuwiki有不少模版和插件,这里推荐vector模版,仿维基百科的模版,很强大,可以自定义导航、自定义工具栏、自定义公告和页脚,界面看起来也大气稳重,还支持自定义用户CSS,用这个将默认的内容和目录字体改大一些很方便,默认的字号来显示中文看着实在是吃力。

关于插件,试用了两个数学插件,mathjax,phpmathpublisher,感觉mathjax虽然公式挺好看,但速度太慢了,毕竟要连接远程服务器,在localhost上的wiki都要加载半天,可能有速度快的服务器,但是懒得去找了。phpmathpublisher不错,直接本地生成公式图片,速度很快。

还有一个排版插件,wrap,据说很强大,试用中。

附件管理

dokuwiki可以在编辑器里上传图片,这一点觉的比mediawiki的好,在mediawiki的编辑器里我没有找到上传图片的功能,貌似要单独上传然后用文件名引用,觉的这样太麻烦。

版本管理

上面的都是优点,下面说说觉的不爽的地方,首先是旧版本的管理,居然没有删除旧版本的功能,貌似还要自己写脚本来清理,这样会比较麻烦,个人站还好,大站的话用不起啊。

关于分类

不喜欢用命名空间分类,想直接用 //网址/词条名 这样的伪静态样式,可是这样的话就意味着所有的词条都要放到跟命名空间下,分类浏览就会不方便了,可是用了命名空间,伪静态就会变成 //网址/命名空间/词条名,很不爽。看来文本组织数据还是没有数据库强大。

不过这些问题不会影响我继续使用Dokuwiki,整体上来说Dokuwiki还是很好用的。

Dokuwiki插件与主题推荐

原文地址:https://www.lainme.com/doku.php/blog/2010/08/dokuwiki%E6%8F%92%E4%BB%B6%E4%B8%8E%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90

只是一个列表和简要的功能介绍,具体使用看相关文档

主题

Vector是模仿Wikipedia/Mediawiki最新样式的主题,自定义比较能力强。另外其实Dokuwiki现在的默认主题非常不错,也很适合写博客。

如果希望自己写,可以参考这里的文档以及Dokuwiki提供的一个初始模板

插件

外观

  • wrap:几乎涵盖大多数外观、排版上的要求。

交互

  • discussion:添加评论功能,需要pagelist插件的支持。
  • disqus: 添加评论功能,使用 DISQUS 的服务。
  • avatar:使用gravatar头像,多用于评论里的头像显示
  • captcha:验证码

标签

  • tag:用标签来组织内容
  • tagentry:在编辑栏下提供所有标签的列表,方便选择
  • cloud:标签云

导航

  • indexmenu:功能强大。但我不喜欢它默认的样式,又懒得去改。
  • indexmenu2:功能也不错,相对indexmenu略微逊色点
  • pagequery:前面两个主要用于生成树状结构的导航,这个完全不一样,非常值得一看。
  • simpleindex: 生成类似内置索引的简单导航,仅适用于顶层命名空间。
  • simplenavi: 生成一个简单的导航。

其他

还有很多看起来非常不错的,例如画图、化学、图片/视频浏览等,不过自己没用过。

Dokuwiki使用感受

本文出自:https://www.jianshu.com/p/f1a90a9f6554

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据