FreeStyleWiki
最終更新時間:2007年03月21日 12時31分00秒
1つのユーザでいくつもWikiスクリプトを置くのは管理がめんどくさい かといってFarmのURLはいまいち好きになれない ということでWikiのFarmを独立したWikiに見せるための設定。
変更点
スクリプト本体
/?page=xxx → /xxx
- lib/Wiki/HTMLParser.pm の「Wikiページへのアンカ」(sub wiki_anchor)ソースをちょっと書き換え
- plugin/category/CategoryHandler.pmのアクションハンドラをちょっと書き換え
Farm時での動作の調整
- wiki.cgi内の「Farmとして動作する場合」をちょっと書き換えてFarmでscript_nameが書き換わるのをブロック
- FarmだとPATH_INFOで仮想的にディレクトリを掘るため
- script_nameはHTML内のURI作成にしか使わない模様
setup.dat
mod_rewrite対策
- theme_uriをフルパスに
その他
- data, backup, attach, pdf, log, config をapache 外のディレクトリに移動した
- amazon_aidを追加
- バックアップ世代を3世代に
.htaccess
wiki本体のディレクトリ
- DirectoryIndexを表示しないようにindex.html→wiki.cgiへリダイレクト
- setup.dat を deny
置いてることになってるディレクトリ
- mod_rewriteを設定
- QUERY_STRINGがあれば書き換え
- ?,=,.,/が含まれていなければ書き換え
- nullなら書き換え
問題
非ASCIIのタイトルを持つページだとSafariでユーザ認証が無視される
- lib/CGI2.pm中のget_sessionのcookie取得がアヤシい
ページタイトルに/を含むとmod_rewriteの関係でアクセスできない
とりあえず放置
バージョンアップ方法
上記の設定の場合
- 変更したファイルに修正がないかをdiffで確認
- 変更がなければローカルに待避
- 旧バージョンのsetup.datを見ながらsetup.datを書く
- サーバ上のindex.cgi, lib, plugin, setup.dat, theme, tmpl を削除
- 削除したものの新バージョンをアップロード
[TechMemo]