# 部署 MinDoc 管理系统

# 前言

MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。

MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用,同时增加Markdown和HTML两种编辑器。

开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。

可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。

  • 源码地址

    https://github.com/lifei6671/mindoc

  • 官网

    https://www.iminho.me/

  • 使用手册

    https://github.com/lifei6671/mindoc/wiki

# 主要功能

  • 项目管理,可以对项目进行编辑更改,成员添加等。
  • 文档管理,添加和删除文档,文档历史恢复等。
  • 用户管理,添加和禁用用户,个人资料更改等。
  • 用户权限管理 , 实现用户角色的变更。
  • 项目加密,可以设置项目公开状态,私有项目需要通过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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 安装GO环境

go官网https://golang.google.cn/dl/

# 一、源码安装

  • 下载tar.gz包(建议使用go1.7.3)
    wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
    
    
    1
    2
  • 解压
    tar -zxvf go1.7.3.linux-amd64.tar.gz -C /usr/local/
    
    1
  • 配置环境变量
    vi /etc/profile
    #追加配置
    export PATH=$PATH:/usr/local/go/bin
    #刷新配置使其生效
    source /etc/profile
    
    1
    2
    3
    4
    5
  • RPM包安装和源安装
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    #源安装
    yum install golang -y
    
    1
    2
    3
  • 安装成功后,查看go版本
    go version
    
    1

# 升级glibc版本

  • 查看版本
    strings /lib64/libc.so.6|grep GLIBC
    
    1
    • 显示这些信息
      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
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15

mindoc至少需要2.14版本以上glibc,所以需要自己手动升级

访问网站: http://ftp.gnu.org/pub/gnu/glibc/

#下载压缩包
wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz
#解压
tar -zxvf glibc-2.17.tar.gz -C /usr/local/
#切换目录
cd /usr/local/glibc-2.17
#创建build进行安装
mkdir build
#切换目录
cd build
#安装1
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin  
#安装2
make && make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14

安装过程需要点时间,安装完成后查看版本信息如果有即可

strings /lib64/libc.so.6|grep GLIBC
1

# 安装 MinDoc

# 下载解压包

#下载
wget https://github.com/lifei6671/mindoc/releases/download/v0.13.4/mindoc_linux_amd64.zip
#解压
unzip mindoc_linux_amd64.zip -d /usr/local/mindoc
1
2
3
4
  • 如果服务器没有解压工具需要安装
    yum install -y unzip zip
    
    1

# 创建数据库

S1: 登录mysql数据库

S2: 创建库

CREATE DATABASE mindoc_db  DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
1

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

db_adapter=sqlite3
db_database=mindoc_db
1
2

# 配置数据库

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

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

同时配置如下节点:

#数据库配置
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14

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

./mindoc_linux_amd64 install
1

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

# 启动程序

执行如下命令启动程序:

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

#启动程序
./mindoc_linux_amd64
1
2
3
4
5

此时访问 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;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
最近更新: 2019/10/17 上午4:20:42