ご注意:最近のFileZillaはアドウェア(マルウェア)が入っているようです。
さくらインターネットのレンタルサーバ「ライト」(月額125円)でRubyを楽しんでみましょう。
まずはFTPS(FTP over SSL/TLS)に対応したFTPクライアントソフトを導入します。WindowsでもMacでもLinuxでも使えるものとして,ここでは FileZilla を使います。WindowsならWinSCPでもかまいません。
FileZillaを立ち上げ,ホスト名に「ftpes://自分のホスト名」を入れます。ftpesとはFTP over explicit SSL/TLSのことです。ユーザ名とパスワードを入れて,ポートは空欄のままで,「クイック接続」をクリックします。
接続したら,右側のサーバ側のファイル一覧から「www」フォルダをダブルクリックして開きます。左側は自分のパソコンの適当なフォルダを開いておきます。
Rubyのファイルを rb
という拡張子で作るため,あらかじめ次の1行を書き込んだ .htaccess
というファイルを作って,サーバの「www」フォルダの中に送ります。このファイルの文字コードは,Windowsのメモ帳で作る場合はANSIにします。一般にWindowsではUTF-8にするとBOMというゴミが付くことがあるので,ANSI,Shift JIS,UTF-8Nなどを選びましょう。
AddHandler cgi-script .rb
次に,テスト用のRubyプログラムを作ります(これもBOMが付かないように注意します):
#! /usr/local/bin/ruby print "Content-Type: text/html\n\n" print "Hello! It's #{Time.now}.\n"
この1行目は さくら の場合です。一般的なLinuxサーバでは #! /usr/bin/ruby
にしてください。
ファイル名は例えば test.rb
のように拡張子を rb
にします。これをサーバの「www」フォルダに送り,右クリックして「ファイルパーミッション」で数値 755 を入力します。
ブラウザで http://サーバ名/test.rb を開いてみましょう。うまくいけば現在の時刻が表示されます。
次の print "Content-Type: text/html\n\n"
は「Content-Type: text/html」という文字列に続いて改行を2回送るという意味で,Webサーバ上でRubyプログラムを動かすための決まり文句です。
その次が実際に表示するための命令です。ここでは現在の時刻を表示しています。
もっと本格的にXHTML 1.0 Strictのタグを書いてみましょう。文字コードはUTF-8(WindowsではUTF-8N)です。
#! /usr/local/bin/ruby print <<HERE Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>いま何時?</title> </head> <body> <p>いま #{Time.now.strftime("%H 時 %M 分 %S 秒")} です。</p> </body> </html> HERE
Last modified: