項目簡介
MinDoc 是一款針對IT團隊開發的簡單好用的文檔管理系統。
MinDoc 的前身是 SmartWiki 文檔系統。SmartWiki 是基於 PHP 框架 laravel 開發的一款文檔管理系統。因 PHP 的部署對普通用戶來說太復雜,所以改用 Golang 開發。可以方便用戶部署和實用,同時增加Markdown和HTML兩種編輯器。
開發緣起是公司IT部門需要一款簡單實用的項目接口文檔管理和分享的系統。其功能和界面源於 kancloud 。
可以用來儲存日常接口文檔,數據庫字典,手冊說明等文檔。內置項目管理,用戶管理,權限管理等功能,能夠滿足大部分中小團隊的文檔管理需求。
主要功能
- 項目管理,可以對項目進行編輯更改,成員添加等。
- 文檔管理,添加和刪除文檔,文檔歷史恢復等。
- 用戶管理,添加和禁用用戶,個人資料更改等。
- 用戶權限管理 , 實現用戶角色的變更。
- 項目加密,可以設置項目公開狀態,私有項目需要通過Token訪問。
- 站點配置,二次開發時可以添加自定義配置項。
- 附件管理,可管理所有項目中上傳的文件。
- 項目導出,目前支持導出 PDF 格式項目。
主要技術
beego 1.8.0、editor.md、bootstrap 3.2、jquery 1.8、layer 彈出層框架、webuploader 文件上傳框架、Nprogress 庫、jstree、font awesome 字體庫、cropper 圖片剪裁庫
演示
安裝環境
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
安裝go環境
一、源碼安裝
wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
#將文件解壓到/use/local/路徑下(路徑可以自己定義)
tar -zxf go1.7.3.linux-amd64.tar.gz -C /usr/local/
配置環境變量
vi /etc/profile
#追加配置
export PATH=$PATH:/usr/local/go/bin
#刷新配置使其生效
source /etc/profile
二、RPM包安裝
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install golang -y
三、 YUM源安裝
yum install -y golang
安裝成功后,查看go版本
[root@AY140216149Z ~]# go version
go version go1.7.3 linux/amd64
升級glibc版本
查看glibc版本
[root@AY140216131049Z ~]# strings /lib64/libc.so.6 |grep GLIBC_
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
mindoc至少需要2.14版本以上glibc,所以需要自己手動升級
#下載2.14版本
wgte https://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
#解壓編譯安裝
tar -xzvf glibc-2.14.tar.gz
cd glibc-2.14
./configure --prefix=/opt/glibc-2.14
make && make install
視機器性能,編譯安裝時間大概需要將近5-10分鍾,請耐心等待,安裝完成之后
#備份
cp /lib64/libc.so.6 /lib64/libc.so.6.bak
#刪除前一定要備份
rm -rf /lib64/libc.so.6
#創建軟連接
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
查看版本,如果發現2.14說明配置成功
[root@AY140216131049Z build]# strings /lib64/libc.so.6 |grep GLIBC_
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
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE
安裝 mindoc
第一步 下載可執行文件
請從 https://github.com/lifei6671/mindoc/releases 下載最新版的可執行文件,一般文件名為 mindoc_linux_amd.tar.gz 或 mindoc_linux_amd64.zip 。
第二步 解壓壓縮包
請將剛才下載的文件解壓,請執行如下命令解壓:
tar -xzvf mindoc_linux_amd64.tar.gz
或
unzip mindoc_linux_amd64.zip
第三步 創建數據庫
如果你使用的 mysql 數據庫,請創建一個編碼為utf8mb4格式的數據庫,如果沒有GUI管理工具,推薦用下面的腳本創建:
CREATE DATABASE mindoc_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
第四步 配置數據庫
請將剛才解壓目錄下 conf/app.conf.example 重名為 app.conf:
cp conf/app.conf.example conf/app.conf
同時配置如下節點:
#數據庫配置
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
在 MinDoc 根目錄下使用命令行執行如下命令,用於初始化數據庫:
./mindoc_linux_amd64 install
稍等一分鍾,程序會自動初始化數據庫,並創建一個超級管理員賬號:admin 密碼:123456
此時訪問 http://localhost:8181 就能訪問 MinDoc 了。
第五步 配置代理
這一步可選,如果你不想用端口號訪問 MinDoc 就需要配置一個代理了。
Nginx 代理的配置文件如下:
server {
listen 80;
#此處應該配置你的域名:
server_name doc.52itstyle.com;
charset utf-8;
#此處配置你的訪問日志,請手動創建該目錄:
access_log /var/log/nginx/doc.52itstyle.com.access.log;
location ~ .*\.(ttf|woff2|eot|otf|map|swf|svg|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
#此處將路徑執行 MinDoc 的跟目錄
root /mnt/domains/mindoc;
expires 30m;
}
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;
}
}
第六步 啟動程序
#修改可執行權限
chmod +x mindoc_linux_amd64
#后台啟動
nohup ./mindoc_linux_amd64 &
# 重啟Nginx
nginx -s reload
界面展示: