MinDoc是什么?

MinDoc是一个在线的文档管理系统,该系统适用于团队、个人等使用。开发者最初的目的是为了便于公司内部使用,仿照看云开发。有laravel版本以及golang版本。不过laravel版本部署起来相当麻烦,因为到搭建PHP开发环境还需要自己配置,加上精力有限,暂停了laravel的研发。本文中用golang版本介绍如何安装,安装教程其实在GitHub是有的,但是在安装中,发现作者有几个地方写的不够完善,特此记录此文。

如何获取MinDoc

官网,github,wiki,代码下载,演示版本

搭建环境以及准备工作

  • 搭建环境没有什么特殊的要求,只要能正常运行的的系统即可,本文演示的是centos7.0,1核2G。
  • redis搭建,看过作者的文章,没发现必须要搭建redis,但是在实际的搭建中必须要求redis服务。搭建redis的步骤在如何搭建中介绍.
  • mysql的版本,我是选择的5.7,由于该演示版本属于golang开发,对golang没了解过,也不知道对mysql有啥版本要求,建议最低5.6.

如何搭建

搭建redis

  • 下载redis,http://download.redis.io/releases/redis-4.0.11.tar.gz
  • 解压 tar -zxvf redis-4.0.11
  • 创建软连接便于后期版本更新 ln -s redis-4.0.11 redis
  • 更新系统tcl,因为4.0对tcl最低要求在8.5,直接使用yum update tcl即可.安装完成检测一下是否安装了gcc,yum install gcc即可安装.
  • 开始编译安装 cd redis && make && make test && make install.这几步可以分开一步一步执行也便于发现哪一步出错了.
  • 设置redis以后台进程的方式运行服务.找到redis 目录下面的redis.conf文件.将文件复制到/opt目录下面(这个目录自行定义),这样便于管理多个redis服务.修改/opt下面的rdis.conf,将配置文件中daemonize no修改为daemonize yes.
  • 启动服务 redis-service /opt/redis.conf

配置golang系统环境变量并安装

  • 根据如何获取中介绍的演示版本下载之后,进行解压并将所有的应用程序移动到/opt目录下面(这个目录可自行定义,在解压之前最好创建一个目录并把压缩包移动到这个目录中去).
  • 配置系统环境变量,我这里配置的是全局的系统环境变量,vim /etc/profile 将如下代码添加到最底部export ZONEINFO=$PATH:/opt/lib/time/zoneinfo.zip,注意的是opt这里的目录是你自行定义的.因为上一步提及到了我移动到/opt目录了.
  • 修改数据库配置文件,配置文件在conf/app.conf文件中,填写自己的数据库配置信息即可.建议创建个新的账号,授予部分权限http://www.qqdeveloper.com/a/76.html,可以看考该文章创建数据库账号。
  • 授予权限和安装 chmod +x mindoc_linux_amd64 && ./mindoc_linux_amd64 service install 这样就能注册到系统服务中了,也就是说是以后台运行的方式运行服务.
  • 启动/停止/重启服务 service mindocd start/stop/restart这样就安装完毕了.直接使用http://ip:8181即可访问.作者也贴出来如何使用域名管理的刚发.代码如下.

    1. server {
    2. listen 80;
    3. #此处应该配置你的域名:
    4. server_name webhook.iminho.me;
    5. charset utf-8;
    6. #此处配置你的访问日志,请手动创建该目录:
    7. access_log /var/log/nginx/webhook.iminho.me/access.log;
    8. location / {
    9. try_files /_not_exists_ @backend;
    10. }
    11. # 这里为具体的服务代理配置
    12. location @backend {
    13. proxy_set_header X-Forwarded-For $remote_addr;
    14. proxy_set_header Host $http_host;
    15. proxy_set_header X-Forwarded-Proto $scheme;
    16. #此处配置 MinDoc 程序的地址和端口号
    17. proxy_pass http://127.0.0.1:8181;
    18. }
    19. }

    本文需要注意的地方

  • 本文和作者的文章内容差不多,开头也说了只是为了分享作者没写全的地方.

  • 第1点,就是redis的安装
  • 第2点,就是安装环节中的./mindoc_linux_amd64 service install,以注册服务的方式安装.虽然作者的文章后面也提及到这点,不过发现不好使.

如何安装使用MinDoc搭建个人在线wiki文档的更多相关文章

  1. Jeecg社区wiki在开放,最终能够在线看文档啦!!!

    Jeecg社区wiki在开放,最终能够在线看文档啦! .! 2014-12-18 scott JEECG jeecg开源社区wiki正式启动了.方便大家看文档 訪问地址是: http://osbaba ...

  2. C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)

    今天,他来了(weboffice在线编辑文档). 上次写了一个在线预览的博,当然,效果并不是太理想,但是紧急解决了当时的问题. 后来,小编重新查找资料,求助大牛,终于使用新的方式替换了之前的low方法 ...

  3. 使用swagger实现web api在线接口文档

    一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...

  4. WebApi生成在线API文档--Swagger

    1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...

  5. .NET Core WEB API使用Swagger生成在线接口文档

    1项目引用Swashbuckle.AspNetCore程序集和Microsoft.Extensions.PlatformAbstractions程序集 右击项目打开"管理NuGet程序包.. ...

  6. 使用swagger实现web api在线接口文档(转载)

    一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...

  7. centos6编译安装zabbix3.0和中文支持整理文档

    编者按: 最近公司部分业务迁移机房,为了更方便的监控管理主机资源,决定上线zabbix监控平台.运维人员使用2.4版本的进行部署,个人在业余时间尝鲜,使用zabbix3.0进行部署,整理文档如下,仅供 ...

  8. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  9. Node.js的下载、安装、配置、Hello World、文档阅读

    Node.js的下载.安装.配置.Hello World.文档阅读

随机推荐

  1. vue3.0环境最新安装步骤

    安装最新的node.js版本: https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi 安装vue:  npm install -g @vue/cli ...

  2. javascript通用代码合集

    1.逐一绑定操作到window.onload上 //func:新函数 function addLoadEvent(func){ //把现有的window.onload事件处理函数的值存入变量oldon ...

  3. Anaconda管理多版本的python环境

    通过Conda的环境管理功能,我们能同时安装多个不同版本的Python,并能根据需要自由切换.下面我将给大家分享一下,新增Python版本,切换,再切回主版本的详细过程. 方法/步骤   1 首先确保 ...

  4. python的enumerate函数

    python的enumerate函数用于循环索引和元素 例如 foo = 'abc' for i , ch in enumerate(foo): print ch, '(%d)' % i 输出结果: ...

  5. Python实例---基于页面的后台管理[简单版]

    后台管理菜单 + 母板[css/content/js] 向后台提交数据[2种]:       1.  模态对话框(数据少操作,且Js复杂):        form表单 :优点:简单,前端提交后后台处 ...

  6. 沉淀再出发:PHP的中级内容

    沉淀再出发:PHP的中级内容 一.前言     前面我们介绍了PHP的简单的语法知识以及相关的用法,接下来我们将PHP+mysql以及PHP+ajax结合起来进行研究. 二.PHP+mysql     ...

  7. 关于Class类的getResource().getPath()方法

    程序中配置文件如果放置在classes文件夹,那么我们就可以使用Class类的getResource().getPath()方法获取文件路径. 例如: String path = DBUtil.cla ...

  8. UVa 11971 - Polygon(几何概型 + 问题转换)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. P1314 聪明的质监员

    题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1 到 n 逐一编号,每个矿石都有自己的重量 \(w_i\)​ 以及价值 \(v_i\) .检验矿产的流程是 ...

  10. [19/04/24-星期三] GOF23_创建型模式(建造者模式、原型模式)

    一.建造者模式 本质:分离了对象子组件的单独构造(由Builder负责)和装配的分离(由Director负责),从而可以构建出复杂的对象,这个模式适用于:某个对象的构建过程十分复杂 好处:由于构建和装 ...