インフルエンザで強制的に出勤禁止になって、時間があるので、VPSのメンテやらをしている。
Wikiをもう一度再構築したいと思っていて、どうせならと、新しくDokuWikiを試してみたい。時間があるのでDokuWikiをVPSに導入してみた。
今まで使っていたPukiWiki系のコンテンツもDokuWikiに移行できるらしい。まずはプライベートに使う設定でお試ししよう。
どんな風に作業を進めるかだが、試行錯誤になりそうなので、この記事を作業記録にする。
作業の流れはこんな感じだと思う。逐次、追記修正しつつ進める。
- まずは、DokuWikiの概要を勉強
- 動作環境(サーバの要件)を確認
- 最新版のファイルを導入
- ウェブサーバの設定
- 最低限の基本設定
- アクセスして動作確認 ← いまここ
- SSL化
- PukiWikiからのデータ移行
- 使いながら各機能の動作確認
- 細かな設定の見直し
- 表示画面の調整
- 一部コンテンツの公開
- 不具合の修正
- コンテンツの公開
いまは、アクセスして動作確認中。次はSSL化。
まずは、DokuWikiの概要を勉強
これはもう、DokuWikiのサイトを参照。と同時に、いくつかのサイトが勉強になった。
ja:dokuwiki [DokuWiki]
情報共有にmarkdown系WikiよりDokuWikiをすすめる理由 - Qiita
情報共有に何を使っていますか?昔ながらのPukiWikiですか?有料のConfuluenceですか?GitHubやGitLabを利用していますか?Wikiではなく、メールだったり、Excelな…
DokuWikiで情報発信 [DokuWikiで情報発信]
動作環境(サーバの要件)を確認
本家サイトのこちらに書かれているとおり。
ja:requirements [DokuWiki]
- PHP対応のウェブサーバ → ○ 自分のVPSは、Nginx 1.14.2
- PHP 5.3.3以上 → ○ いまどきなので、自分のVPSでは、PHP 7.3
- 画像のリサイズのためには、PHP GD 関数か Image Magick が必要 → ○ どちらも導入済み
- PHP PCRE 関数は、UTF-8 対応としてコンパイルする必要 → △ これは分からなかったが、結果的に問題なさそうなのでクリアしていたと思われる
最新版のファイルを導入
ダウンロードページからダウンロードすればよい。
Download DokuWiki
自分は、GithubからVPSに直接ダウンロードし、一度、/tmpにダウンロードして、展開した。
wget https://github.com/splitbrain/dokuwiki/archive/master.zip
展開したファイル一式をウェブサーバのディレクトリにコピーした。
ウェブサーバの設定
ウェブサーバはNginxなので、この記事が参考になった。
高負荷に耐えられるNginx+php-fpmでDokuwikiを使う準備 [DokuWikiで情報発信]
/etc/nginx/conf.d/dokuwiki.confとして、「ドメインごとに設定例」の内容を使わせてもらった。
server { listen 80; server_name test1.example.com; access_log /var/log/nginx/test1.access.log; error_log /var/log/nginx/test1.error.log; root /usr/share/nginx/html/test1/dokuwiki; index index.html index.php doku.php; #Basic認証 #auth_basic "Restricted"; #auth_basic_user_file /etc/nginx/htpasswd; #maximum file upload size is 4MB - change accordingly if needed client_max_body_size 4M; client_body_buffer_size 128k; rewrite ^(/)_media/(.*) $1lib/exe/fetch.php?media=$2 last; rewrite ^(/)_detail/(.*) $1lib/exe/detail.php?media=$2 last; rewrite ^(/)_export/([^/]+)/(.*) $1doku.php?do=export_$2&id=$3 last; location / { if (!-f $request_filename) { rewrite ^(/)(.*)?(.*) $1doku.php?id=$2&$3 last; rewrite ^(/)$ $1doku.php last; } } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } location ~ ^/(data|conf|bin|inc)/ { deny all; } location ~ ^/lib/^((?!php).)*$ { root html/dokuwiki/lib; expires 30d; } gzip on; gzip_types image/png image/gif image/jpeg text/javascript text/css; gzip_min_length 1000; gzip_proxied any; gunzip on; }
confファイルを追加したので、Nginxを再起動した。
また、DokuWikiのためにサブドメインを割り当てたので、DNSも設定した。
最低限の基本設定
基本的には、セキュリティに気をつけながら、最低限の機能が動けばよいのだが、とにかくよくわからなかったので、こちらの設定を見ながら作業した。
DokuWikiをインストールしたらすぐに行う設定 [DokuWikiで情報発信]
DokuWikiで公開前までにしておく設定 [DokuWikiで情報発信]
あと、indexmenuプラグインをとりあえず導入した。
DokuWikiに最初に入れるお勧めプラグイン [DokuWikiで情報発信]
SSL化以降の作業は、逐次別の記事で報告する予定。
コメント
[…] VPSにDokuWikiを導入した記事の続き。今回は、DokuWikiをSSL化した。 […]
[…] VPSにDokuWikiを導入、SSL化の続き。今回は、DokuWikiにPukiWikiからデータを移行した。 […]
[…] まずは、DokuWikiの概要を勉強 […]