今天发现哟个用于管理markdown文档的管理后台加哦mindoc,然后按照文档跑了起来。

先上作者的大头相,以表尊重。

第一步 下载可执行文件

请从 https://github.com/lifei6671/mindoc/releases 下载最新版的可执行文件,一般文件名为 mindoc_linux_amd.tar.gz 或 mindoc_linux_amd64.zip 。

第二步 解压压缩包

请将刚才下载的文件解压,请执行如下命令解压:

1
2
3
tar -xzvf mindoc_linux_amd64.tar.gz

unzip mindoc_linux_amd64.zip

第三步 创建数据库

如果你使用的 mysql 数据库,请创建一个编码为utf8mb4格式的数据库,如果没有GUI管理工具,推荐用下面的脚本创建:

1
CREATE DATABASE mindoc_db  DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

第四步 配置数据库

app.conf:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#数据库配置
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 根目录下使用命令行执行如下命令,用于初始化数据库:

1
./mindoc_linux_amd64 install

稍等一分钟,程序会自动初始化数据库,并创建一个超级管理员账号:admin 密码:123456

第五步 启动程序

执行如下命令启动程序:

1
2
3
4
5
#修改可执行权限
chmod +x mindoc_linux_amd64

#启动程序
./mindoc_linux_amd64

第六步 配置代理

这一步可选,如果你不想用端口号访问 MinDoc 就需要配置一个代理了。

Nginx 代理的配置文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
}
}

[danger] 你以为这样就完了?

你可能还需要后台启动

1
nohup ./mindoc_linux_amd64 >nohup.out 2>&1 &

你可能还需要配合 Nginx 让 MinDoc 运行在二级子目录

从 v0.10 以及以上版本开发,MinDoc支持运行在二级子目录。

要想让MinDoc运行在二级子目录,需要在app.conf配置文件中配置baseurl项为你的域名,例如:https://www.iminho.me/wiki

之后,在nginx中配置路由规则,将属于MinDoc的路由重定向到MinDoc端口。配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server {
listen 443;
server_name www.iminho.me;
add_header X-Content-Type-Options nosniff;

charset utf-8;
error_page 500 502 503 504 /50x.html;
access_log /var/log/nginx/www.iminho.me/access.log main;
set $root_path '/var/www/www.iminho.me/mindoc';
root $root_path;
try_files $uri $uri/ @rewrite;
index index.php index.html;
location /50x.html {
root /var/www/html;
}
#此处是关键
location /wiki/ {
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:8182/;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
expires 30m;
}
}

以上大多内容都从MinDoc帮助手册获取,地址如下:MinDoc简介,有兴趣的朋友,开始动手吧。