文書の過去の版を表示しています。
Apache Error 500 (Internal Server Error)
DokuWikiのページを開こうとするとError 500 (Internal Server Error)が出る
このエラーは、DokuWikiディレクトリの.htaccessファイルで、あなたのApacheサーバー設定でサポートされていない設定を使ったり操作を行おうとした時に起こることがあります。もしあなた自身のサーバーではなく、外部のウェブサービスを利用しているのであれば、設定を使えるようにしてもらったり、htaccessファイルの該当する設定をコメントアウトして無効化するとよいでしょう。
(現在のdokuwikiインストーラでは、ユーザーの出鼻がくじかれないように「.htaccesss」ファイルではなく「.htaccess.dist」というファイルになっています。使いたい時には.htaccessにコピーあるいは名前を変更する必要があります。)
Error 500が起こることが知られているオプションは、
Options -Indexes
です。Apacheのmod_rewriteオプション(URLをわかりやすくする機能)に関連する設定もError 500を起こしますが、デフォルトではOFFにされています。
あなたのファイルやフォルダの権限(パーミッション)がゆる過ぎるとError 500が起こることがあります。セキュリティ上の対策で、サーバーが権限777のファイルの実行を許さないことがあるからです1)。この場合は、ディレクトリを755, ファイルを644などの低い権限に下げてみてください。
ほかには、.htaccessファイルがUTF-8(BOMあり)エンコードになっていることも考えられます。BOM無しエンコードに変換してください。
It may happen if you are using Fedora with SElinux and copied the dokuwiki files from your home directory. To correct it, run “restorecon -r .” as root on the website dokuwiki directory
ユーザーの新規作成やパスワードの変更時に500エラーが出たという報告もあります。この場合は、passcriptオプションをsmd5からmd5に変更して見てください。
もしdiscussionプラグインを使っていてコメント送信時や、notifyでEmailアドレスの挿入をするときにに500エラーが起こる場合は、2009-02-14版のバグと考えられます。アップデートしてみてください。
システムがPHPエラーとしてエラーの原因を明示してくれているかも知れません。次のコードをlocal.phpなどに加えて、エラーログ errorlog.txt を確認してみてください。
ini_set('log_errors', 1); ini_set('error_log', 'errorlog.txt');
プラグインの相性がこのエラーを起こすこともあるようです。もしプラグインが怪しい場合には、プラグインをdisableしてみてください。もしdisableしてDokuWikiが動作するのであればプラグインに問題があります。まずPlugin Managerを使って最新版のプラグインかどうかを確認しましょう。もしAdmin/Plugin Managerページにすらアクセスできない場合は、サーバー内のconf/plugins.local.confというファイルを直接書き換えます。あるいは、各プラグインフォルダ(lib/plugins/xxx)の中に「disabled」という空のファイルを置いても無効化できます。どのプラグインを無効化してブラウザの更新を行い、500エラーが出ないかをひとつずつ確認して原因となるプラグインを特定します。
シェルでの操作例
# cd /path/to/dokuwiki/root/lib/plugins/pluginname # touch disabled
あるいは、conf/plugins.local.confの書き換え
$plugins['pluginname'] = 0;
disabledファイルがあるのにプラグイン設定 = 1 にならないように注意してください