2007年12月28日金曜日

sourceforgeへのhikiのインストール



まず、sourceforge上では、rubyはcgiとしてしか使えない。


なのでcgi-binしたに配置する訳だが、cgi-bin配下はいろいろ制限がある。




  • .htaccessが効かない

  • .cgiファイル以外はアクセスできない

  • なので、cssなどのリソースファイルもアクセスできない

  • cgi-bin下で動かすと、出力されるHTML内のリンクがcgi-binからのURLパスになるため、403が発生する。


このため、無理矢理ドメイン直下で動かす必要があり、これにRwriteRuleを使用し実現する。


このとき、hiki.cgiから出力されるリソースファイルは、ドメイン直下からのパスに変換される。


このため、themeなどはhtdocs下に配置する必要がある。


以下にスクリプトをコピー



/home/groups/{GROUP}/cgi-bin



以下、/home/groups/{GROUP}を{ROOT}とする


hiki.cgiの先頭を修正



修正前


#!/usr/local/bin/ruby


修正後


#!/usr/bin/env ruby



hikiconf.cgiを修正



@data_path = '{ROOT}/privates/hiki/data'


@theme_url = '../theme'


@theme_path = '../htdocs/theme'



.htaccessをリネーム(バックアップ)





テーマを移動



cp {ROOT}/cgi-bin/theme {ROOT}/htdocs/theme



データを非公開ディレクトリに移動。ここではprivatesディレクトリを作成



mkdir -p {ROOT}/privates/hiki


mv {ROOT}/cgi-bin/data {ROOT}/privates/hiki/



{ROOT}/htdocsに.htaccessを作成



RewriteEngine on


RewriteRule ^$ /cgi-bin/hiki.cgi


RewriteRule ^index.html /cgi-bin/hiki.cgi


RewriteRule ^hiki.cgi /cgi-bin/hiki.cgi






0 件のコメント: