RubyをCGIとして使う @pages編

無料でRuby CGI 使えるとこないかなー、と思って見つけたレンタルサーバ。初期設定と雑感を記しておきます。

@pagesについて

無料のレンタルサーバ。広告は入りますが、多言語でのCGIをサポートしてるところが魅力。

登録

登録は特に難しいことはないと思うので、ここでは省略します。

設定

FFFTPの設定

よくある質問をみれば書いてありますが、見落とし勝ちな点を上げておくと、

  • 拡張タブを選択し、PASVモードを使うにチェックを入れる
  • 「ホストの設定」→「高度タブ」の「LISTコマンドでファイル一覧を取得 」にチェック

これをしないと、サーバ側のファイル一覧が表示されませんでした。

ファイルの設置

おなじみのHello Worldから。

以下の内容でファイルを作成します。

#!/usr/local/bin/ruby

print "Content-Type: text/html\n"
print "\n"
print "Hello World"
  • 拡張子を.cgiにする。.rbだとcgiと認識されない。
  • ファイルに実行属性を付加する。755にする。

これでOK

問題点

いくつかの標準ライブラリのrequire文を書くと500 Internal Server Errorになってしまった。requireが失敗してるなら例外処理でrescueできそうだが、begin-rescueを書いてもInternal Server Error.

同じコードが他のレンタルサーバでは問題なく動いたので、@pages固有の問題と割り切ってあきらめました。標準ライブラリが使えないとなるとかなり辛いですね。sshで入れないし、ログを見る方法もないので、解析するのは難しいですね

ちょっとした確認&動かなかったらすぐあきらめ、という使い方なら可、という感じでしょうか。