MinDoc 简介
MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。
MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用。
开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。
可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。
演示站点: http://doc.iminho.me
项目地址:
https://github.com/haimait/mindoc
安装与使用
下载项目代码到本地
[email protected]:haimait/mindoc.git
cd mindoc //进入项目目录里
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
go mod init
写入依赖
在生成的go.mod里写入下面的依赖
module github.com/lifei6671/mindoc
go 1.13
replace gopkg.in/russross/blackfriday.v2 => github.com/gbmor-forks/blackfriday.v2-patched v0.0.0-20190422230759-91071f2561f1
require (
github.com/PuerkitoBio/goquery v1.5.1
github.com/astaxie/beego v1.12.1
github.com/boombuler/barcode v1.0.0
github.com/howeyc/fsnotify v0.9.0
github.com/kardianos/service v1.0.0
github.com/lifei6671/gocaptcha v0.0.0-20190301083731-c467a25bc100
github.com/mattn/go-sqlite3 v2.0.3+incompatible
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
google.golang.org/appengine v1.6.5 // indirect
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/ldap.v2 v2.5.1
gopkg.in/russross/blackfriday.v2 v2.0.0-00010101000000-000000000000
)
下载依赖
go mod tidy
配置数据库
1.复制项目文件
conf/app.conf.exaple conf/app.conf
2.修改配置文件里mysql配置
httpport = "${MINDOC_PORT||8811}" ##改启动端口为8811
db_adapter="mysql"
db_host="localhost"
db_port="3306"
db_database="mindoc"
db_username="root"
db_password="123456"
3.在本地新建一个mindoc数据库
编码必须是utf8mb4_general_ci
./mindoc install //初使化数据库
go build -o mindoc main.go
./mindoc //运行文件
此时本地已经安装成功.
访问:http://localhost:8811
上传到linux服务器上
在服务器上配置好go来的环境
可以参考下面的文章
https://www.cnblogs.com/haima/p/12057933.html
把静态文件和编译好的二进制文件上传到服务器上
下面我上传到我的mindoc目录里
[root@iZ2ze505h9bgsbp83ct28pZ mindoc]# pwd
/home/work/go/src/haimait/mindoc
[root@iZ2ze505h9bgsbp83ct28pZ mindoc]# ls
conf go.mod go.sum mindoc mindoc.sh restart.sh runtime static uploads views
其中restart.sh 和 restart.sh两个文件是sh角本
restart.sh 方便在服务器上重启项目服务(放在服务器项目根目录里使用)
mindoc.sh 打包并上传文件到服务器上(在本地项目根目录使用)
restart.sh文件:
#!/bin/bash
echo "删除进程"
killall mindoc
echo "启动进程"
nohup ./mindoc >> access.log 2>&1 &
ps -aux | grep mindoc
mindoc.sh
#!/bin/bash
#rm -rf dev
go build -o mindoc main.go
echo "复制文件到服务器"
echo "CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go"
#下面写密码
echo "1231231"
#下面写自己服务器的用户名和公网ip地址和编译文件要传到的目录
scp $1 [email protected]:/home/work/go/src/haimait/mindoc
mindoc.sh用法:
在本地项目根里(我的目录为/home/haima/go/src/github.com/lifei6671/mindoc)
root@haima-PC:/home/haima/go/src/github.com/lifei6671/mindoc# ./mindoc.sh mindoc
复制文件到服务器
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
123456
[email protected]'s password: ##这里输入自己shh的密码:123456
mindoc 100% 22MB 352.1KB/s 01:05 #此时已经把编译后的文件成功上传到服务器的mindoc目录里了
启动服务
在服务器上进入/home/work/go/src/haimait/mindoc目录里
执行sh角本
[root@iZ2ze505h9bgsbp83ct28pZ mindoc]# ./restart.sh
删除进程
启动进程
root 13955 0.0 0.3 150756 5960 pts/0 Rl+ 00:03 0:00 ./mindoc
root 13957 0.0 0.0 112728 956 pts/0 S+ 00:03 0:00 grep mindoc
配置域名
GOLANG-配置nginx反向代理端口 配置域名
https://www.cnblogs.com/haima/p/12596118.html
此时已经成功启动项目了
在线地址:
http://doc.haimait.com/
默认程序会自动初始化一个超级管理员用户:admin 密码:123456 。请登录后重新设置密码。