关于golang:推荐一套基于go开发的个人文档管理系统

6次阅读

共计 4386 个字符,预计需要花费 11 分钟才能阅读完成。

文章简介

始终想开发或者找一个开源的软件,性能就相似看云一样,用来搭建属于一套本人的文档管理系统,将本人平时的货色集中化治理,造成一个手册。于是找到了 mindoc 这样一款不错的文档治理系统软件。本文大抵介绍一下如何装置,根本的性能介绍。

性能介绍

次要性能包含文档治理、导出、团队治理、文章治理等性能。特地适宜团队或者集体做一个知识库文档管理系统。

搭建环境

mindoc 反对 Linux 和 Windows 零碎环境,我这里应用的是 Linux 零碎。零碎的配置信息如下: Centos7.4;MySQL5.7; MySQL 属于独立搭建的,如果不会的能够参考一下集体之前分享的一篇文章 Linux 搭建 MySQL 环境 , 其余的货色也没了,属于一个污浊的 Linux 零碎。

搭建步骤

拉取源码

源码地址

解压并配置环境

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 很多软件,通过界面来装置利用。

启动服务

./mindoc_linux_amd64

问题呈现,在启动的过程中可能会呈现如下的状况:

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”

解决问题。

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 的配置信息改外其余的模式:

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

上面是几张页面的截图,因为性能很好上手应用,这里就不独自介绍如何应用性能了。

正文完
 0