dokuwiki 是一套不错的wiki系统,适合在团队内部做知识分享。
1. 下载dokuwiki源码
下载url --- http://download.dokuwiki.org, 下载 dokuwiki-stable.tgz.
2. 解压源码
#tar -zvxf dokuwiki-stable.tgz
#cd dokuwiki-2014-09-29d
#cp -r ~/Downloads/dokuwiki-2014-09-29d ./dokuwiki
3. 安装前修改文件夹权限
在浏览器输入:http://127.0.0.1/install.php
提示nginx权限不足。
查询nginx所属用户和用户组:
localhost:phpwork jiangzhiqiang$ ps aux|grep nginx root 55187 0.0 0.0 2456348 2728 ?? Ss 26 515 0:00.03 nginx: master process nginx jiangzhiqiang 64653 0.0 0.0 2441988 652 s002 R+ 11:30下午 0:00.00 grep nginx nobody 64553 0.0 0.0 2464540 1528 ?? S 10:37下午 0:00.01 nginx: worker process
可知nginx所属用户为nobody, 再查询nobody所属用户组。
localhost:phpwork jiangzhiqiang$ groups nobody nobody everyone localaccounts com.apple.sharepoint.group.1 _lpoperator
可知nobody所属用户组为nobody。
然后,分配dokuwiki目录的权限给nobody用户。
sudo chown -R nobody:nobody dokuwiki
在执行install前,在左上角先选择语言为"zh",否则安装英文版本。
4. 安全
安装后,需要删除install.php。
官方要求data、conf、bin、inc这四个目录是不能通过web访问浏览的,所以,我们要设置这些目录的权限,保证网站的数据安全。
解决办法:
在nginx.conf配置文件的server段加上下面的代码:
location ~ /(data|conf|bin|inc)/ { deny all; }
或者通过.htaccess文件禁止访问:
location ~ /\.ht { deny all; }
5. 授权
安装后,需要对 dokuwiki 的data和conf目录进行授权, 因为data是文件目录,conf是配置目录,需要有执行权限。
sudo chmod -R 777 conf/
sudo chmod -R 777 data/
6. 支持使用侧边栏
dokuwiki默认不显示侧边栏,可以使用arctic模板插件来支持侧边栏。
在arctic模板中,侧边栏的管理如增加内链、增加子栏目,需要通过编辑器的功能来增加。
链接的语法为:[[space:file|linkname]],如果 [[tech:git|Git]],表示Git的链接为tech命名空间下的git文件,url为 http://hostname/id=tech:git
7. 命令空间概念
在dowuwiki中,一个很重要的概念是命名空间,命名空间可以对页面进行分类的作用,作用类似于文件夹和文件。
在dowuwiki中,url的表现格式是 http://hostname/doku.php?id=namespace:filepage,namespace可以分配给某些用户组权限,这样方便进行权限分配与管理。
创建命名空间:
只需要在页面名前使用冒号就可以创建,如 doku.php?id=:namespace1