自宅用にシンプルなナレッジベースを探していて(名前は知っていたけれど触ったことのない)DokuWiki を入れてみました。
- DokuWiki
https://www.dokuwiki.org/ja:dokuwiki
個人的な一押しは GROWI なんだけど、あれ Java とか必要だから自宅用だと運用コスト的にちょっと敷居が高い。
というわけで、入れてみました。
目次
導入
なるほど、DB 不要ということでインストーラが無くて超シンプルで楽ちん。
とりあえず、Languages で ja - 日本語
、Popular Plugins で Video Share Plugin
だけを選択して、ダウンロード。
前提
ウェブサーバと PHP が導入済みであること。
本体
まず、ダウンロードした DokuWiki 本体を解凍して DocumentRoot に格納。権限付与。
$ cd /tmp
$ tar xzvf dokuwiki-f3dac4cc2186c17e3ec0cffd7427d7c8.tgz
$ mv /tmp/dokuwiki/* /var/www/html/
$ chown -R www-data:www-data /var/www/html
install.php
を開くと PHP 関数 xml_parser_create
が無いとのこと。
The installer found some problems, indicated below. You can not continue until you have fixed them.
PHP function xml_parser_create is not available. Maybe your hosting provider disabled it for some reason?
Retry
パッケージを追加導入してリブートすれば OK。
$ sudo apt install php-xml
めでたくインストーラー画面が表示されるので、設定して保存。
プラグイン
プラグインは lib/plugins 配下にフォルダごと格納すれば OK。(格納先ディレクトリ名は plugin.info.txt
参照のこと)
ja:devel:plugin_info [DokuWiki]
各プラグインは、自分自身ついて基本的な情報を提供する必要があります。 プラグインディレクトリにあるplugin.info.txt
というファイルを介して行います。
markdowku(Markdown Plugin)
ページ記述にマークダウンを使用したいので導入。
$ wget -P /tmp/ https://github.com/Medieninformatik-Regensburg/dokuwiki-plugin-markdowku/archive/refs/heads/master.zip
$ unzip master.zip
$ cat markdowku/plugin.info.txt | grep base
base markdowku
$ mv dokuwiki-plugin-markdowku-master /var/www/html/lib/plugins/markdowku
xbr
上記 Markdown Plugin を入れても改行には半角スペース 2つが必要なので、改行を <br />
にパースしてくれる当プラグインを導入。
※ただ、複数行空白行を入れるときは、従来どおり //
が必要なんだが(Markdown Plugin のパーサーで綺麗に表示されないので)結局半角 2スペースで対応してる。
xbr
は導入後に管理画面の [設定管理] - [Wikiの出力(xhtml)に使用するレンダラー] でXBR Plugin
を選択する必要がある。
Pagelist
ページ一覧を作成するプラグイン。
他のプラグインから参照されることもあるらしいので使い方が分からないけど導入。
$ wget -P /tmp/ https://github.com/dokufreaks/plugin-pagelist/tarball/master
$ unzip master
$ cat dokufreaks-plugin-pagelist-a5816f0/plugin.info.txt | grep base
base pagelist
$ mv dokufreaks-plugin-pagelist-a5816f0 /var/www/html/lib/plugins/pagelist
PgList
上記 Pagelist だとページ一覧作成できなかったので導入。
$ wget -P /tmp https://github.com/parmaja/pglist/archive/master.zip
$ unzip master.zip
$ cat pglist-master/plugin.info.txt | grep base
base pglist
$ mv pglist-master /var/www/html/lib/plugins/pglist
- 設定例
ページ一覧を表示。{{pglist> files dirs}}
Changes
上記 PgList とセットで使用。
- 設定例
更新履歴の直近 3件を表示、且つ更新ユーザ非表示。{{changes>3&render = pagelist(header,nouser)}}
感想
ページ表示が超高速。
まだ 2ページしか作ってないからかもしれないけど...