引言
最近因为项目需要,团队需要一个轻量级的文档中心。调研了一下,方案有以下几种:
- 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服务器:
sudo apachectl start
怎样验证apache服务器确实启动了呢?在浏览器输入“http://localhost”,如果发现“It Works!”的字眼,则说明系统成功启动。
如何修改服务端口?
打开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的文件夹权限,修改方法为,在terminl中输入:
sudo chmod -R 777 dokuwiki所在目录(包含dokuwiki)
权限设置好后,重新刷新浏览器页面,如果出现如下界面,说明部署dokuwiki成功:
配置项根据自己需要填写即可。
install页面输入完成后,即可正式进入dokuwiki页面了。
浏览器中输入http://localhost/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现在的默认主题非常不错,也很适合写博客。
插件
外观
-
wrap:几乎涵盖大多数外观、排版上的要求。
交互
-
discussion:添加评论功能,需要pagelist插件的支持。
-
disqus: 添加评论功能,使用 DISQUS 的服务。
-
avatar:使用gravatar头像,多用于评论里的头像显示
-
captcha:验证码
标签
导航
-
indexmenu:功能强大。但我不喜欢它默认的样式,又懒得去改。
-
indexmenu2:功能也不错,相对indexmenu略微逊色点
-
pagequery:前面两个主要用于生成树状结构的导航,这个完全不一样,非常值得一看。
-
simpleindex: 生成类似内置索引的简单导航,仅适用于顶层命名空间。
-
simplenavi: 生成一个简单的导航。
其他
-
refnotes:文献管理与引用,很灵活很强大,配置上有些复杂。
-
zotero:从zotero引用文献
-
imagereference:类似mediawiki那样给图片加题注并引用。
-
NumberedHeadings:给标题编号
还有很多看起来非常不错的,例如画图、化学、图片/视频浏览等,不过自己没用过。
本文出自:https://www.jianshu.com/p/f1a90a9f6554
文章评论