开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。
可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。
MinDoc 功能
项目管理,可以对项目进行编辑更改,成员添加等。
文档管理,添加和删除文档,文档历史恢复等。
用户管理,添加和禁用用户,个人资料更改等。
用户权限管理 , 实现用户角色的变更。
项目加密,可以设置项目公开状态,私有项目需要通过Token访问。
站点配置,二次开发时可以添加自定义配置项。
附件管理,可管理所有项目中上传的文件。
项目导出,目前支持导出 PDF、Word、EPUB、MOBI、Markdown 等格式项目。
标签管理,可关系已存在的项目标签
导入项目,支持导入Markdown压缩包成为一个项目
二级目录部署,支持将 MinDoc 部署到二级子目录
MinDoc 安装
1、下载最新版的可执行文件
下载地址 https://github.com/lifei6671/mindoc/releases 一般文件名为 mindoc_windows_amd.zip .
这边下载https://github.com/lifei6671/mindoc/releases/download/v2.0/mindoc_windows_amd64.7z
2、解压压缩包到指定位置
把刚才下载的文件解压,推荐使用好压解压到任意目录。建议不用用中文目录名称。
站长这边解压到C:\mindoc
3、创建数据库
如果你使用的 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
4、配置数据库
请将刚才解压目录下 conf/app.conf.example 重名为 app.conf。同时配置如下节点:
注释mysql数据库配置,启用sqlite3数据库(如需要使用mysql就把sqlite3注释启用mysql即可)
mysql的配置信息如下
#数据库配置 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
5、在 MinDoc 根目录下使用命令行执行如下命令,用于初始化数据库:
C:\Users\Administrator>cd C:\mindoc C:\mindoc>mindoc_windows_amd64.exe install
稍等一分钟,程序会自动初始化数据库,并创建一个超级管理员账号:admin 密码:123456
6、启动程序
双击MinDoc 根目录下 mindoc_windows_amd64.exe 启动。
因为只要前台关闭CMD窗口之后 MinDoc 就无法访问了。该如何设置后台自动运行访问呢?
安装服务
C:\Users\Administrator>cd C:\mindoc C:\mindoc>mindoc_windows_amd64.exe service install
卸载服务
C:\Users\Administrator>cd C:\mindoc C:\mindoc>mindoc_windows_amd64.exe service remove
执行服务安装后,会创建一个以 mindocd 为服务名的服务。
此时访问 http://localhost:8181 就能访问 MinDoc
登入后如下
7、设置反向代理 (如果你不想用端口号访问 MinDoc 就需要配置一个代理了。)
推荐使用nginx做前端代理
Nginx安装教程可以参考https://www.ahaoyw.com/article/357.html
编辑nginx.conf主配置文件(替换原来默认的server 配置段),配置完重启服务
server { listen 80; #此处应该配置你的域名: server_name doc.ahaoyw.com; charset utf-8; #此处配置你的访问日志,请手动创建该目录: access_log logs/host.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; } }
8、测试反向代理是否成功(直接访问域名或者ip不加端口)