如何搭建一个属于自己的在线wiki文档系统?

https://www.imooc.com/article/252045 由于微信编辑器不支持Markdown语法,下载文中资料请点击阅读原文

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.

如何搭建

该系统可以根据用户自定义缓存驱动,系统支持的有file缓存,memcached,redis等缓存方式。只需要修改配置文件中的如下配置,将file修改为你的缓存驱动即可。我这里使用的redis作为缓存驱动,下面介绍一下我安装redis的过程与使用。

cache_provider="${MINDOC_CACHE_PROVIDER||file}"

> 搭建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即可访问.作者也贴出来如何使用域名管理的刚发.代码如下.
server {
    listen       80;
    #此处应该配置你的域名:
    server_name  webhook.iminho.me;
    charset utf-8;
    #此处配置你的访问日志,请手动创建该目录:
    access_log  /var/log/nginx/webhook.iminho.me/access.log;
    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;
    }
}

原文发布于微信公众号 - 浪子编程走四方(qq1005349393)

原文发表时间:2019-08-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券