トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

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の関係でアクセスできない

とりあえず放置

バージョンアップ方法

上記の設定の場合

  1. 変更したファイルに修正がないかをdiffで確認
  2. 変更がなければローカルに待避
  3. 旧バージョンのsetup.datを見ながらsetup.datを書く
  4. サーバ上のindex.cgi, lib, plugin, setup.dat, theme, tmpl を削除
  5. 削除したものの新バージョンをアップロード

[TechMemo]