项目简介

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 图片剪裁库

演示

示例:http://doc.52itstyle.com/

安装环境

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的更多相关文章

  1. 《MinDoc 接口文档在线管理系统》

    项目简介 MinDoc 是一款针对IT团队开发的简单好用的文档管理系统. MinDoc 的前身是 SmartWiki 文档系统.SmartWiki 是基于 PHP 框架 laravel 开发的一款文档 ...

  2. MinDoc v0.6 发布,轻量级文档在线管理系统

    更新日志 新增 标签功能,可以根据标签组织项目 新增 用户删除功能,删除后的用户项目以及其他数据会自动转移到超级管理员账户上 新增 项目描述支持Markdown语法 优化 项目标签添加效果 优化 登录 ...

  3. SmartWiki文档在线管理系统简介

    简介 SmartWiki是一款针对IT团队开发的简单好用的文档管理系统.可以用来储存日常接口文档,数据库字典,手册说明等文档.内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需 ...

  4. Swagger: 一个restful接口文档在线生成+功能测试软件

    一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...

  5. 推荐几款API文档集合工具

    https://zealdocs.org/    开源.免费,支持Linux.Windows http://velocity.silverlakesoftware.com/  https://kape ...

  6. springboot项目利用Swagger2生成在线接口文档

    Swagger简介. Swagger2是一款restful接口文档在线生成和在线调试工具.很多项目团队利用Swagger自动生成接口文档,保证接口文档和代码同步更新.在线调试.简单地说,你可以利用这个 ...

  7. 一款对Postman支持较好的接口文档生成工具

    最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...

  8. 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  9. 使用swagger实现web api在线接口文档

    一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...

随机推荐

  1. [server]nginx 一系列命令

    h1. 启动 nginx -c /usr/local/etc/nginx/nginx.conf h1. 停止 nginx -s stop h1. reload nginx -s reload h1.

  2. Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.

    提交表单报400错误,提示 "您提交的数据无法验证"原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证. ...

  3. Install and Run NATS Streaming Server

    NATS是一个开源的.轻量级的.高性能的分布式消息通信系统,使用的公司有百度.西门子.VMware.HTC和爱立信.NATS Streaming是以NATS为动力的数据流系统,是用go语言写的,NAT ...

  4. Android 性能测试——Heap Viewer 工具

    Android 性能测试--Heap Viewer 工具 Heap Viewer能做什么? 实时查看App分配的内存大小和空闲内存大小 发现Memory Leaks Heap Viewer使用条件 5 ...

  5. 微信小程序开发基础知识总结

    微信小程序在无论在功能.文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们的小程序在很多方面突破H5页面应用的限制,更加接近原生程序的功能,因此微信小程序具有很 ...

  6. Android学习笔记-Button(按钮)

    Button是TextView的子类,所以TextView上很多属性也可以应用到Button 上!我们实际开发中对于Button的,无非是对按钮的几个状态做相应的操作,比如:按钮按下的时候 用一种颜色 ...

  7. centos7启动过程及systemd祥细说明

    开机启过程 POST->BOOT SEQUENCE-> BOOTLOADER->KERNEL + INITRAMFS(INITRD)->ROOTFS->/sbin/ini ...

  8. 37. leetcode 108. Convert Sorted Array to Binary Search Tree

    108. Convert Sorted Array to Binary Search Tree 思路:利用一个有序数组构建一个平衡二叉排序树.直接递归构建,取中间的元素为根节点,然后分别构建左子树和右 ...

  9. 3.commonjs模块

    1.首先建一个math.js exports.add = function(a, b){ return a + b; } exports.sub = function(a, b){ return a ...

  10. 605. Can Place Flowers种花问题【leetcode】

    Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, ...