rubyのパスを@pagesの環境に合わせる

rubyを「C:\ruby」にインストールしたため、ローカルのrubyのパスは「/ruby/bin/ruby」になっています。
このまま@pagesに上げてもCGIとして動かないので、@pagesの環境に合わせましょう。

ディレクトリ作成

1.Cドライブに「C:\usr\local\bin」ディレクトリを作成



シンボリックリンク作成

1.rubyインストールディレクトリの「bin」ディレクトリを開きます。今回は「C:\ruby\bin」



2.「C:\usr\local\bin」ディレクトリに「ruby.exe」を右クリックでドラッグ&ドロップします。



3.ドロップするとメニューが開くので「シンボリックリンクをここに作成」を選びます。


※Windows7以外の場合はLink Shell Extensionを使うといいかもです。

サンプルCGI修正

@pagesのruby設定に合わせて、前回作ったサンプルCGIを修正します。
前回作ったサンプルのrubyは「/ruby/bin/ruby」
@pagesのrubyは「/usr/local/bin/ruby」です。
また、Windowsにインストールしたapache2用に改行コードを「CR+LF」にしましたが、
@pagesで動かすには「LF」にする必要があります。

修正前(hello.cgi)

#!/ruby/bin/ruby
 
puts(<<"html")
  <html>
    Hello ruby!!
  </html>
html
 

修正後(hello2.cgi) ※改行コードLF

#!"/usr/local/bin/ruby"
print "Content-type: text/html\n\n"
 
puts(<<"html")
  <html>
    !!!Hello ruby!!!
  </html>
html
 
修正するのは一行目と改行コードだけでよいのですが、折角なので!を増やして置きました。
CGIの改行コードが「LF」だと、Windowsのapache2には改行のない一行のテキストファイルに見えるのではないかと思いますが、
rubyのパスをダブルクォーテーションで囲む事で、改行なしでもapache2にCGIを実行するプログラムを伝える事が出来るようです。

上手くいけば「http://localhost/cgi-bin/hello2.cgi」にアクセスすると下のような表示になるはずです。

以上っ
最終更新:2012年11月11日 21:34