MinDoc 編譯安裝(linux環境)


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%;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM