題名:Java Diary-49章

五郎の入り口に戻る

日付:2004/8/11

目次に戻る


サイトの引っ越しとそれに伴うあれこれの事

さて、この後もGoromi Ver0.2だか0.3だかの開発は続いていくのだが、時間の前後も省みず書いておきたい事象が発生した。

このサイトを開設したのは1997年の終わり。考えてみればもうそれから6年以上がたっている。当初は「広大」と思えた10MBというスペースもいつの間にかあふれるようになり、sakuraというプロバイダと契約し50MBのスペースを確保し、CGIも設置し、、とあれこれやってきた。しかしサイトの容量は増えるばかりで、新しい文書は全部sakuraの方に置くようにしていたのだが、従来のコンテンツ-たとえば映画評-が増殖するに従い、「ああ、今度はこれを移さなくては」という事態が頻繁におこるようになった。

でもまあなんとかなっているから、、と思っていたところNiftyからメールが届く。なんでも利用者減少に伴いmember.nifty.ne.jpを閉鎖します。みなさん、新しい@Niftyのホームページに移行してください、というお知らせだ。この@Niftyホームページサービスは大分前から利用できたし、容量も「2倍」の20MBである。しかし私は移行に二の足を踏んでいた。理由はいくつかあるが、一つはここのURLに含まれるhttp://homepage3.nifty.com/とかいう数字がいやだったことが上げられる。数字って覚えにくいし。そりゃ管理する側からみれば楽なのかもしれないけど。それに少ないながらも今までのサイトにリンクしてくれている人もいるわけだし、、

しかしmember.nifty.ne.jpが閉鎖されるとあってはしょうがない。homepage3.nifty.com/GOtsubo/というURL を取得するとそちらにもコンテンツを移す。表紙で移行の通知をする。容量が2倍と言っても全部を移す訳にはいかないから、依然としてsakuraにもかなりの部分を置いてある。というわけで私は日々3カ所のサーバーに対して更新をかける日々が続いていた。まあこれも8月末までのことだから、、と考える。

すると今度はそのSakuraのほうから通知が来た。新しく大容量、低料金のサービスを始めますぜ、というものである。観ればなんと年1500円で300MBのスペース、CGI 設置可能に加え、メールアドレスまで無制限に作成可能とある。すばらしい。それに加えてドメイン名取得サービスもおやすくなったとある。

最初は「ふーん」と読んでいたが、そのうち「もうこの際全部こっちに移しては」と思い出す。NiftyのことだからまたURLが変わります、とか平気で言い出すような気もするし、まあどこのプロバイダでもそう言い出す可能性はあるのだけど、独自ドメインを取ってしまえばそんな苦労ともおさらば。おまけに300MBもあれば、サイトを一カ所にまとめられるではないか。

もう一つ重要なのは、利用可能な300MBにはメールの容量も含まれるということである。なぜこれが重要かと言うと、Niftyのメールは20MBまでしか保存できないからだ。いや、Niftyだってそれでいいと思っているわけではない。文句がある人は別料金を払ってメールの保存容量を増やすことができる。あるいはサイトだって容量を追加することができるし、そうしてNiftyにまとめることだって理論的には可能だ。必要な追加料金は

メール:5MB増すために月200円

150MB増すには月1200円

ホームページ:10MB増すために月400円

80GBのハードディスクが6510円で買えるご時世に、5MBのディスク容量に年2400円払え、というわけだ。いや、ハードディスクの値段とあれこれ手間がかかるサーバーの費用を一緒にされては、、ということならば、Niftyで5MBディスクを余分に使うために必要な金額の6割ちょっとでSakuraなら300MBのディスク容量が使える、と考えることもできる。

数日考えたあげく、あっさりsakuraに移行することにした。サービス開始&受付は7月15日だからまだ間がある。さて、ドメインを取るのは良いが何にしよう。というわけであれこれ調べ出す。

一番最初に思いついたのはotsubo.comだが、これは数年前から誰かに取得されてしまっている。goro.comでアクセスするとフランスかどこかの部品メーカーがでてくる。他にはなにがいいだろう。syoko.なんとかで調べてみるといくつかあいていることに気がつく。しかし次の瞬間考える。「書庫」は"syoko"だろうか"shoko"だろうか。shokoで調べるとこちらはあらかた取得されてしまっている。こういう紛らわしいのはやめておこおう。

そのうちふとgoromiはどうだろう、、と思って調べるとがらがらである。自分が作ったフリーソフトの名前でもあるけど、「ごろ寝しながら見るようなサイト」ということでいいと思ったのだがどうも支持が得られない。駄文-dabunは結構取得されているが不思議なことに散文-sanbunはまだ空いている。これにしようか、とも思うが

「こんなサイトが"散文"の代表を名乗るとは不届き千万」

と誰かに怒られたりしないかなあ。

そもそも日本語にとらわれて善い物だろうか。では英語か。いや特定の言語に縛られるのはいかがなものか。もっと広げて他の惑星系にも共通なものはなんだろう。やはり数字ではなかろうか。宇宙の彼方、誰が聞いているかもしれない相手に向かって送出した電波は素数の積になっており、そのことに気がつけば相手が絵として眺めることができるものだったという。数の概念さえあれば、そこらへんは共通な筈だから。となると円周率とか平方根とかそういうたぐいか。

と妄想が広がったところでふと我に返る。そんなURLを取得してどうするのだ。だいたい覚え難いではないか。えーっとえーっとと初心に帰りotsuboを検索してみるとotsubo.infoが空いている。ふむ。おもしろみには欠けるかもしれないけどこれでいいか。だいたい覚えやすいし。

というわけで7月15日になると早速サーバーの申し込みとドメインの申請をする。それから数日の間に両方とも使用可能になった。となると今度はサイトの引っ越しだ。ごそごそとファイルを移動し、リンクを書き換える。サイトが分散していたから絶対URLを結構つかっている。検索してはかたっぱしから書き直す。そのうち今まで全く使っていなかったGo Live(サイトに載せる文章を書いているソフトだが)の機能にリンクチェック機能が有ることを知る。リンクが間違っていると赤く印を付けてくれるから便利。調子に乗って従来見過ごしていたリンク切れまで執拗になおし出す。まるで犬のノミ取りのようなものでぷちぷちとつぶすがきりがない。リンクの書き換えをするときに、同じくGo Liveの「検索・置換」機能を使おうとする。するとなにやら英語でメッセージがでる。何?UTF-8じゃないと何が起こっても知らないよ?まあやってしまえ、とボタンを押す。最初はうまく行っているように見えたのだが、何かがおかしい。重遠の部にある文章に埋め込まれた絶対リンクを書き直していたのだが、文章が短くなってしまっている。

その事実に気がついた瞬間私は凍り付く。これは最も厄介なトラブルの一つ、ファイルが部分的に壊れていく、というやつか。あわくってユーティリティなど起動しながらふと先ほど無視したメッセージのことを思い出す。ひょっとしてこれはGo Liveのバグではないか?確証はないもののその可能性はとても高い。なぜならその後同じような問題は起こっていないから。しかしなあ、何が起こってもしらんよ、というのであれば、検索・置換がうまくいかないにとどめてほしい。ファイルを壊していくってのは商業製品としていかがなものでしょうか。

などというごたごたが一段落するとサイトの内容は全部otsubo.infoに移し、表紙だけをNiftyに置くようにする。これであとは8月末に古いサイトを閉じれば移行完了。と思って移転メッセージの表示機能を調べてみれば

「@niftyのホームページに移行する場合だけ移転メッセージが設定できます」

と書いてある。ああ、自分の利益に反する(よそのプロバイダに移る)ユーザーに対する徹底して冷たい態度。私はだんだんNiftyが嫌いになっていく。まあhomepage3のほうに「otsubo.infoに移りました」メッセージを表示しておけばいいか。

さて、他にも今までその言葉だけしかしらなかった.htaccessを設置したり(sakuraにだ。Niftyでは.htaccessの設置もできない)cgiを移行したりとあれこれやったのだが、ここまできてようやく本来のJavadiaryにふさわしいトピックに戻れる。サイトのログ解析をどうしよう。

これまではあちこちから適当に切り貼りして作ったCGIでページがいつアクセスされたかのログをとり、メールで自分宛送付していた。でもってパソコン上でそのログを解析して「先月のヒット数ランキング」を作っていたわけだ。

さて、今回引っ越した先ではどうやらサーバー側でログがとれるようである。ということはやれ各頁にログ取得用の記述を追加するだの、ログ解析CGIが暴走して処理能力がオーバーしページまで見られなくなるなどという問題とはおさらばできるわけだ。しかし話はそう簡単にはいかない。

サーバー上に記録されているログをみると膨大な量である。なんでこんなに多いんだろうと内容を見てみれば、HTMLページのアクセスだけでなく、そのページに存在している画像から何からのアクセスまで全部記録されている。そりゃ確かにサーバーにとってみれば「だって要求されたんだもん」ということなのだろうが、こちらが知りたいのはどのページがアクセスされたかだけである。おまけにその「ページにアクセスされた」という情報も一筋縄ではいかない。誰がアクセスしているかを見てみると、検索エンジンがデータ収集のために動かしているロボットがかなりの数に上る。最近は検索エンジンの数が少なくなった(多くの検索エンジンの裏では皆Googleが動いている)とはいえ、数種類のロボットが動き回っている。これは自動的にページをスキャンしているわけだから人間が興味を持ってアクセスしてくれるのと同様にカウントするわけにはいかない。

おまけにメールで自分宛送信しようとするとあまり膨大な物を送るわけにもいかない。さて、どうしたものか、と考えた私はある結論に達した。サーバー側にログの不要な部分を除いてメールで送信するプログラムをおき、パソコン側では今まで通りの方式でランキングを作成する、という方法である。これには目的がもう一つあり、今まで「結構いいよ」と評判だけ聞いて触っていなかったRubyという言語の練習問題としてちょうどいいのではないか、と思ったのである。

前回作成したログ解析のプログラムはPerlという言語で書いてある。確かに強力なのだろうが、その記述は私にとって理解しやすい物ではない。そのため少し時間が経つと綺麗さっぱり忘れてしまう。もうちょっとましな言語はないものか、、と思っていたら新しいサーバーではRubyが使えるようだ。Rubyはある本によれば「Perlの機能を持ちオブジェクト指向で記述できる言語」とのこと。また会社で私の隣に座っている男は多くのプログラムをRubyで書いているし、あちこちで有名な研究者が使っているという話も聞く。そのため以前パソコンにインストールしてつかってみようか、、とも思ったのだがこういうのはやはり目的がないと進まない。

そこにこの「ログ解析」という問題が生じた。これは一発、と思いあれこれ調べてみる。すると有り難いことにApacheのログを解析するRubyのプログラムが公開されている。しめしめ、これをちょっといじればたちまち問題解決に違いない、と言うほど世の中簡単にできていないことはそろそろ身にしみて分かっているはずなのだが。

前の章 | 次の章


注釈