DokuWiki.biz

オープンソースのウィキソフトウェア「DokuWiki」の設定、テンプレートカスタマイズ、プラグイン開発などのメモ書き。

ユーザ用ツール

サイト用ツール


setting:security

セキュリティ対策(公開ディレクトリ外への移動)

このページでは、DokuWikiのbinconfdataディレクトリを公開ディレクトリ(ドキュメントルート)外へ移動するセキュリティ対策の方法を説明する。

インターネット上に公開するウィキサイトにする場合は、このセキュリティ対策は必ず実施しておきたい。

data、conf、binディレクトリの概要

DokuWikiのルートディレクトリ直下にあるdataconfbinの各ディレクトリに含まれるファイルは、以下である。

ディレクトリ 概要
data ページデータや画像ファイルなど
conf 設定ファイル
bin コマンドラインツール

そして、dataconfbinの各ディレクトリ内には.htaccessファイルがあり、以下の内容になっている。これによって、アクセスが制限されている。

<IfModule mod_authz_host>
    Require all denied
</IfModule>
<IfModule !mod_authz_host>
    Order allow,deny
    Deny from all
</IfModule>

しかし、サーバーのApacheの設定によっては、.htaccessファイルが有効でない場合がある。また、より安全性を高めるためにも、これらのディレクトリは公開ディレクトリ(ドキュメントルート)外へ移動させる方が望ましい。

公開ディレクトリ(ドキュメントルート)外への移動

dataディレクトリ

dataディレクトリの配置パスは、設定項目savedirで指定する。/home/yourname/data/のように移動先のパスに変更してから、ディレクトリを移動する。

なお、管理画面で設定変更する前にディレクトリを移動した場合は、管理画面が開けないので、conf/local.phpファイルに以下を追加して変更する。

$conf['savedir'] = '/home/yourname/data/';

confディレクトリ

confディレクトリは、デフォルトの場所から変更する場合は、inc/preload.phpファイルを作成1)し、以下のように配置パスを設定してから、ディレクトリを移動する。

<?php
 
define('DOKU_CONF','/home/yourname/conf/');

binディレクトリ

binディレクトリは、ディレクトリを移動するだけでよい。

ただし、ディレクトリ内のコマンドラインツールを実行する際は、デフォルトの場所に再度設置してから実行しないとパスが見つからずにエラーとなる。

参考ページ

1)
inc/preload.php.distファイルをコピーして利用する。
setting/security.txt · 最終更新: 2018/09/07 09:24:12 by admin