ご注意:最近のFileZillaはアドウェア(マルウェア)が入っているようです。

さくら「ライト」でRuby

さくらインターネットのレンタルサーバ「ライト」(月額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: