RayLeigh

陈仓颉

Nothing is true, everything is permitted.

Node.jsをベースにしたTiddlyWikiをサーバーにデプロイする方法

Node.js TiddlyWiki の例:

デプロイプロセスを記録します。前提条件は、ドメインと VPS が必要で、基本的な Linux コマンドを理解している必要があります。

Node.js と TiddlyWiki のインストール#

  • パッケージの更新 apt update & apt upgrade
    • RedHat 系は yum を使用
  • Node.js のインストール apt install npm
  • TiddlyWiki のグローバルインストール npm install -g tiddlywiki
  • TiddlyWiki のバージョンを確認 tiddlywiki --version
  • TiddlyWiki ディレクトリを作成 mkdir ~/wiki wiki は任意の名前に置き換えてください
  • TiddlyWiki ディレクトリ内に基本ファイルを作成 tiddlywiki wiki --init server
  • ユーザー権限テキストを作成 vim ~/wiki/users.csv または nano などのテキストツールを使用

users.csv のテキスト内容:

username,password
johndoe,!@#$%^

最初の行は必須項目であり、2 行目はユーザー名と平文パスワードです。英小文字のコンマで区切り、スペースは含まれません(詳細は公式ドキュメントを参照してください:WebServer Parameter: credentials

Nginx と Let's Encrypt のインストール#

既に知っている場合は、このステップをスキップできます。重要なのは、リバースプロキシを正しく設定することです。

  • Nginx のインストール apt install nginx
  • プロキシサーバーの設定を作成および編集 cd /etc/nginx/sites-available そして vim example.com
  • example.com はドメイン名です

example.com のテキスト内容:

server {
    server_name example.com
    client_max_body_size    100M;
    
    location / {
    proxy_pass   http://127.0.0.1:8080;
    proxy_set_header        Host             $host;
    proxy_set_header        X-Real-IP        $remote_addr;
    proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

client_max_body_size のエントリは、最大アップロードファイルサイズを設定します

  • プロキシサーバーをリンクして有効化 ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
  • Let's Encrypt のインストールおよび nginx プラグインの有効化 apt install certbot python3-certbot-nginx
  • SSL 証明書の作成 certbot --nginx 指示に従って設定を行います
  • TiddlyWiki を実行し、ドメインにアクセスして正常に起動するかテストします tiddlywiki wiki --listen credentials=users.csv "readers=(anon)" "writers=(authenticated)"
    • credentials フィールドはユーザー権限テキストの名前を指定し、readers は読み取り権限(ここでは anon は匿名、つまり任意の訪問者)、writers は書き込み権限(authenticated は credentials で指定されたユーザーを読み取ります)

pm2 のインストールとバックグラウンドでの実行設定#

  • 最新バージョンの pm2 をグローバルインストール npm install -g pm2@latest
  • TiddlyWiki の起動スクリプトを準備 vim ~/tw.sh

スクリプトの内容:

cd /root
tiddlywiki wiki --listen credentials=users.csv "readers=(anon)" "writers=(authenticated)"
  • tw.sh に実行権限を付与 chmod +x /root/tw.sh
  • pm2 デーモンで TiddlyWiki を実行 pm2 start /root/tw.sh
  • 現在の状態を保存 pm2 save
  • 起動時に自動起動するように設定 pm2 startup

これで、Node.js バージョンの TiddlyWiki のホームページにアクセスし、いくつかの方法でログインして編集することができます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。