Tech Racho エンジニアの「?」を「!」に。
  • IT Tips

[MindTouch Deki] dekiwikiで画面が真っ白になった場合の解決方法

社内のサーバを仮想化したのに伴い、社内wikiとして使っているdekiwikiも環境移行しました。

dekiwikiは優れたツールですが、移行やバージョンアップはいまいち考えられていない感もありますね。
次のような手順で移行しました。

手順

  • 新サーバで、aptitudeから普通にdekiwikiをインストール(この際、DBパスワードなどを同じにしておく)
  • 旧サーバのmysqlデータを、新サーバにコピー
  • /var/www/dekiwiki/attachments 以下を、新サーバにコピー

これで一通りは使えるようになります。
インストール後はコントロールパネルからキャッシュの再構築が必要です。

ついでにmonoをバージョンアップしたせいか、動作が劇的に速くなりました。古いmonoはCPUをずっと食い散らかしていたので、何かバグがあったのでしょう。

問題

しかし、新wikiでは以下の問題が発生しました。

  • 検索すると画面が真っ白になる
  • コントロールパネル「削除済みファイル」を開くと画面が真っ白になる

原因

これは2つの問題が複合していました。

削除済みファイル

まず削除済みファイルの件ですが、attachmentsの中身のコピーが不完全で、エラーになっていたようです。

ファイルのインデックスはmysqlに保存されるため、インデックスが存在してファイル実体が無い場合、エラーになってしまいます。

/var/log/dekiwiki/deki-api.log に表示されるエラーを参考にしながら、完全なコピーを実施します。万が一ファイルを無くしてしまっていたら、とりあえず同名ダミーファイルでもおいておけば良いかもしれません。

検索ができない

次に検索が出来ない件ですが、PHPのメモリ不足でした。

php.iniでmemory_limit を16MBから64MBにしたら、無事検索できるようになりました。ページやファイル数が多くなっているため、結構メモリを食うのですね。

PHPエラーを出力する設定にしないと気づかないので注意が必要です。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。