MinDoc 编译安装(linux环境)
目錄MinDoc 簡(jiǎn)介項(xiàng)目地址:下面以 Linux 系統(tǒng)為例:Gomod方式安裝下載項(xiàng)目代碼到本地寫(xiě)入依賴下載依賴創(chuàng)建數(shù)據(jù)庫(kù) 配置數(shù)據(jù)庫(kù)編譯main.go提升文件權(quán)限初使化數(shù)據(jù)庫(kù)啟動(dòng)程序修改可執(zhí)行權(quán)限啟動(dòng)程序上傳到linux服務(wù)器上restart.sh文件:mindoc.sh啟動(dòng)服務(wù)配置域名,配置代理此時(shí)已經(jīng)成功啟動(dòng)項(xiàng)目了
MinDoc 簡(jiǎn)介
MinDoc 是一款針對(duì)IT團(tuán)隊(duì)開(kāi)發(fā)的簡(jiǎn)單好用的文檔管理系統(tǒng)。
MinDoc 的前身是 SmartWiki 文檔系統(tǒng)。SmartWiki 是基于 PHP 框架 laravel 開(kāi)發(fā)的一款文檔管理系統(tǒng)。因 PHP 的部署對(duì)普通用戶來(lái)說(shuō)太復(fù)雜,所以改用 Golang 開(kāi)發(fā)。可以方便用戶部署和實(shí)用。
開(kāi)發(fā)緣起是公司IT部門(mén)需要一款簡(jiǎn)單實(shí)用的項(xiàng)目接口文檔管理和分享的系統(tǒng)。其功能和界面源于 kancloud 。
可以用來(lái)儲(chǔ)存日常接口文檔,數(shù)據(jù)庫(kù)字典,手冊(cè)說(shuō)明等文檔。內(nèi)置項(xiàng)目管理,用戶管理,權(quán)限管理等功能,能夠滿足大部分中小團(tuán)隊(duì)的文檔管理需求。
演示站點(diǎn): http://doc.iminho.me
使用文檔:
https://www.iminho.me/wiki/docs/mindoc/mindoc-summary.md
項(xiàng)目地址:
https://github.com/haimait/mindoc
下面以 Linux 系統(tǒng)為例:
Gomod方式安裝
下載項(xiàng)目代碼到本地
mkdir -p ~/go/src/github.com/lifei6671 //新建文件夾
cd ~/go/src/github.com/lifei6671
git clone git@github.com:haimait/mindoc.git
cd mindoc //進(jìn)入項(xiàng)目目錄里
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
go mod init
用goland打開(kāi)mindoc項(xiàng)目文件夾
file->setting->Go->Go Modules(vgo)
勾選 Enable Go Modules(vgo) intergration
Proxy: 寫(xiě)入 https://goproxy.cn
寫(xiě)入依賴
在生成的go.mod里寫(xiě)入下面的依賴
replace gopkg.in/russross/blackfriday.v2 => github.com/gbmor-forks/blackfriday.v2-patched latest
下載依賴
go mod tidy
下載完后,go.mod里會(huì)出現(xiàn)下面的依賴
module github.com/lifei6671/mindoc
go 1.13
replace gopkg.in/russross/blackfriday.v2 => github.com/gbmor-forks/blackfriday.v2-patched latest
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
)
創(chuàng)建數(shù)據(jù)庫(kù) 配置數(shù)據(jù)庫(kù)
1.配置本地創(chuàng)建數(shù)據(jù)庫(kù)
如是用mysql數(shù)據(jù)庫(kù) 在本地新建一個(gè)mindoc數(shù)據(jù)庫(kù)
如果你使用的 mysql 數(shù)據(jù)庫(kù),請(qǐng)創(chuàng)建一個(gè)編碼為utf8mb4格式的數(shù)據(jù)庫(kù),如果沒(méi)有GUI管理工具,推薦用下面的腳本創(chuàng)建:
CREATE DATABASE mindoc DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
編碼必須是utf8mb4_general_ci
如果你使用的是 sqlite 數(shù)據(jù)庫(kù),請(qǐng)將 conf/app.conf 中的數(shù)據(jù)庫(kù)配置成如下,系統(tǒng)會(huì)自動(dòng)創(chuàng)建 sqlite 數(shù)據(jù)庫(kù)文件:
db_adapter=sqlite3
db_database=mindoc
2.修改配置文件里
請(qǐng)將剛才解壓目錄下 conf/app.conf.example 重名為 app.conf:
cp conf/app.conf.example conf/app.conf
這里以mysql為例,改配置配置文件 conf/app.conf
//修改第5行代碼為mysql的配置
#httpport = "${MINDOC_PORT||8811}" ##改啟動(dòng)端口為8811
httpport = 8811
//修改第54行代碼為mysql的配置
#數(shù)據(jù)庫(kù)配置
db_adapter=mysql
#mysql數(shù)據(jù)庫(kù)的IP
db_host=127.0.0.1
#mysql數(shù)據(jù)庫(kù)的端口號(hào)一般為3306
db_port=3306
#剛才創(chuàng)建的數(shù)據(jù)庫(kù)的名稱
db_database=mindoc
#訪問(wèn)數(shù)據(jù)庫(kù)的賬號(hào)和密碼
db_username=root
db_password=123456
編譯main.go
haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ go build -o mindoc main.go
# github.com/lifei6671/mindoc/controllers
controllers/AccountController.go:440:20: assignment mismatch: 2 variables but gocaptcha.NewCaptchaImage returns 1 values
提升文件權(quán)限
haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ ll //看一下文件沒(méi)有權(quán)限
總用量 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 * //添加權(quán)限
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
找到報(bào)錯(cuò)的位置,修改
/home/haima/go/src/mindoc/controllers/AccountController.go
把下面的代碼
captchaImage, err := gocaptcha.NewCaptchaImage(140, 40, gocaptcha.RandLightColor())
if err != nil {
beego.Error(err)
c.Abort("500")
}
改為
captchaImage := gocaptcha.NewCaptchaImage(140, 40, gocaptcha.RandLightColor())
再次保存修改的文件,再編譯main.go
haima@haima-PC:~/go/src/github.com/lifei6671/mindoc$ go build -o mindoc main.go
初使化數(shù)據(jù)庫(kù)
./mindoc install
稍等一分鐘,程序會(huì)自動(dòng)初始化數(shù)據(jù)庫(kù),并創(chuàng)建一個(gè)超級(jí)管理員賬號(hào):admin 密碼:123456
啟動(dòng)程序
執(zhí)行如下命令啟動(dòng)程序:
修改可執(zhí)行權(quán)限
chmod +x mindoc
啟動(dòng)程序
./mindoc
此時(shí)本地已經(jīng)安裝成功.
訪問(wèn):http://localhost:8811
上傳到linux服務(wù)器上
在服務(wù)器上配置好go來(lái)的環(huán)境
不會(huì)配置環(huán)境的可以參考下面的文章
https://www.cnblogs.com/haima/p/12057933.html
把靜態(tài)文件和編譯好的二進(jìn)制文件上傳到服務(wù)器上
下面我將需要的文件上傳到我的mindoc目錄里
上傳前把自己的數(shù)據(jù)配置為線上的數(shù)據(jù)庫(kù)
[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 是我配置的兩個(gè)文件sh角本,為了以后方便更新代碼到服務(wù)器上
restart.sh 方便在服務(wù)器上重啟項(xiàng)目服務(wù)(放在服務(wù)器項(xiàng)目根目錄里使用)
mindoc.sh 打包并上傳文件到服務(wù)器上(在本地項(xiàng)目根目錄使用)
restart.sh文件:
#!/bin/bash
echo "刪除進(jìn)程"
killall mindoc
echo "啟動(dòng)進(jìn)程"
nohup ./mindoc >> access.log 2>&1 &
ps -aux | grep mindoc
mindoc.sh
#!/bin/bash
#rm -rf dev
go build -o mindoc main.go
echo "復(fù)制文件到服務(wù)器"
echo "CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go"
#下面寫(xiě)密碼
echo "1231231"
#下面寫(xiě)自己服務(wù)器的用戶名和公網(wǎng)ip地址和編譯文件要傳到的目錄
scp $1 root@182.92.234.22:/home/work/go/src/haimait/mindoc
mindoc.sh用法:
在本地項(xiàng)目根里(我的目錄為/home/haima/go/src/github.com/lifei6671/mindoc)
root@haima-PC:/home/haima/go/src/github.com/lifei6671/mindoc# ./mindoc.sh mindoc
復(fù)制文件到服務(wù)器
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
123456
root@182.92.234.23's password: ##這里輸入自己shh的密碼:123456 然后按Enter回車就會(huì)開(kāi)始編譯并上傳文件了
mindoc 100% 22MB 352.1KB/s 01:05 #此時(shí)已經(jīng)把編譯后的文件成功上傳到服務(wù)器的mindoc目錄里了
啟動(dòng)服務(wù)
在服務(wù)器上進(jìn)入/home/work/go/src/haimait/mindoc目錄里
執(zhí)行sh角本
[root@iZ2ze505h9bgsbp83ct28pZ mindoc]# ./restart.sh
刪除進(jìn)程
啟動(dòng)進(jìn)程
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反向代理端口 配置域名
這一步可選,如果你不想用端口號(hào)訪問(wèn) MinDoc 就需要配置一個(gè)代理了。
https://www.cnblogs.com/haima/p/12596118.html
此時(shí)已經(jīng)成功啟動(dòng)項(xiàng)目了
在線地址:
http://doc.haimait.com/
默認(rèn)程序會(huì)自動(dòng)初始化一個(gè)超級(jí)管理員用戶:admin 密碼:123456 。請(qǐng)登錄后重新設(shè)置密碼。
總結(jié)
以上是生活随笔為你收集整理的MinDoc 编译安装(linux环境)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Angular里的RouterOutle
- 下一篇: C# 定时关机小程序