PhotoXPをWindows+IIS環境にインストール
Windows+IIS環境へのインストール手順解説です。具体的な環境は、Windows XP Professional(SP1)とそれに付属しているIIS 5.1になります。
筆者がIISは今回初めてさわってみたという全くの素人なので、インストール手順に抜けや間違い等がありましたらご指摘頂ければと思います。
まず、「コントロールパネル」の「管理ツール」->「インターネット インフォメーション サービス」を開いてIISの設定画面を表示します。ここで、ローカルコンピュータからツリーを開いていって、「既定のWebサイト(手のひらに地球アイコン)」を右クリックし、プロパティを表示します。 そして、タブの中から「ホームディレクトリ」を選びます。

次に、ダイアログ右下の方にある「構成」をクリック。

「追加」をクリックして、拡張子「.rcgi」に対して「C:\ruby\bin\rubyw.exe "%s" %s」が実行されるように設定します。

これで、.rcgiの拡張子を持つファイルはCGIスクリプトとしてRubyを使って実行されるように設定出来ました。
このままだと、ファイル所有権の関係かアップロードした画像ファイルがIIS経由だと読めないという事態に陥ってしまいます。そこで、C:\Inetpub\wwwroot\photoxp\imageフォルダのプロパティを開いて、下記のように共有の設定をします。

さらに、もう一つ。RubyのCGIセッション管理モジュールが使う一時ファイル用のディレクトリを作ります。これをやらないと、RubyのCGIモジュールはセッションデータファイルを作るけ読めないため正しく動作しません。
とりあえずここではC:\tmpというフォルダを作り、imageディレクトリと同様に共有設定をします。
さらに、C:\Intepub\wwwroot\photoxp\lib\photoxp\action.rbをエディタで開いて、以下のように'tmpdir' => "c:/tmp"とセッション用のテンポラリフォルダを明示的に指定してやります。
RubyとImageMagickのインストール
Windows版RubyとImageMagickに関しては、PhotoXPをWindows+Apache環境にインストールを参照してあらかじめインストールしておいてください。IISの設定
IISはあらかじめインストールされてるとして、C:\Inetpub\wwwrootの下にコンテンツが置かれている事を前提に話を進めます。まず、「コントロールパネル」の「管理ツール」->「インターネット インフォメーション サービス」を開いてIISの設定画面を表示します。ここで、ローカルコンピュータからツリーを開いていって、「既定のWebサイト(手のひらに地球アイコン)」を右クリックし、プロパティを表示します。 そして、タブの中から「ホームディレクトリ」を選びます。

次に、ダイアログ右下の方にある「構成」をクリック。

「追加」をクリックして、拡張子「.rcgi」に対して「C:\ruby\bin\rubyw.exe "%s" %s」が実行されるように設定します。

これで、.rcgiの拡張子を持つファイルはCGIスクリプトとしてRubyを使って実行されるように設定出来ました。
PhotoXPのインストール
PhotoXPを展開
PhotoXPをダウンロードし、C:\Inetpub\wwwrootの下で展開、photoxp.cgiのファイル名をphotoxp.rcgiに変更します。C:\Inetpub\wwwroot\photoxp\photoxp.rcgi
ImageMagickのconvertコマンドのパスを修正
config.rbを開いて、convertコマンドの位置をフルパスで指定します。ここでは/でなく\であることに注意してください。CONVERT_COMMAND = 'C:\Program Files\ImageMagick-6.1.5-Q16\convert.exe'
imageディレクトリの共有設定
ここらへんから、IISの謎な設定です。(単に私理解できてないだけですが…)このままだと、ファイル所有権の関係かアップロードした画像ファイルがIIS経由だと読めないという事態に陥ってしまいます。そこで、C:\Inetpub\wwwroot\photoxp\imageフォルダのプロパティを開いて、下記のように共有の設定をします。

さらに、もう一つ。RubyのCGIセッション管理モジュールが使う一時ファイル用のディレクトリを作ります。これをやらないと、RubyのCGIモジュールはセッションデータファイルを作るけ読めないため正しく動作しません。
とりあえずここではC:\tmpというフォルダを作り、imageディレクトリと同様に共有設定をします。
さらに、C:\Intepub\wwwroot\photoxp\lib\photoxp\action.rbをエディタで開いて、以下のように'tmpdir' => "c:/tmp"とセッション用のテンポラリフォルダを明示的に指定してやります。
def open_session
File.umask(0066)
@session = CGI::Session.new(@cgi, {'prefix' => 'photoxp_', 'tmpdir' => "c:/tmp"})
end
def start_session
File.umask(0066)
@session = CGI::Session.new(@cgi, {'prefix' => 'photoxp_', 'new_session' => true, 'tmpdir' => "c:/tmp"})
end
以上でインストール完了です。http://127.0.0.1/photoxp/photoxp.rcgiにアクセスして、「写真の投稿」から投稿をしてみてください。トラックバック(0)
このブログ記事を参照しているブログ一覧: PhotoXPをWindows+IIS環境にインストール
このブログ記事に対するトラックバックURL: http://www.daifukuya.com/photoxp/mt-tb.cgi/61

コメントする