1. It seems your data directory is not properly secured.
DokuWiki を使っていると、管理画面に以下のメッセージが表示されることがあります。
「It seems your data directory is not properly secured.」を日本語に翻訳すると、
となりますが、これは「data
ディレクトリがブラウザからアクセスできてしまう」ということを警告しています。
また、この表示部分は画像になっており、Security [DokuWiki] へのリンクが貼られています。その先のページを読んでみると、data
ディレクトリは「Web からアクセスできてはいけません」とあり、こちらも同じようなことを言っています。
2. 対応方法
対応方法ですが、Security [DokuWiki] に書いてある通り、data
ディレクトリをウェブからアクセスできないようにするだけです。
付属している data/.htaccess
ファイルに、アクセスを制限する設定が書いてあるはずなので、ここをちゃんと確認しましょう(以下がその設定内容です)。
<IfModule mod_authz_host>
Require all denied
</IfModule>
<IfModule !mod_authz_host>
Order allow,deny
Deny from all
</IfModule>
それでもダメなら、Security [DokuWiki] を読みます。
最悪、このメッセージを消したいだけなら、data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
ファイルだけアクセスできないようにすればよいです。このファイルのパーミッションを変えるなり、何をしても構いません。
3. 珍しいアクセスチェックの仕組み
今回のエラーメッセージは、簡易的な「アクセス設定チェック機能」によって表示されています。
どういう機能かというと、
- 正常に設定できていたら ウェブからアクセスできないはずのディレクトリに、画像ファイル(エラーメッセージが書いてある)を置いておく。
- 管理画面で、この画像を普通に表示させる。(
img
タグ) - 表示できたら「設定に問題がある」と分かる。
というシンプルな機能です。
こんな仕組みであるため、「正常に設定できている場合」は画像にアクセスすることができずにエラーが発生します。
実際、正常に設定できている環境で管理画面を開き、ブラウザのデベロッパーツールを見てみると、エラーが発生していることが分かります。
ずいぶん荒っぽい方法ですし、こんなエラーが出てしまってよいのだろうかと思います。しかし、既にお気付きの方がいらっしゃるかもしれませんが、エラーログに表示されるファイル名をよくよく見てみると、
(日本語訳)
あなたのログにこれが見えてもパニックにならないで下さい。これは、あなたのディレクトリ・パーミッションが正しいことを意味しています。
つまり、「これが正常な動作なので問題ないですよ」と説明しています。
なかなか掟破りなやり方です。ファイル名でそんな意図を伝えられても、この仕組みを知っていないと焦ってしまうと思います。
管理画面なので、まぁこのやり方でも問題ないという判断なのでしょう。
4. おわりに
ブラウザの Console を見て、「管理画面でエラーが発生している!」と焦ってしまう人がいるのではないかと思い、この記事を書くことにしました。なのですが、気付く人自体少ないような気もします。