MinDoc 简介

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

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

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

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

演示站点: http://doc.iminho.me

使用文档:

https://www.iminho.me/wiki/docs/mindoc/mindoc-summary.md

项目地址:

https://github.com/lifei6671/mindoc

https://github.com/haimait/mindoc

下面以 Linux 系统为例:

Gomod方式安装

下载项目代码到本地

cd ~/go/src
git clone https://github.com/lifei6671/mindoc.git
cd mindoc //进入项目目录里
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy,direct
go mod tidy

用goland打开mindoc项目文件夹

file->setting->Go->Go Modules(vgo)

勾选 Enable Go Modules(vgo) intergration

Proxy: 写入 https://goproxy.cn

写入依赖

下载依赖

go mod tidy

下载完后,go.mod里会出现下面的依赖

module github.com/lifei6671/mindoc

go 1.12

require (
github.com/PuerkitoBio/goquery v1.4.1
github.com/andybalholm/cascadia v1.2.0 // indirect
github.com/astaxie/beego v1.10.1
github.com/boombuler/barcode v1.0.0
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect
github.com/go-sql-driver/mysql v1.4.0 // indirect
github.com/gomodule/redigo/redis v0.0.0-20200429221454-e14091dffc1b // indirect
github.com/howeyc/fsnotify v0.9.0
github.com/kardianos/service v1.1.0
github.com/lib/pq v1.7.0 // indirect
github.com/lifei6671/gocaptcha v0.1.1
github.com/mattn/go-sqlite3 v1.9.0
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 // indirect
golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect
google.golang.org/appengine v1.6.6 // indirect
gopkg.in/asn1-ber.v1 v1.0.0-00010101000000-000000000000 // indirect
gopkg.in/ldap.v2 v2.5.1
gopkg.in/russross/blackfriday.v2 v2.0.0
gopkg.in/yaml.v2 v2.3.0 // indirect ) replace gopkg.in/asn1-ber.v1 => github.com/go-asn1-ber/asn1-ber v1.5.0

创建数据库 配置数据库

1.配置本地创建数据库

如是用mysql数据库 在本地新建一个mindoc数据库

如果你使用的 mysql 数据库,请创建一个编码为utf8mb4格式的数据库,如果没有GUI管理工具,推荐用下面的脚本创建:

CREATE DATABASE mindoc DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

编码必须是utf8mb4_general_ci

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

db_adapter=sqlite3
db_database=mindoc

2.修改配置文件里

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

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

这里以mysql为例,改配置配置文件 conf/app.conf

//修改第5行代码为
#httpport = "${MINDOC_PORT||8811}" ##改启动端口为8811
httpport = 8811 //修改第54行代码为mysql的配置
#数据库配置
db_adapter=mysql
#mysql数据库的IP
db_host=127.0.0.1
#mysql数据库的端口号一般为3306
db_port=3306
#刚才创建的数据库的名称
db_database=mindoc
#访问数据库的账号和密码
db_username=root
db_password=123456

编译main.go

haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ go build -o mindoc main.go

提升文件权限

haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ ll //看一下文件没有权限
总用量 17912
-rw-r--r-- 1 haima haima 2594 3月 30 08:07 appveyor.yml
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 cache
drwxr-xr-x 4 haima haima 4096 3月 30 08:07 commands
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 conf
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 controllers
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 converter
-rw-r--r-- 1 haima haima 598 3月 30 08:07 docker-compose.yml
-rw-r--r-- 1 haima haima 3468 3月 30 08:07 Dockerfile
-rw-r--r-- 1 haima haima 2462 3月 30 08:07 favicon.ico
-rw-r--r-- 1 haima haima 956 4月 3 09:36 go.mod
-rw-r--r-- 1 haima haima 1403 3月 30 08:07 Gopkg.toml
-rw-r--r-- 1 haima haima 9849 4月 3 09:36 go.sum
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 graphics
drwxr-xr-x 3 haima haima 4096 3月 30 08:07 lib
-rw-r--r-- 1 haima haima 11357 3月 30 08:07 LICENSE.md
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 mail
-rw-r--r-- 1 haima haima 871 3月 30 08:07 main.go
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 models
-rw-r--r-- 1 haima haima 6821 3月 30 08:07 README.md
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 routers
-rw-r--r-- 1 haima haima 18214352 3月 30 08:07 simsun.ttc
-rw-r--r-- 1 haima haima 249 3月 30 08:07 start.sh
drwxr-xr-x 25 haima haima 4096 3月 30 08:07 static
drwxr-xr-x 2 haima haima 4096 3月 30 08:07 uploads
drwxr-xr-x 10 haima haima 4096 3月 30 08:07 utils
drwxr-xr-x 16 haima haima 4096 3月 30 08:07 views haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ chmod -R 777 * //添加权限
haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ ll
总用量 17912
-rwxrwxrwx 1 haima haima 2594 3月 30 08:07 appveyor.yml
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 cache
drwxrwxrwx 4 haima haima 4096 3月 30 08:07 commands
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 conf
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 controllers
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 converter
-rwxrwxrwx 1 haima haima 598 3月 30 08:07 docker-compose.yml
-rwxrwxrwx 1 haima haima 3468 3月 30 08:07 Dockerfile
-rwxrwxrwx 1 haima haima 2462 3月 30 08:07 favicon.ico
-rwxrwxrwx 1 haima haima 956 4月 3 09:36 go.mod
-rwxrwxrwx 1 haima haima 1403 3月 30 08:07 Gopkg.toml
-rwxrwxrwx 1 haima haima 9849 4月 3 09:36 go.sum
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 graphics
drwxrwxrwx 3 haima haima 4096 3月 30 08:07 lib
-rwxrwxrwx 1 haima haima 11357 3月 30 08:07 LICENSE.md
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 mail
-rwxrwxrwx 1 haima haima 871 3月 30 08:07 main.go
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 models
-rwxrwxrwx 1 haima haima 6821 3月 30 08:07 README.md
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 routers
-rwxrwxrwx 1 haima haima 18214352 3月 30 08:07 simsun.ttc
-rwxrwxrwx 1 haima haima 249 3月 30 08:07 start.sh
drwxrwxrwx 25 haima haima 4096 3月 30 08:07 static
drwxrwxrwx 2 haima haima 4096 3月 30 08:07 uploads
drwxrwxrwx 10 haima haima 4096 3月 30 08:07 utils
drwxrwxrwx 16 haima haima 4096 3月 30 08:07 views

haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ go build -o mindoc main.go

初使化数据库

./mindoc install  

稍等一分钟,程序会自动初始化数据库

生成的表

启动程序

执行如下命令启动程序:

修改可执行权限

chmod +x mindoc

启动程序

./mindoc

此时本地已经安装成功.

访问:http://localhost:8811

超级管理员账号:admin 密码:123456

上传到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 root@182.92.234.22:/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
root@182.92.234.23's password: ##这里输入自己shh的密码:123456 然后按Enter回车就会开始编译并上传文件了
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反向代理端口 配置域名

这一步可选,如果你不想用端口号访问 MinDoc 就需要配置一个代理了。

https://www.cnblogs.com/haima/p/12596118.html

此时已经成功启动项目了

在线地址:

http://doc.haimait.com/

默认程序会自动初始化一个超级管理员用户:admin 密码:123456 。请登录后重新设置密码。

修改内容页面样式

修改markdown样式

static/css/markdown.preview.css里 145行

max-height: 35em; 改为 /* max-height: 35em; */

去除代码里的滚动条

修改内容页面代码的显示的宽度

static/css/kancloud.css?v=20210119235703 里 462行

max-width: 90%; 改为 max-width: 95%;

MinDoc 编译安装(linux环境)的更多相关文章

  1. LINUX 编译安装 PHP 环境

    今天终于有时间 总结一下 linux 的编译安装 php 环境同学给我发了他写的文档 ,基本就可以实现编译安装了我同学文章地址: http://penghui.link/articles/2016/0 ...

  2. Centos 6.8编译安装LNMP环境

    Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...

  3. CentOS6.5下编译安装LAMP环境

    LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架.该框架能够满足大流量.大并发量的网站需求:当然.也可以直接使用高性能的服务器.高性能的负载均衡硬件以及CDN ...

  4. 使用autotools工具用configure、make、make install编译安装linux工程的详细步骤

    使用autotools工具用configure.make.make install编译安装linux工程的详细步骤 转载tmxkwzy 最后发布于2016-11-24 10:20:15 阅读数 324 ...

  5. Windows 安装 Linux 环境

    简介 在实际开发中,我们除了在Windows上进行开发外,可能还需要基于Linux进行一些编译或者测试等,因此,我们可能需要在Windows环境中安装Linux环境,通常可能我们会使用虚拟机替代,但是 ...

  6. CentOS编译安装LNMP环境

    这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...

  7. LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照 ...

  8. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

  9. SaltStack之编译安装LNMP环境

    使用saltstack编译安装LNMP环境 一,系统版本查看 二,安装salt-master和salt-minion 安装配置过程参考SaltStack概述及安装 三,修改配置文件 /etc/salt ...

  10. JDK安装 - Linux环境

    JDK安装 - Linux环境 1. 下载 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...

随机推荐

  1. arch xfce启用自动挂载usb设备,自动访问usb设备,自动连接usb设备

    1.安装gvfs sudo pacman -S gvfs GVFS(Gnome Virtual File System)是一个用于 GNOME 桌面环境的虚拟文件系统,它提供了一种统一的方式来访问和管 ...

  2. (建议收藏)OpenHarmony系统能力SystemCapability列表

    SysCap,全称SystemCapability,即系统能力,指操作系统中每一个相对独立的特性. 开发者使用某个接口进行开发前,建议先阅读,了解Syscap的定义和使用指导.再结合下文中的表格判断具 ...

  3. centos环境minio安装踩坑指南2023年7月30日

    MinIO的安装踩坑指南 环境centos7 1. 安装MinIO官方文档 Binary下载 , 按照官网的路径配置比较快 下载minio wget https://dl.min.io/server/ ...

  4. Windows XP Vmware 无法自适应窗口

    之前在吾爱破解上找到一个 WindowsXP SP3 的精简系统(目前找不到在哪了),自带 VMtools 和 52 破解工具包,很适合 XP 系统下的逆向和病毒分析.目前准备学习一下<恶意代码 ...

  5. 服务器日志qsnctfwp

    使用 WireShark 打开日志文件 log.pcpng 获取恶意用户下载的文件 方法一:通过对 FTP-DATA 对象导出,可知下载了名为 flag 的文件,通过 save 可获取文件 方法二:通 ...

  6. SpringCloud整体架构概览

    什么是SpringCloud #目标 协调任何服务,简化分布式系统开发. #简介 构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性 ...

  7. 【未测试】CentOS 6.5快速部署HTTP WEB服务器和FTP服务器

    CentOS 6.5快速部署HTTP WEB服务器和FTP服务器 [题记]本文使用CentOS 6.5minimal快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器.意在使用授权FTP用户通过登 ...

  8. CentOS 6.4(64位)上安装错误libstdc++.so.6(GLIBCXX_3.4.14)解决办法

    CentOS 6.4(64位)上安装错误libstdc++.so.6(GLIBCXX_3.4.14)解决办法 (2013-07-29 13:18:01) 转载▼ 分类:linux系统 引用地址: ht ...

  9. 重学c#系列——缓存[盛派源码分析cache](九)

    前言 以前整理过缓存的东西在: https://www.cnblogs.com/aoximin/p/12727659.html 只是粗略的例子,因为真的要去介绍缓存这个东西,要从内存开始,是一个有时间 ...

  10. IaC:实现持续交付和 DevOps 自动化的关键

    基础架构即代码(IaC)和 CI/CD 流水线最初似乎并不匹配.因为它们代表了两种不同的流程.IaC 主要关注基础设施的配置和开发,而 CI/CD 则围绕软件开发.测试和部署. 然而,将 IaC 集成 ...