DokuWiki 是一个开源的 wiki 项目, 可方便进行知识和内容的管理和分享,不用安装数据库,内置权限管理,书写直观方便,有大量的插件支持。
特别适用于企业内部的内容和知识管理,只允许内部员工编辑和查阅的场景,也可以用于个人博客。
安装
- 添加虚拟主机:由于我的 阿里云CentOs服务器 安装了oneinstack的一键部署PHP、JAVA、Nginx等环境,所以域名配置很方便,照着文档一步一步做就可以了
cd /root/oneinstack #必须进入 oneinstack 目录下执行
./vhost.sh #如下图
上图中 directory 为网站根目录,脚本执行后会自动创建,部署网站时请将代码上传到该目
录(目录、子目录和文件权限都为:www),对应 Nginx 配置文件路径为:
/usr/local/nginx/conf/vhost/www.oneinstack.com.conf (www.oneinstack.com 为绑
定的域名)
- 到 DokuWiki 官网下载:https://www.dokuwiki.org/zh:dokuwiki
curl -O https://download.dokuwiki.org/out/dokuwiki-c5525093cf2c4f47e2e5d2439fe13964.tgz
- 解压下载的 dokuwiki
tar zxvf dokuwiki-c5525093cf2c4f47e2e5d2439fe13964.tgz
- 把解压文件拷到上面域名配置好的目录
cp -rf /dokuwiki/* /data/wwwroot/wiki.yourdomain.com
- 文件授权
网站根目录权限遵循:
文件 644, 文件夹 755 ,权限用户和用户组 www
如出现文件权限问题时,请执行下面 3 条命令:
chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;
初始化
dokuwiki 在第一次访问时,会进入初始化页面,即install.php, 配置一下管理员登录账号和密码就可以了;
插件
dokuwiki 的一个强悍功能是可以安装大量的扩张插件,下面介绍常用的插件
- markdowku 兼用 markdown 语法;
- ImgPaste Plugin chrome 浏览器支持图片的复制粘贴功能;
- EditTable Plugin 可编辑的 table 界面;
- IndexMenu Plugin 树级索引菜单;
- PageQuery Plugin 按时间分类的索引;
- [SyntaxHighlighter3 Plugin)(https://www.dokuwiki.org/plugin:syntaxhighlighter3) 代码高亮;
配置
- 增大页面宽度
打开文件 lib/tpl/dokuwiki/style.ini
__site_width__ = "105em"; 默认是 75em
下图默认宽度;75em
下图修改后的宽度:105em
- 左边添加树级索引菜单
树级索引菜单需要插件支持:IndexMenu Plugin
添加一个 sidebar 页面(如何添加页面? 参考DokuWiki 使用),添加如下内容
{{indexmenu>...#1|js#shiki_brave.png navbar id#random}}
效果如下
- 美化树级索引, 去掉红色三角形
打开文件 lib/plugins/indexmenu/style.css
找到下面的 .dtree .indexmenu_tocbullet 这个样式,把 background 注释掉,如
/*tocbullet property*/
.dtree .indexmenu_tocbullet {
position: absolute;
/*background: transparent url(images/toc_bullet.gif) no-repeat scroll;*/
vertical-align: middle;
width: 11px;
height: 11px;
}
- 隐藏sidebar 树节点
进入管理配置页面,滚到 indexmenu 配置项, 在
plugin»indexmenu»skip_index 这项设为 /(sidebar|.*:sub.*|.*:api$)/, 即把这些页面跳过,不生成树节点
- 文件首行标题设为文件的显示标题