2001-03-02(金) RubyConf、mod_ruby、eRuby、cgi.rb、万歩計 [長年日記]
■ Mary?
おや? この日記の次の名称が決まったようで >[Kondara-users.ja:05313]
■ Ruby Conference
おおー、ついにアメリカでカンファレンスかぁ。もうマイナーとは呼ばせないぜ。「desire to meet matz」って表現が泣けるね。でも、なんでPHPでサイト作っとんのじゃいっ。eRubyでさくっと作らんかい。
■ ftpup
前田さんのサイトをウロウロしてたら、ftpupの1.3.4を見つける。RAAに入ってないってことは発禁ものか?(なんだそれ) ftplib
からnet/ftp
に変えたのかな〜、と思ったら違いました。あれれ。warningが出るから気になっていたんだけどね。自分でやれというお告げか。時間ないんだけど……。
■ mod_ruby、eRuby
今まであまり真面目に使っていなかったmod_rubyを使う必要が出てきたので(また泥縄かい)、いろいろ試していたら、Kondaraのmod_ruby RPMはeRuby readyじゃなかったということがわかって愕然。動かないわけだよー、とほほ。仕方がないので野良ビルドすることに。ちなみにeRuby RPMも共有ライブラリ化されていなかったので、こっちも野良る必要がある。これを解決するには、eRubyをruby-eruby
とruby-eruby-devel
に分けて、mod_ruby
をruby-eruby-devel
に依存させればいいんだな。方針はわかってもSPECファイル書けないんだけどさ(Kondara-develに参加しろって話もある)。
というわけで野良りくらりと行こう(←ギャグ?)。まず、eRubyとmod_rubyをアンインストール。
% sudo rpm -e mod_ruby ruby-eruby
■ 続いてeRubyの最新版をビルド、インストール。
% tar zxf eruby-0.1.3.tar.gz % cd eruby-0.1.3 % ./Makefile.RB --enable-shared --default-charset=EUC-JP % make % sudo make install % sudo cp /usr/bin/eruby /home/httpd/cgi-bin/eruby
■ /usr/local/*
じゃなくて/usr/*
に入っちゃったけどいいや。次はmod_ruby。
% tar zxf mod_ruby-0.2.2.tar.gz % cd mod_ruby-0.2.2 % ./Makefile.RB --enable-eruby % make % sudo make install
■ お次。/etc/httpd/conf/httpd.conf
で以下の設定。CGI版のeRubyも使えるように策を巡らす。サフィックスが.rhtml
だとCGI、.rxhtml
ならmod_ruby。
LoadModule ruby_module modules/mod_ruby.so AddModule mod_ruby.c AddType application/x-httpd-eruby-cgi .rhtml Action application/x-httpd-eruby-cgi /cgi-bin/eruby <IfModule mod_ruby.c> AddHandler ruby-script .rbx AddType application/x-httpd-eruby .rxhtml </IfModule>
■ 以下のような内容のファイルを2つ作って(名前はtest.rhtml
とtest.rxhtml
)、前者が「CGI/1.1」と出ることでCGI版、後者が「CGI-Ruby/1.1」と出ることでmod_ruby版であることを確認。そっかー、mod_ruby版だと、カレントディレクトリが違うんだなー、当たり前だけど。
<%= ENV['GATEWAY_INTERFACE'] %><br><%= Dir::pwd %>
■ 悲しいのは、自宅か会社のローカル環境でしかこの恩恵にあずかれないことだ。やっぱ自前の回線とサーバが欲しいなぁ。
■ cgi.rb
以前作ったCGIに仕込んだLast-Modified
ヘッダが、ブラウザに認識されていないことに気づいた。気づいたのはアンテナのおかげ。調べてみると、日付が「Fri, 2 Feb 2000」だとダメで、「Fri, 02 Feb 2000」だとOK。RFCを調べて、dayは2桁固定らしいことを確認。月が変わって顕在化したのか。パッチを出したけど、よけいなことまでして前田さんにツッコミをうける。とほほ。最新のcgi.rb
をGETするために、期せずしてRuby 1.7も入手しちゃうし。近づかないつもりだったのに(笑)。
■ 万歩計
万歩計かぁ(「歩数計」と書いてあるけど、馴染めないので「万歩計」と書きます)。こりゃ買いだな。やっぱOmniRemoteに続くイロモノは買わないとね。OmniRemoteは、ときどき思い出したようにしか使わないけど、これなら毎日付けて歩けばいいだけだし、それなりに実用的かも。もっとも、自分の歩数のあまりの少なさに愕然とする気もするが。
もっとも、待ち望んでる本命のSpringboardは、実用性バシバシのBlueToothなんだけど。VisorにBlueToothなSpringboardを差して、BlueTooth対応のケータイ(PHSでも可)を買えば、無敵のモバイル環境でしょぉ? ちまちましたテンキーでメール書く必要もなければ、うざったいケーブルもない。理想的だ。早く出てくれBlueTooth!!