dekiwiki をインストールしようとしたら面倒でハマった

ずっと wiki エンジンを探してて、 id:sotarok さん所で知った MindTouch(dekiwiki) が良さげだったので入れてみた。

Songbird の Developer Center で見たときから、素敵なんじゃね?と思って使いたいなーと思ってたけどなかなか面倒くさそうでやってなかったけどやってみたら本当に面倒だったからメモのこす。

基本的にインストールガイドに書いてあるんだけど、なんかハマリどころが多かったなあ。

CentOS 5.3 に MindTouch (dekiwiki) をインストール - 肉とビールとパンケーキ by @sotarok

インストール

環境は CentOS 5.2 で Apache やら PHPyum で既にパッケージで入っているという状況でほぼ id:sotarok さんと同じ。
依存パッケージとかは特にハマる事もなく書かれている通りにやったら、サクサク入った。
mono-complete も特に依存パッケージでエラーは出なかった。


で、dekiwiki をインストールして、ブラウザにアクセスして適宜入力を行い、ボタン押してインストール完了と思いインストール先にアクセスしたら以下のエラーがでた。

Your site settings could not be loaded - this could affect your wiki's
operations. Please check to ensure that Dekihost is running. 

/var/log/deki-api.log にログファイルが出来てたので中を見てみると

Unhandled Exception: System.UnauthorizedAccessException: Access to the path "/etc/dekiwiki/mindtouch.deki.startup.xml" is denied.

とかって出てた。該当のファイルを 0755 にして dekiwiki を再起動したら、エラーは出なくなった。

環境設定

今回インストールした環境のドキュメントルートは既に他で使用してるので、ドキュメントルートに /var/www/dekiwiki のシンボリックリンクを張って /etc/httpd/conf.d/deki-apache.conf のドキュメントルートとかを変えた。
DNS に登録されているようなドメインは持ってないので、 ServerName は設定しなかった


ブラウザで http://IP アドレス/dekiwiki にアクセスすると、http://IP アドレス/ にリダイレクトがかかってしまい、dekiwiki が表示されない。
ServerName を設定しないとダメなのかと思って、/etc/hosts に適当な名前を付けてあげて (wiki.local とか) deki-apache.conf の ServerName に設定してやってもダメ。
deki-apache.conf のドキュメントルートを /var/www/dekiwiki にしてもダメ。


Apacheアクセスログを見てるとどうも、deki-apache.conf が読まれてないみたい。
多分 httpd-vhost.conf に ServerName が設定していない VirtualHost があるので、そいつを先に読みに行ってしまって dekiwiki の方を読んでないっぽい。
何かもう面倒になったので /etc/httpd/conf.d/deki-apache.conf を /etc/httpd/conf/extra に移動して、httpd.conf から deki-apache.conf をインクルードしてやったら動いた。
# 結局一番ハマったのが Apache の設定という罠w

感想

軽く動かした感想は凄く良い!
UI が非常に美しいのが凄く気に入った。やっぱ見た目は重要。
至る所に Ajax, JavaScript でサクサク動くし、他の色んなアプリとの連携も出来るっぽい。


あと現状ユーザー登録の際に CAPTCHA 画像が出る筈なんだけど出てない。
でもまぁ誰でも勝手にユーザー登録されても困るので、管理者しか登録出来ないようにしたのであんまり問題ないので放置w

結論

インストールするのに凄く苦労して正直敷居が高いと思うけど、入れる価値はある。
CentOS にインストールする人はまず id:sotarok さん所を見ると良いと思う。
というわけで id:sotraok++