Loading...

TiddlyWiki搭建个人博客

1 简单安装

先安装Node.js环境(这里不详述),再安装TiddlyWiki的Node.js服务端:

npm install -g tiddlywiki

新建数据目录:

cd ~
## 这样会新建一个目录:~/wiki
tiddlywiki wiki --init server

启动:

cd ~
tiddlywiki wiki --listen host=0.0.0.0 port=8888
## ctrl + c 退出

2 PM2运行并用Nginx做代理

2.1 使用/wiki前缀访问时的配置

使用pm2启动TiddlyWiki

npm install -g pm2
pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- wiki --listen host=0.0.0.0 port=8888 path-prefix=/wiki
## 注意:上面的 “/usr/bin/tiddlywiki -- wiki” 这部分中,“--”表示/usr/bin/tiddlywiki命令后跟的参数

配置tiddlywiki前缀

cd ~/wiki/tiddlers
vim '$__config_tiddlyweb_host.tid'
## 输入一下内容:
title: $:/config/tiddlyweb/host
$protocol$//$host$/wiki/
## 然后pm2重启TiddlyWiki
pm2 stop TiddlyWiki
pm2 start TiddlyWiki

配置nginx:

    server {
        listen 80;
        server_name example.com;
        location / {
            root html;
            index index.html;
        }
        location ^~/wiki/ {
            rewrite ^/wiki/(.*)$1 break;
            proxy_pass http://127.0.0.1:8888;
            proxy_set_header        Host             $host;
            proxy_set_header        X-Real-IP        $remote_addr;
            proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }   

页面访问:http://example.com/wiki

2.2 不使用任何前缀访问时的配置

使用pm2启动TiddlyWiki

npm install -g pm2
pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- wiki --listen host=0.0.0.0 port=8888 credentials=wiki-user.csv
## 注意:上面的 “/usr/bin/tiddlywiki -- wiki” 这部分中,“--”表示/usr/bin/tiddlywiki命令后跟的参数

不用配置tiddlywiki前缀

cd ~/wiki/tiddlers
rm '$__config_tiddlyweb_host.tid'

## 然后pm2重启TiddlyWiki
pm2 stop TiddlyWiki
pm2 start TiddlyWiki

配置nginx:

    server {
        listen 80;
        server_name example.com;
        if ($request_method ~ "^(HEAD|OPTIONS)") {
        	return 204;
        }

        location / {
            proxy_pass http://127.0.0.1:8888;
            proxy_set_header        Host             $host;
            proxy_set_header        X-Real-IP        $remote_addr;
            proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    } 

页面访问:http://example.com

3 恢复备份

cd ~
mkdir wiki_test
cd wiki_test
cp ~/backup.html ~/wiki_test/
## 新建一个wiki,叫wiki_test
tiddlywiki wiki_test --init server
## 从backup.html文件恢复数据到刚新建的wiki_test
caibh@company:~/wiki_test$ tiddlywiki wiki_test --load /home/caibh/wiki_test/backup.html
## 启动wiki_test
tiddlywiki wiki_test --listen host=0.0.0.0 port=8888

4 登录控制

相关文档:https://tiddlywiki.com/prerelease/static/WebServer.html

创建用户:

vim /root/wiki/users.csv
## 输入以下内容:
username,password
aaa,123456
bbb,123456

启动时指定readerswriters

pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- /root/wiki --listen host=0.0.0.0 port=8888 credentials=/root/wiki/users.csv readers=aaa,bbb writers=bbb

nginx加入ssl,就更安全:

    server {
        listen 443 ssl;
        server_name example.com;

        ssl_certificate             /etc/nginx/cert/example.com.pem;
        ssl_certificate_key         /etc/nginx/cert/example.com.key;
        ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers                 HIGH:!aNULL:!MD5;

        # https://example.com proxy to TiddlyWiki

        if ($request_method ~ "^(HEAD|OPTIONS)") {
            return 204;
        }

        location / {
            proxy_pass http://127.0.0.1:8888;
            proxy_set_header        Host             $host;
            proxy_set_header        X-Real-IP        $remote_addr;
            proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

    }
posted @ 2020-10-02 22:15  choizzzi  阅读(1521)  评论(0编辑  收藏  举报