推薦一套基於go開發的我的文檔管理系統。

文章簡介

一直想開發或者找一個開源的軟件,功能就相似看雲同樣,用來搭建屬於一套本身的文檔管理系統,將本身日常的東西集中化管理,造成一個手冊。因而找到了mindoc這樣一款不錯的文檔管理系統軟件。本文大體介紹一下如何安裝,基本的功能介紹。mysql

功能介紹

主要功能包括文檔管理、導出、團隊管理、文章管理等功能。特別適合團隊或者我的作一個知識庫文檔管理系統。linux

搭建環境

mindoc支持Linux和Windows系統環境,我這裏使用的是Linux系統。系統的配置信息以下: Centos7.4; MySQL5.7; MySQL屬於獨立搭建的,若是不會的能夠參考一下我的以前分享的一篇文章Linux搭建MySQL環境 ,其餘的東西也沒了,屬於一個純淨的Linux系統。git

搭建步驟

拉取源碼

源碼地址sql

解壓並配置環境

tar -zxvf mindoc_linux_amd64.zip

找到config目錄下面的app.config文件,若是不存在該文件,應該有一個app.config.example文件,將該文件複製一分,命名爲app.conf便可.數據庫

cp app.conf.example app.conf
#支持MySQL和sqlite3兩種數據庫,若是是sqlite3 則 db_database 標識數據庫的物理目錄db_adapter="${MINDOC_DB_ADAPTER||mysql}"db_host="${MINDOC_DB_HOST||127.0.0.1}"db_port="${MINDOC_DB_PORT||3306}"db_database="${MINDOC_DB_DATABASE||mindoc}"db_username="${MINDOC_DB_USERNAME||root}"db_password="${MINDOC_DB_PASSWORD||}"
我這裏使用的MySQL,所以將adapter改成mysql便可。下面的一些信息改爲MySQL實際的配置信息便可。其餘的配置信息就根據本身實際須要來作修改便可。

配置MySQL信息

# 建立mysql數據庫create database mindoc;# 建立mysql用戶CREATE USER 'username'@'host' IDENTIFIED BY 'password';# 受權給新建的mysql用戶grant all ON databasename.tablename TO 'username'@'host';# 刷新全新啊flush privileges;
注意事項
  1. username:建立的MySQL用戶名稱。
  2. host: MySQL用戶受權地址,若是新建的MySQL用戶只能本地登陸,則使用127.0.0.1便可。若是須要容許該用戶遠程登陸,則使用使用%。
  3. password:MySQL用戶的密碼
  4. databasename:新建MySQL用戶受權對應的數據庫。這裏直接寫新建的數據庫mindoc便可。若是是受權全部數據庫,則使用*表示。
  5. tablename:受權數據庫對應的數據表,若是隻是受權新建MySQL操做部分表,直接寫表名,通常都是受權全部表,直接寫*便可。
  6. grant all:這裏指的給新建的MySQL用戶,授予全部的權限。若是隻是部分受權,例如增刪改查,則使用insert,delete,update,select 代替,每個權限之間用","隔開。

安裝啓動

初始化數據 進入mindoc解壓的根目錄,會發現有一個mindoc_linux_amd64文件,該文件爲啓動文件。執行下面的命令:服務器

./mindoc_linux_amd64 install
該命令的做用時初始化一些數據到MySQL中。就相似PHP不少軟件,經過界面來安裝應用。

啓動服務app

./mindoc_linux_amd64

問題出現,在啓動的過程當中可能會出現以下的狀況:this

OperationalError: (_mysql_exceptions.OperationalError) (1055, "Expression #1 ofSELECT list is not in GROUP BY clause and contains nonaggregated column 'db.table.create_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") [SQL: u'SELECT table.create_time AS table_create_time, table.count AS table_count \nFROM table \nWHERE table.cluster_id = %s AND table.create_time > %s GROUP BY table.count'] [parameters: (1, datetime.datetime(2000, 1, 1, 0, 0))]
在實際的過程當中錯誤的語言不是這樣的,在安裝時忘記記錄了,不過大體的錯誤信息是這樣的。只要關注下面這一段錯誤碼,就好了。1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db.table.create_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by"

解決問題。spa

mysql> show variables like 'sql_mode';+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| Variable_name | Value                                                                                                                                     |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| sql_mode      | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

執行下面的命令,將該sql_mode的配置信息改外其餘的模式:code

set @@sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

此時,再來查詢該環境變量的值,就是以下的值了:

mysql> show variables like 'sql_mode';+---------------+------------------------------------------------------------------------------------------------------------------------+| Variable_name | Value                                                                                                                  |+---------------+------------------------------------------------------------------------------------------------------------------------+| sql_mode      | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |+---------------+------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
記得修改配置以後,必定的重啓MySQL服務,不然是不會生效的。

重啓mindoc服務。

./mindoc_linux_amd64
若是須要將該服務以守護進程的方式啓動,則在後面加一個 &便可。

使用mindoc

上面正常將服務啓動並安裝,接下來使用下面的連接便可訪問:

# ip爲你服務器ip地址,若是是本地則使用localhost,或者127.0.0.1ip:8181

下面是幾張頁面的截圖,因爲功能很好上手使用,這裏就不單獨介紹如何使用功能了。

相關文章
相關標籤/搜索