为了写操作手册,顺手搭了个文档管理系统

总是在说任务驱动,什么是任务驱动?简单的说,就是干着一件事的过程中,产生一个新的需求,然后就把另外一件事情给干了。

最近在做一个产品的开发,从设计到推广使用,都是我自己在做,推广使用需要说明文档,也就是操作手册,以前一直觉得,使用word以及邮件的方式实在是太传统了,有太多的弊端:不方便随时更新,不方便汇总。给用户的体验也非常的不好,一封封邮件的发送也着实低效了点。于是,就产生了文档线上的需求。

1. 需求

找个第三方的平台也能基本满足需求,比如在简书创建个专题。但是,想要更好的用户阅读体验,还是需要做成wiki的样式,于是只能自己动手了。如下图wiki文档,左侧为文档目录,右侧为文档内容。线上编辑,线上发布,随时补充更新,以及协同编辑功能等等。简直就是一套系统的赶脚,没错,我就是要搭建一个文档管理系统。

这么个文档管理系统要是自己开发的话,怎么着也得个把月的时间,有点得不偿失。于是,Google了一下,终于找到一个优秀的产品 - MinDoc,关键还是开源。各方面的细节都做得很好,比如:Markdown支持、协同编辑、响应式页面等等。

该系统的开发者,应该跟我有着类似的需求,然后干脆自己开发了MinDoc,这个在线文档管理系统的侧重点在:日常接口文档,数据库字典,手册说明等文档。该系统还内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。

2. 部署

该系统采用Go语言开发的,部署起来也相当的简单,我使用的Linux服务器,安装的CentOS操作系统。安装Go:yum install go,接来下,直接按照下面的官方安装文档操作即可完成。(以下略作修改,以备后用)

第一步 下载可执行文件

请从 https://github.com/lifei6671/mindoc/releases 下载最新版的可执行文件,一般文件名为 mindoc_linux_amd.tar.gz 或 mindoc_linux_amd64.zip 。

第二步 解压压缩包

请将刚才下载的文件解压,请执行如下命令解压:

tar -xzvf mindoc_linux_amd64.tar.gz
// or
unzip mindoc_linux_amd64.zip -x mindoc

第三步 创建数据库

如果你使用的 mysql 数据库,请创建一个编码为utf8mb4格式的数据库,如果没有GUI管理工具,推荐用下面的脚本创建:

CREATE DATABASE mindoc_db  DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

如果你使用的是 sqlite 数据库,请将 conf/app.conf 中的数据库配置成如下,系统会自动创建 sqlite 数据库文件:

db_adapter=sqlite3
db_database=mindoc_db

第四步 配置数据库

请将刚才解压目录下 conf/app.conf.example 重名为 app.conf:

cp conf/app.conf.example conf/app.conf

PS. 如果没有找到conf目录,请到github源码上down下来,放到项目根目录里即可。

打开app.conf文件,修改内容如下:

#数据库配置
db_adapter=mysql
#mysql数据库的IP
db_host=127.0.0.1

#mysql数据库的端口号一般为3306
db_port=3306

#刚才创建的数据库的名称
db_database=mindoc_db

#访问数据库的账号和密码
db_username=root
db_password=123456

在 MinDoc 根目录下使用命令行执行如下命令,用于初始化数据库:

./mindoc_linux_amd64 install

稍等一分钟,程序会自动初始化数据库,并创建一个超级管理员账号:admin 密码:123456

第五步 启动程序

执行如下命令启动程序:

#修改可执行权限
chmod +x mindoc_linux_amd64

#启动程序
./mindoc_linux_amd64

此时访问 http://localhost:8181 就能访问 MinDoc 了。

第六步 配置代理

这一步可选,如果你不想用端口号访问 MinDoc 就需要配置一个代理了。Nginx 代理的配置文件如下:

server {
    listen       80;
    #此处应该配置你的域名:
    server_name  webhook.iminho.me;
    charset utf-8;

    #此处配置你的访问日志,请手动创建该目录:
    access_log  /var/log/nginx/webhook.iminho.me/access.log;
    location / {
        try_files /_not_exists_ @backend;
    }

    # 这里为具体的服务代理配置
    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;
        proxy_set_header   X-Forwarded-Proto $scheme;

        #此处配置 MinDoc 程序的地址和端口号
        proxy_pass http://127.0.0.1:8181;
    }
}

3. 搞定

安装配置完成之后,就可以通过你的域名,进行访问了。在线进行文档编写,可实时更新,团队协作编写,每一个功能点可谓恰到好处,作为中小团队IT文档的管理系统,绝对能够胜任。

这篇文章就是在上面完成的,点击可以查看。


Comments
Write a Comment