[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エラーを出力する設定にしないと気づかないので注意が必要です。

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

baba

ゆとりプログラマー。 高校時代から趣味でプログラミングを初め、そのままコードを書き続けて現在に至る。慶應義塾大学環境情報学部(SFC)卒業。BPS設立初期に在学中から参加している最古参メンバーの一人。Ruby on Rails、PHP、Androidアプリ、Windows/Macアプリ、超縦書の開発などを気まぐれにやる。軽度の資格マニアで、情報処理技術者試験(16区分17回 + 情報処理安全確保支援士試験)、技術士(情報工学部門)、Ruby Programmer Gold、AWSソリューションアーキテクト(アソシエイト)、日商簿記2級、漢検準1級などを保有。

babaの書いた記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ