OpenBSDのhttpd使ってFreeStyleWiki動かす方法

忘れないうちにメモ。家のOpenBSDなサーバでFreeStyleWiki使ってみようかという気になったので試してみた。この方法でたぶん動く。使った環境はOpenBSD 4.3。

OpenBSDhttpdは、/var/wwwにchrootしてるので、そのままPerlで書かれたCGI使おうとすると、error_logに「Premature end of script headers」とか出てInternal Server Errorになる。なので、/var/wwwにchrootしたときにperlが使える環境をつくってやる必要がある。http://livenudefrogs.com/~anubis/servers/apache_perl_chroot.shtmlに書いてあるやりかたで、/var/www以下にperl環境をコピーする。ただし、OpenBSD 4.3の場合、/usr/bin/perl5.8.0のところは/usr/bin/perl5.8.8みたいなので、そこだけ変更。

次に、/var/www/cgi-bin配下にFreeStyleWikiアーカイブを展開。お好みに応じてディレクトリ名変更。自分はfswikiというのに変更。

$ cd /var/www/cgi-bin
$ sudo unzip <アーカイブの置いてあるディレクトリ>/wiki3_6_2.zip
$ sudo mv wiki3_6_2 fswiki

setup.shを実行して、必要なディレクトリを作ってアクセス権限変更。

$ cd fswiki
$ sudo chmod +x setup.sh
$ ./setup.sh
$ sudo chmod -x setup.sh

いちいちchmodする必要は、たぶんない。sh setup.shでいいはず。

このままだとテーマが読めないので、テーマのディレクトリを/var/www/htdocs配下に移動して、setup.datにそれを書く。自分のところの場合、htdocs配下にfswikiという専用ディレクトリを掘って対応。

$ sudo mkdir ../../htdocs/fswiki
$ sudo mv theme ../../htdocs/fswiki/

setup.datは下記を変更。

# テーマを格納するディレクトリ
theme_dir = ../../htdocs/fswiki/theme

# テーマを参照するためのURI
theme_uri = /fswiki/theme

これであとはWebブラウザでhttp://<サーバ>/cgi-bin/fswiki/wiki.cgi にアクセスして、FrontPageが出ればOK。

2008/9/21追記
どうもこのままだとページにファイルを添付するときに失敗する模様。/var/www/tmpディレクトリをつくって、書き込みできるようにしたら動いた。

$ sudo mkdir /var/www/tmp
$ sudo chmod a+w /var/www/tmp