2008-07-18 [長年日記]
_ IISでのfswikiの動かし方およびunix→winへのfswiki移行手順
IISではfswikiは推奨されてないっぽいのだけど、
それっぽく動いた気がするのでメモ。
ただ、プラグインとかでダメなやつもあるみたいなので、
使えるならApacheの方がいいみたいです。
■Download
http://fswiki.org/wiki.pl?page=%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9
から以下を取得
wiki3_6_2.zip
fswiki-patch-20080703-2.zip
fswiki-patch-20080716.zip
■ファイルパス問題修正
IISでバーチャルディレクトリ直下でない場合は、
if($ENV{PATH_INFO} && $ENV{PATH_INFO} =~ s/^(.*?wiki\.cgi)//) {
$ENV{SCRIPT_NAME} .= $1;
}
を追加しないとダメらしい。
wiki.cgiの先頭に以下 + の行 を追加
------
BEGIN {
if(exists $ENV{MOD_PERL}){
# カレントディレクトリの変更
chdir($ENV{FSWIKI_HOME});
}
+ # 壊れた PATH_INFO への対処例
+ if($ENV{PATH_INFO} && $ENV{PATH_INFO} =~ s/^(.*?wiki\.cgi)//) {
+ $ENV{SCRIPT_NAME} .= $1;
+ }
}
------
■print "HTTP/1.0 200 OK\n";
下記のファイル(行数)に print "HTTP/1.0 200 OK\n"; を追加
(Content-Type: や Set-Cookie: などの前)
Wiki\wiki.cgi(312): print "HTTP/1.0 200 OK\n";
Wiki\lib\CGI2.pm(65): print "HTTP/1.0 200 OK\n";
Wiki\plugin\admin\AdminLogHandler.pm(158): print "HTTP/1.0 200 OK\n";
Wiki\plugin\admin\Login.pm(110): print "HTTP/1.0 200 OK\n";
Wiki\plugin\core\Source.pm(42): print "HTTP/1.0 200 OK\n";
■ファイル名
unix+Apacheで運用してたらファイル名にURLエスケープが2回かかっていて、
win+IISだと1回みたい。
なのでファイル名を変換するスクリプトを書いて対応
--- trans.rb ---
# win フォルダにリネーム後のファイルをコピーするのでフォルダ作成してから実行
require "fileutils"
require "CGI"
Dir.glob("*.wiki").each{ |filename|
FileUtils.cp(filename, "win/"+ CGI.unescape(filename))
}
------
こんな面倒な処理が5行で書けるruby素晴らしい。
仕事上IISを使用しているので、それしか使えないっす。<br>ASPなどに関しては使い勝手はいいんですが、その他のサービスは、あまり使えないですよね。<br>てか、設定が面倒…。
そうまでしてIIS使ういがいがさんのラブっぷりがイイですね。
ウチの職場、Windowsでfswiki使ってるけど流石にApacheでやってるっす。<br>IISって未知の領域だ……。
>ぽてとさん<br>そか、ASPって使い道もあるんですね。<IIS<br>むかし、客先の200台以上のPCにクライアントソフトをインストールしてたので、<br>その作業がなくせるASPは偉いなとしみじみ思います。(^^ゞ<br><br>>けーさん<br>べっ、べつにIISラヴって分けじゃないんだからね!(笑)<br>某所のレンタルスペースがIISしか使えなかったからで、<br>今後のメンテナンスコストが最小になる環境がIISだったんです。<br>ただ、また問題発生すると面倒なんでメンテコストも微妙になってきました。。。<br><br>>teslaさん<br>tesla先生でも未知の領域なんですね。<br>私はunix+Apacheが一番慣れてるのですが、<br>メンテするなら最初はwin+IISが理解が簡単な気がします。<br>win+Apacheはちょうどいいとこかもですね。<br># unixの習得コストはwinしか使ったことない人にはかなりハードルが高いですよね。
<a href=http://nastynets.com/pages/buyxanaxonline/#6wqya>go to website</a> xanax drug insert - drug stronger xanax klonopin