推荐一款接口文档在线管理系统-MinDoc
项目简介
MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。
MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用,同时增加Markdown和HTML两种编辑器。
开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。
可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。
主要功能
- 项目管理,可以对项目进行编辑更改,成员添加等。
- 文档管理,添加和删除文档,文档历史恢复等。
- 用户管理,添加和禁用用户,个人资料更改等。
- 用户权限管理 , 实现用户角色的变更。
- 项目加密,可以设置项目公开状态,私有项目需要通过Token访问。
- 站点配置,二次开发时可以添加自定义配置项。
- 附件管理,可管理所有项目中上传的文件。
- 项目导出,目前支持导出 PDF 格式项目。
主要技术
beego 1.8.0、editor.md、bootstrap 3.2、jquery 1.8、layer 弹出层框架、webuploader 文件上传框架、Nprogress 库、jstree、font awesome 字体库、cropper 图片剪裁库
演示
安装环境
centos6.8、MySql5.6、Nginx1.10.3、go1.7.3、GLIBC_2.14
安装数据库
已安装过的请自行忽略。
#查看所有以mysql开头的软件
yum list mysql*
#安装mysql
yum install mysql-server* -y
#启动mysql
/etc/init.d/mysqld start
#设定mysql自动启动
chkconfig mysqld on
#复制mysql的配置文件到etc目录,提示是否覆盖,选择y
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
#重新设定mysql密码,默认密码是【空】,输入新密码,注意提问,是否删除匿名账户?【y】 是否禁止远程登录?【n】是否移除test数据库?【y】是否重载权限文件【y】
mysql_secure_installation
#重启mysql,此时用本机Navicat Premium还是连不上mysql的!
/etc/init.d/mysqld restart
#用命令访问mysql
mysql -u root -p
#使用mysql数据库
use mysql;
#查询当前用户情况,显示有3条记录,127.0.0.1;localhost;iz28wi3pigtz;其中最后这个是ECS主机名
select host,user from user;
#把localhost这条记录的host改为 %; 意思是root可以由任何主机登录mysql,网上很多写法,都没有and host='localhost'这个条件,经常报错。
update user set host = '%' where user = 'root' and host='localhost';
#再次查询,可以看到host有3个;%;127.0.0.1;iz28wi3pigtz;其实user表的主键是user字段和host字段的联合主键。
select host, user from user;
#重启mysql
/etc/init.d/mysqld restart
安装go环境
一、源码安装
wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
#将文件解压到/use/local/路径下(路径可以自己定义)
tar -zxf go1.7.3.linux-amd64.tar.gz -C /usr/local/
配置环境变量
vi /etc/profile
#追加配置
export PATH=$PATH:/usr/local/go/bin
#刷新配置使其生效
source /etc/profile
二、RPM包安装
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install golang -y
三、 YUM源安装
yum install -y golang
安装成功后,查看go版本
[root@AY140216149Z ~]# go version
go version go1.7.3 linux/amd64
升级glibc版本
查看glibc版本
[root@AY140216131049Z ~]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
mindoc至少需要2.14版本以上glibc,所以需要自己手动升级
#下载2.14版本
wgte https://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
#解压编译安装
tar -xzvf glibc-2.14.tar.gz
cd glibc-2.14
./configure --prefix=/opt/glibc-2.14
make && make install
视机器性能,编译安装时间大概需要将近5-10分钟,请耐心等待,安装完成之后
#备份
cp /lib64/libc.so.6 /lib64/libc.so.6.bak
#删除前一定要备份
rm -rf /lib64/libc.so.6
#创建软连接
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
查看版本,如果发现2.14说明配置成功
[root@AY140216131049Z build]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE
安装 mindoc
第一步 下载可执行文件
请从 https://github.com/lifei6671/mindoc/releases 下载最新版的可执行文件,一般文件名为 mindoc_linux_amd.tar.gz 或 mindoc_linux_amd64.zip 。
第二步 解压压缩包
请将刚才下载的文件解压,请执行如下命令解压:
tar -xzvf mindoc_linux_amd64.tar.gz
或
unzip mindoc_linux_amd64.zip
第三步 创建数据库
如果你使用的 mysql 数据库,请创建一个编码为utf8mb4格式的数据库,如果没有GUI管理工具,推荐用下面的脚本创建:
CREATE DATABASE mindoc_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
第四步 配置数据库
请将刚才解压目录下 conf/app.conf.example 重名为 app.conf:
cp conf/app.conf.example conf/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
此时访问 http://localhost:8181 就能访问 MinDoc 了。
第五步 配置代理
这一步可选,如果你不想用端口号访问 MinDoc 就需要配置一个代理了。
Nginx 代理的配置文件如下:
server {
listen 80;
#此处应该配置你的域名:
server_name doc.52itstyle.com;
charset utf-8;
#此处配置你的访问日志,请手动创建该目录:
access_log /var/log/nginx/doc.52itstyle.com.access.log;
location ~ .*\.(ttf|woff2|eot|otf|map|swf|svg|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
#此处将路径执行 MinDoc 的跟目录
root /mnt/domains/mindoc;
expires 30m;
}
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;
}
}
第六步 启动程序
#修改可执行权限
chmod +x mindoc_linux_amd64
#后台启动
nohup ./mindoc_linux_amd64 &
# 重启Nginx
nginx -s reload
界面展示:
推荐一款接口文档在线管理系统-MinDoc的更多相关文章
- 《MinDoc 接口文档在线管理系统》
项目简介 MinDoc 是一款针对IT团队开发的简单好用的文档管理系统. MinDoc 的前身是 SmartWiki 文档系统.SmartWiki 是基于 PHP 框架 laravel 开发的一款文档 ...
- MinDoc v0.6 发布,轻量级文档在线管理系统
更新日志 新增 标签功能,可以根据标签组织项目 新增 用户删除功能,删除后的用户项目以及其他数据会自动转移到超级管理员账户上 新增 项目描述支持Markdown语法 优化 项目标签添加效果 优化 登录 ...
- SmartWiki文档在线管理系统简介
简介 SmartWiki是一款针对IT团队开发的简单好用的文档管理系统.可以用来储存日常接口文档,数据库字典,手册说明等文档.内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需 ...
- Swagger: 一个restful接口文档在线生成+功能测试软件
一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...
- 推荐几款API文档集合工具
https://zealdocs.org/ 开源.免费,支持Linux.Windows http://velocity.silverlakesoftware.com/ https://kape ...
- springboot项目利用Swagger2生成在线接口文档
Swagger简介. Swagger2是一款restful接口文档在线生成和在线调试工具.很多项目团队利用Swagger自动生成接口文档,保证接口文档和代码同步更新.在线调试.简单地说,你可以利用这个 ...
- 一款对Postman支持较好的接口文档生成工具
最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...
- 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- 使用swagger实现web api在线接口文档
一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...
随机推荐
- 第一个asp.net实例——生日邀请以及回函
22回校后,看了论文游了西湖,今天开始接触asp.net,从图书馆选了两本书:<精通ASP.NET 4.5 (第五版)>,<ASP.NET全能速查手册>.一本练手细看,一本翻查 ...
- [js] 实现接口
摘要 js 语言并没有interface implement 关键字,如果要做到和后端语言类似的接口,一般会需要模拟实现. 在oo 编程中, 接口可以让架构师规定好模块必须要实现的方法, 尽量解耦模块 ...
- 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问
今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...
- cin问题 分类: c++ 2014-08-02 21:13 38人阅读 评论(0) 收藏
string s: while(cin>>s){ cout<<s<endl; } 当输入ss w ww w w 按enter时 输出为 ss w ww w ...
- 简易 HTTP Server 实现(JAVA)
该简易的J2EE WEB容器缺失很多功能,却可以提供给大家学习HTTP容器大致流程. 注:容器功能很少,只供学习. 1. 支持静态内容与Servlet,不支持JSP 2. 仅支持304/404 3. ...
- 表达式求值(二叉树方法/C++语言描述)(二)
表达式二叉树节点的数据可能是运算数或运算符,可以使用一个联合体进行存储:同时还需要一个变量来指示存储的是运算数还是运算符,可以采用和栈方法求值中一样的枚举类型TokenType: typedef en ...
- 记录easyui一些用法
自己备注,省的之后忘记.用到一个写一个,不断添加 1.form里的一些控件如textbox.combobox等添加额外的一些事件,如鼠标事件(mouseover.click等),键盘事件(keydow ...
- 微信开发中遇到的问题,关于cdnmidimgurl 图片获取
访问了微信服务器 返回的数据: [{MsgId=3349810483943419227, FromUserName=@@855c3ada0e9c387cfbcff93e9a1a639f024bcfd1 ...
- 再起航,我的学习笔记之JavaScript设计模式06(工厂方法模式)
上一次已经给大家介绍了简单工厂模式,相信大家对创建型设计模式有了初步的了解,本次我将给大家介绍的是工厂方法模式. 工厂方法模式 工厂方法模式(Factory Method):通过对产品类的抽象使其创建 ...
- equals()与 == 比较,hashCode方法
1.Object类 Object类是java中一切类的父类,java中所有的类都直接或间接 继承自Object类 Object中定义的方法不多,原因在于,java的类多种多样 ...