PHPベースのオープンソースのウィキソフトウェア DokuWikiのセキュリティ対策について解説します。
ルートディレクトリ直下のdata・conf・binディレクトリには、データファイルや設定ファイルなどが含まれます。
インターネット上に公開する場合は、これらのディレクトリを公開ディレクトリ外へ移動して安全性を高めましょう。
なお、今回のバージョンは以下の通りです。
- DokuWiki 2018-04-22a “Greebo”
data・conf・binディレクトリの概要
DokuWikiのルートディレクトリ直下にあるdata・conf・binの各ディレクトリに含まれるファイルは、以下の通りです。
ディレクトリ | 概要 |
---|---|
data | ページデータや画像ファイルなど |
conf | 設定ファイル |
bin | コマンドラインツール |
そして、data・conf・binの各ディレクトリ内には.htaccessファイルがあり、Webからのアクセスが制限されています。
内容は以下のようになっています。
<IfModule mod_authz_host>
Require all denied
</IfModule>
<IfModule !mod_authz_host>
Order allow,deny
Deny from all
</IfModule>
しかし、サーバーの設定によっては、.htaccessファイルが有効でない場合があります。
また、より安全性を高めるためにも、これらのディレクトリは公開ディレクトリ(ドキュメントルート)外へ移動させる方が望ましいです。
公開ディレクトリ外への移動
各ディレクトリの移動と設定手順について、解説します。
dataディレクトリ
dataディレクトリの配置パスは、設定項目のsavedirで指定します。
この値を
/home/yourname/data/
のように移動先のパスに変更してから、ディレクトリを移動します。
なお、管理画面で設定変更する前にディレクトリを移動した場合は、管理画面が開けなくなるので、
conf/local.php
ファイルに以下を追加して変更します。
$conf['savedir'] = '/home/yourname/data/';
confディレクトリ
confディレクトリは、デフォルトの場所から変更する場合は、
inc/preload.php
ファイルを作成します。
inc/preload.php.distファイルをコピーして利用すればOKです。
以下のように配置パスを設定してから、ディレクトリを移動します。
<?php
define('DOKU_CONF','/home/yourname/conf/');
binディレクトリ
binディレクトリは、ディレクトリを移動するだけです。
ただし、ディレクトリ内のコマンドラインツールを実行する際は、デフォルトの場所に再度設置してから実行しないとパスが見つからずにエラーとなりますので注意です。
最後に
今回は、DokuWikiのセキュリティ対策について解説しました。
インターネット上に公開する場合は、data・conf・binディレクトリを公開ディレクトリ外へ移動して、安全性を高めましょう。
DokuWikiの使い方については、こちらの記事にまとめています。
コメント