wiki.jsの構築
wiki.jsは社内wikiを作るのに最適なシステムです。
大きな会社だとAtlassianのConfluenceなどを社内wikiで使っていると思いますが、wiki.jsを使えばOSSで構築できます。
また、Markdown方式での記述やLDAP/OIDC等による認証機能も対応しています。
1. 構築環境
OS
- ProxmoxVE 9.0.11
- Debian13(LXC)- CPUS数: 2
- RAM: 2GB
- ストレージ: 16GB
 
ミドルウェア
- PostgreSQL17
- Node.js20
- Wiki.js 2.5.308
2. 構築手順
2.1. 事前準備
以下の2つの手順よりPostgreSQLとNode.jsのインストールを完了してください。
なお、wiki.jsの動作に必要な各ミドルウェアのバージョンは以下の通りです。
- PostgreSQL 9.5以降
- Node.js 18.0/20.0/22.0
2.2. wiki.js起動用ユーザ作成
wiki.js起動用のユーザwikijsを作成します。
パスワードはなしで作成します。
$ adduser --system --shell /bin/bash --gecos 'Wiki.js Control' --group --disabled-password --home /home/wikijs wikijs2.3. wiki.jsのダウンロードと設定
wiki.js用ディレクトリの作成
wiki.js自体が保存されるディレクトリを作成します。
$ mkdir /var/wikijswiki.jsのダウンロードと配置
$ cd /var
$ # wiki.jsのインストール
$ wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
$ # wiki.jsの展開と配置
$ tar xzf wiki-js.tar.gz -C /var/wikijs
$ #wiki.jsパッケージの削除
$ rm wiki-js.tar.gz
$ #/var/wikiにwikijsユーザの権限付与
$ chown -R wikijs:wikijs /var/wikijswiki.jsの設定
/var/wikijsに移動します。
cd /var/wikijsconfig.sample.ymlからconfigを作成します。
cp config.sample.yml config.yml/var/wikijs/config.ymlの該当箇所を以下のように改変します。
db:
  type: postgres
  host: localhost
  port: 5432
  user: wikijs
  pass: wikijsrocks
  db: wiki
  ssl: false
  sslOptions:
    auto: true
  schema: public上記の例のパラメータは以下です。
| 項目 | 値 | 
|---|---|
| postgreSQL稼動元 | localhost(wiki.jsと同じ) | 
| postgresqlユーザ | wikijs | 
| postgresqlユーザのパスワード | wikijsrocks | 
| postgresqlのデータベース | wiki | 
2.4. PostgreSQLでの設定
wiki.js用のデータベースとユーザを作成します。
$ psql
# wiki.js用ユーザ作成
postgres=# CREATE USER wikijs WITH PASSWORD 'wikijsrocks';
CREATE ROLE
# wiki.js用データベース作成
postgres=# create database wiki;
CREATE DATABASE
# wikiデータベースにwikijsユーザに全権限付与
postgres=# GRANT ALL PRIVILEGES ON DATABASE wiki TO wikijs;
GRANT
# データーベースのオーナ変更
postgres=# ALTER DATABASE wiki OWNER TO wikijs;
ALTER DATABASE
# データベース接続停止
postgres=# \q2.5. Systemdサービスの設定
Serviceファイルの作成
systemdでOS起動時に立ち上がるように設定を行います。/etc/systemd/system/wikijs.serviceとしてファイルを作成し、以下内容を保存してください。
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=wikijs
Environment=NODE_ENV=production
WorkingDirectory=/var/wikijs
[Install]
WantedBy=multi-user.targetSystemdへの登録と起動
systemctl enable wikijs
systemctl start wikijs2.6. サイトへのアクセス
http://サーバのIP:3000でアクセス可能です。
実際の運用ではNginxなどをWebサーバとしてwiki.jsの前段に配置して、wikijsのAPサーバが後ろに来る構成にする方が良い構成と言えます。