モバイル向けAdsenseが本日サービス開始

Googleが本日より日本でも「モバイル向けAdsense」をはじめたようです。9月に発表だけされていたものが、サービスインしたもの。今日たまたまアドセンスの管理画面にログインしたら、「レポート」→「概要」の「収益総額」のうえあたりに突如「モバイル向け AdSense – 開始する」というのが表示されていて気がつきました。

モバイル向けAdsenseで利用可能なデザインは下記の「シングル」と「ダブル」の2種類のみ。

Adsense Design

このモバイル向けAdsense広告を貼るページはXHTML、WML、CHTMLのどれかで書かれている必要があります。また広告のコードはPHP、CGI/Perl、JSP、ASPで提供されるので、ページそのものも生XHTMLとかではなくて、どれかの言語で書かれてないとだめ。まあPHPだったら、そのまま拡張子をphpにすればうごくけど。

いまわたしはモバイル用のサイトはひとつももってないので、このAdsenseを張ってみるためにいっちょ作ってみようかしら ^^;
なお実物はたとえばこのへんで見られるみたいです。

参考文献

  1. Google、モバイル向けのアドセンスサービスを開始 – AdSense for Mobile, マイコミジャーナル, 2007
  2. モバイル向けAdsense, Google Adsenseヘルプセンター, 2007
  3. Google Adsense モバイル広告フォーマット
  4. お待たせしました!モバイル版コンテンツ向けAdSenseがスタートします, Adsense日本版公式ブログ, 2007

アドセンスのエラーメッセージに書かれた27言語一覧

日本時間の2007年10月7日22時現在、アドセンスのサイトが見られないようになっています。みようとするとエラーメッセージが表示されるのですが、これがおどろいたことに27箇国語で書かれています。というわけで表にしてみた。

No. 言語 文言
1 英語 The Google AdSense website is temporarily unavailable. Please try back later.
We apologize for any inconvenience.
2 日本語 Google AdSense の web サイトは一時的にご利用いただけません。後で再度お試しくださいますようお願いいたします。
お手数をおかけいたしますことをお詫びいたします。
3 ドイツ語 Die Google AdSense-Website ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später noch einmal.
Wir entschuldigen uns für eventuell enstandene Unannehmlichkeiten.
4 フランス語 Le site Google AdSense est temporairement indisponible. Veuillez réessayer plus tard.
Nous vous prions de nous excuser pour le désagrément occasionné.
5 スペイン語 El sitio web de AdSense de Google no se encuentra disponible en estos momentos. Por favor, inténtelo de nuevo más tarde.
Disculpe las molestias.
6 中国語(簡体字) Google AdSense 网站暂时无法浏览。请您稍候再尝试。
对于造成您的不便我们感到抱歉。
7 イタリア語 Il sito AdSense di Google è temporaneamente non disponibile. La preghiamo di provare più tardi.
Ci scusiamo per il disagio.
8 オランダ語 De website van Google AdSense is tijdelijk niet beschikbaar. Probeert u het later opnieuw.
Onze excuses voor het eventuele ongemak.
9 トルコ語 Google AdSense Sayfası geçici olarak hizmet dışıdır. Lütfen, daha sonra tekrar deneyin.
Bu geçici sorundan dolayı özür dileriz.
10 ポルトガル語 O site do Google AdSense não está disponível no momento. Tente novamente mais tarde.
Pedimos desculpas pelo inconveniente.
11 英語 The Google AdSense website is temporarily unavailable. Please try back later.
We apologise for any inconvenience.
12 ポーランド語 Witryna programu Google AdSense jest chwilowo niedostępna. Prosimy spróbuj później.
Przepraszamy za wszelkie niedogodności.
13 ロシア語 Веб-сайт Google AdSense временно недоступен. Попробуйте, пожалуйста, еще раз через несколько минут.
Мы приносим свои извинения за причиненные неудобства.
14 スウェーデン語 Google AdSense webbplats är för tillfället inte tillgänglig. Försök igen senare.
Vi ber om ursäkt för eventuellt besvär.
15 デンマーク語 Google AdSense-webstedet er ikke tilgængeligt i øjeblikket. Prøv igen senere.
Vi beklager ulejligheden.
16 韓国語 Google AdSense 웹사이트를 일시적으로 사용하실 수 없습니다 . 나중에 다시 시도해 보십시오 .
불편을 끼쳐드려 죄송합니다 .
17 ノルウェー語 Google AdSense-webområdet er midlertidig utilgjengelig. Prøv igjen senere.
Vi beklager eventuelle problemer dette medfører.
18 中国語(繁体字) Google AdSense 網站暫時無法瀏覽。請您稍候再嘗試。
對於造成您的不便我們感到抱歉。
19 ハンガリー語 A Google AdSense oldal jelenleg nem elérhető. Kérjük, látogasson vissza később.
Elnézést kérünk az esetleges kellemetlenségekért.
20 フィンランド語 Google AdSense –sivusto ei väliaikaisesti ole saatavilla. Yritä myöhemmin uudelleen.
Pahoittelemme tämän aiheuttamaa hankaluutta.
21 チェコ語 Stránka Google AdSense je dočasně nedostupná. Zkuste to později.
Omlouváme se za způsobené nepříjemnosti.
22 スロバキア語 Stránka Google AdSense je dočasne nedostupná. Skúste neskôr, prosím.
Ospravedlňujeme sa za spôsobené nepríjemnosti.
23 クロアチア語 Google AdSense sučelje trenutno je nedostupno. Molimo Vas pokušajte kasnije.
Ispričavamo se za neugodnosti.
24 アラビア語
إن موقع Google AdSense غير متوفر حاليا. يرجى تكرار المحاولة لاحقا. نعتذر عن أي إزعا
25 ヘブライ語
אתר Google AdSense איננו זמין כרגע. אנו מצטערים על אי הנוחות. אנא נסה שנית מאוחר יותר.
26 ブルガリア語 Google AdSense уебсайта е временно недостъпен. Моля опитайте по-късно. Извиняваме се за неудобството.
27 ギリシャ語 Η ιστοσελίδα του Google AdSense δεν είναι διαθέσιμη προς το παρόν. Παρακαλώ δοκιμάστε αργότερα. Ζητούμε συγγνώμη για την ενόχληση.

あてくしの限られた語学で判別しましたので間違ってるのがあるかも! 間違ってたら教えてくださいね。しかし、どういう基準で選んだんだろうね、この27箇国語。

参考文献

  1. アドセンスのエラーメッセージ
  2. 国・機関のコードリスト

フレッツ・光プレミアム・マンションタイプ

ようやくというかなんというか、我が家にも「フレッツ・光プレミアム・マンションタイプ」が開通しました。INS64からADSLにするのも遅かったんだよねー、なんでかしら。で、住んでいるのはマンションなんですが、すでに光をマンション自体に配線する工事はずっと昔におわっています。よって、開通のための工事はマンションの根元のところで電話回線からVDSL側に切り替えるだけなので簡単です。って、わたしがやるんじゃないけどー。

というわけで、今日の午前中に工事がきて、工事と電話の開通試験を30分ぐらいで終えてかえりました。だたネットワークの方は設定を自分ですることにしてあるので、時間がなくてまだIDとかパスワードとかの設定ができていません。今晩設定だね!

なお、直前の回線はイーアクセスのADSLだったので、たぶんだいぶ速くなるんじゃないかと期待しています。ちなみにADSLのときは、実測で下りが350kB/sぐらいは出ていました。だいたい2.7Mb/sぐらいですかね。フレッツ光プレミアムの場合は、20Mb/sぐらいでれば平均的らしいので、ADSLの10倍!にはならないけど、7倍ぐらいにはなりそうだね。楽しみです。

問題は(問題と言うほどのことでもないが)、接続用の機器がふえたこと。

i have a new connection

写真1. 新機器フレッツ用

おくから、VDSLモデム、ルータ、IP電話のアダプタらしいです。電源も3つ占有。しかもぜんぶでかいACアダプタ。邪魔だ。e-accessのときはひとつだけだったのに…

e-access ADSL modem + router + IP phone adopter

写真2. 旧機器イーアクセス用

どうやって片付けるかよく考えなくちゃ….

ちなみに工事の費用は従来の電話回線を「休止」にする費用1000円、従来の電話番号をIP電話につける費用が計3000円、あわせて4000円ぐらいでした。

これで、しばらく楽しめそうですね−。

参考文献

  1. NTT西日本 フレッツ光プレミアム
  2. NTT西日本 光プレミアムの裏側及び総評, ともちゃ, 2006
  3. フレッツ・光プレミアム導入記

Windows XPの画面が薄くなった!

ようやく夏休みも終わりましたね。長かったような短かったような。ちなみに大学は9月末まで夏休みです。昨日、ひさしぶりに(ほぼ2ヶ月ぶり!)授業をしたら、ひとりの生徒が「せんせー、なんか画面が薄い!」。えー、とおもってみてみたら、確かに薄い。こんなかんじ。

desktop-usui.jpg

図1. XPの画面がうすい! (イメージです)

同型機4台中、2台は正常、2台が薄く、薄い2台のうちの1台が重症です。はじめは液晶の故障かと思ったのだが、よくみるとマウスカーソルだけはっきり表示されている。液晶がわるいんじゃなさそー。というわけで、授業が終わったあと、原因を追及したのでメモしておきます。先に原因を書いておくと、このPCは東芝のJ61というノートPCでグラフィックチップにATI RADEON XPRESSがのってるんですが、このATIのドライバがおかしくなってたっぽいです。

radeon.jpg

図2. コントロールパネル -> 画面 -> 設定タブ -> 詳細ボタン -> アダプタタブ
グラフィックアダプタはATI RADEON XPRESS 200M

直し方は簡単で、ATIのドライバの設定画面を出して、コントラストをなおせばいいだけです。順に見てみよう! まず、コントロールパネルの「画面」か、デスクトップで右クリックして「プロパティ」をえらんで画面のプロパティを出します。

ここで「設定」タブの「詳細設定」ボタンを押します。

control-panel.jpg

図3. 画面のプロパティ

すると次のような画面がでるので、ここでは「CATALYST(R) Control Center」というタブを押して、「ATI CATALYST(R) Control Center」というボタンを押します。

control-panel-2.jpg

図4. ATI RADEON XPRESS 200M Seriesのプロパティ

するとこの画面が出るので、「詳細」のラジオボタンを選択して、「次へ >」ボタンを押す。

control-center-1.jpg

図5. ATI CATALYST Control Center – 基本

ここまできたらもう簡単。いっけん何も問題がないように見えますが、じつは「コントラスト」が狂っています。画面の表示では「コントラスト」が「100」になっているけど、実際の値は100じゃない。なので、100に再設定してやればなおります。

control-center-2.jpg

図6. CATALYST Control Center

スライダーをいじるか、上下矢印をポチッとして、コントラストの値を99とかにすると、画面の表示が「正常」になります。そこでまず一度「適用」ボタンを押し、もういちどコントラストを「100」にもどしてふたたび「適用」ボタンを押します。それで「OK」ボタンをおして終了してください。Control Center君はコントラストが100に設定されているとおもいこんでいるので、100以外の値でいったん「適用」しないとふたたび100にはできません。というわけで、

desktop.jpg

図7. なおったー

なおったー。しらなかったけど、ATIのユーティリティってけっこう高機能なんですねえ。ホゲるのは困るけど ^^;

Windows XPが起動しなくなったらまず試してみること – CHKDSK

筆者は某所にて数十台のXPを管理しているのだが、年に1、2台ぐらい起動しなくなるものがあらわれる。起動しない原因はさまざまで、電池のヘタったノートPCでシャットダウン中にACアダプタを抜いてしまったというような原因が明らかなものもあれば、前日まで普通に動いていたのに翌朝突如起動しなくなった、というような原因不明のものもある。

「起動しない」にもいろいろな症状があるが、たとえば電源ボタンを押してもPCの電源インジケータが点灯しないようなばあいはおそらくハードウェアの故障だ。しかし、電源は入って、BIOSの画面にはいくけれども、Windowsが起動しないような場合は「CHKDSK」をかけるとなることがおおい。CHKDSKはファイルシステムの不整合を調べて直してくれるWindowsのツールである。CHKDSKをかければ直るような場合でも「重大なハードウェアの障害だ!」と勘違いして、あきらめてPCごと買い替えたり、メーカーに修理に出してハードディスクを交換されて高い修理代を支払ったり、という事例が後をたちません! 起動しなくなったXPのマシンにCHKDSKをかけるのは少しトリッキーなので、ここに手順をまとめておく。

起動しないマシンでCHKDSKをかけるには、まず「回復コンソール」というものを起動しなくてはならない。回復コンソールの起動の方法は2通りある。まず、Windows XPの起動ディスクがある場合。パッケージでXPを購入している場合は、Windows XPの起動ディスク(CD-ROM)をお持ちのはず。この場合は、起動ディスクで起動して、回復コンソールに入ることができる。

問題は、起動ディスクがない場合で、Windows XPがインストールされているPCの多くは、メーカーでプレインストールされたXPを使っている。この場合は、再インストール用の媒体はCDではなく、ハードディスクの中にパーティションを切って入っている。つまり、起動ディスクが付属していない。

こういうケースのために、Microsoftはフロッピーで起動できる起動ディスクを用意しているので、それを利用する。なお、ここでの作業には動いているWindowsマシンが必要となる。

  1. まず、フォーマットされたフロッピーを6枚準備する。
  2. つぎに、故障したマシンとは別のWindowsが動くマシンを使って、マイクロソフトのサポートオンラインの「Windows XP のインストール用起動ディスクを入手する方法」に行き、該当するシステム用の起動ディスクをダウンロードする。
  3. システムは、XP Home edition用と、XP Professional用に大きくわかれ、またそれぞれがサービスパックの有無で4つにわかれている。重要なのは現在どのサービスパックが適用されているか「ではなく」、プレインストール時に適用されていたサービスパックで選ぶこと。わからない場合は順番に試してみるのがよい。間違ったシステム用のものだった場合、フロッピーで起動するときにエラーが出るのでわかる。
  4. ダウンロードしたら、exeファイルを起動する。起動すると使用許諾画面につづいて、フロッピーをいれるよう促されるので、画面にしたがって操作し、6枚の起動ディスク(フロッピー)を作成する。1から順番に番号をつけておくことを忘れないように。
  5. フロッピーができたら、起動しなくなったXPのマシンに1番目のフロッピーを入れて起動する。次のフロッピーをいれるように促されるので、順番に6枚目まで入れる。
  6. 6枚目まで行き、[セットアップの開始] 画面が表示されたら、R キーを押して回復コンソールを起動する。
  7. このとき、キーボードの種類を聞かれるので入力する。
  8. また、インストールされたシステム(現在立ち上がらなくて問題になっているもの)を認識可能な場合には、「どの Windows インストールにログオンしますか?」というメッセージがでるので、「C:Windows」が表示されている番号を入力する。またこの場合はアドミニストレータのパスワードを聞かれるので入力する。システムを認識できないぐらいの不整合の場合はこれはきかれない。

ここまでで、起動ディスク(フロッピー)の準備と、それを使ったマシンの起動、そして回復コンソールの起動ができた。回復コンソールが起動したら、いよいよ次のように入力する。

> chkdsk c: /r

/rは自動で障害を復旧するオプションである。このとき「AUTOCHK.EXEが見つかりませんでした。 AUTOCHK.EXEの場所のドライブ文字を含む完全なパスを入力してください。」と表示される場合がある。AUTOCHK.EXEはCHKDSKの実体のようなものである。C:ドライブが認識可能な状態であれば、C:にあるAUTOCHK.EXEを自動で認識して使用するのだが、C:が読めないような状態だと、
AUTOCHK.EXEがみつからず、CHKDSKを実行することができない。この場合は、適当なWindows用のCD(わたしはWindows Server 2000のCDをつかっている)を入れておくとよい。そのようなものがない場合には、他の動いているWindowsからAUTOCHK.EXEをコピーしてCD-Rに焼いて入れておくと良い。AUTOCHK.EXEはたとえば”C:windowssystem32i386AUTOCHK.EXE”というようなところにあります。

CHKDSKはディスクのサイズにもよるが、数時間かかることも普通なので気長に待つ。終わったら、

> exit

などとして再起動する。入れてあったフロッピーやCDは抜いておくこと。これでWindows XPが起動可能に! なることも多い! おためしあれ ^^;

参考文献

  1. Windows XP のインストール用起動ディスクを入手する方法, マイクロソフトサポートオンライン, 2006
  2. Windows XP 回復コンソールについて, マイクロソフトサポートオンライン, 2004

2030年、CPUの速度は現在より10万倍速くなる?

わけあって、ドライストーンスコアのリストから、適当に抜き出して、
CPUの発売年度(これも適当ですが)でプロットしてみました。
PC系の1チップCPUだけです。グラフはこんな感じ。y軸はドライストーンスコア、
x軸はCPUの発表年です。

futsujiku.jpg

図1. CPUの速度と発売年の関係(普通軸)

グラフだけでもとのデータがなくて申し訳ないんですが、
いまそのデータが手元にない。あとで追加しておきます。
まあ、これだとよくわからないんだけど、対数軸にしてみると、

taisuujiku.jpg

図2. CPUの速度と発売年の関係(対数軸)

おお。見事に直線っぽい。そこで近似線を重ねてみた。

kinji.jpg

図3. CPUの速度と発売年の関係(対数軸)近似線付き

グラフ中に書いてありますが、近似の直線によると、おおむね1.6年で2倍の性能になっているようです。
ちなみにムーアの法則は18〜24ヶ月で集積度が2倍になるというやつ。1.6年=19.2ヶ月ですから、おおむね
適合しているかな。おもしろいのは1970年付近で1になること。1970年ってのはなんかすべての始まりの
年なんですかね?

まあいい加減なデータなのでアレなんですが、もし今後もこのペースで性能が向上するとすると、
図3によれば、2030年にはドライストーンのスコアが1兆ドライストーンになります。これはすごい。
グラフの最後のプロットの点が1千万ドライストーンですが、これはG5の2.0GHzです。つまり、
2030年のCPUは、G5 2.0GHzの10万倍の速さになる。かもしれない。

10万倍といわれてもイマイチピンときませんね。でも2030年ってもうすぐそこです。
というわけで、G5の10万倍速いCPUができたら一体どういうことが出来るのか、
または一体どういうことを
やりたいか、いまのうちから考えといたほうがいいですね。みなさんはなにをやってみたいですか?

参考文献

  1. dhrystone
  2. Dhrystone2.1 ベンチマークの結果
  3. Intel社が開発したマイクロプロセッサーの技術的スペックの歴史的変遷(詳細版)

Firefoxでしたまでスクロールすると自動でページをめくってもらえるスクリプト(AutoPagerize)

2008/12/23追記:現在autopagerizeがうまく動かないようです。詳しい対処法は
autopagerizeが動かなくなった時の対処法をご覧ください。


今日は面白いものを教えてもらったのでメモっておきます。

たとえばGoogleで検索したとき、デフォルトの1ページ表示数10件のなかに希望のものがなかった場合、
次のページに簡単にいけたらいいなー、とおもいませんか? わたしはsite:をつかって検索したとき、
なにがインデックスされてるのかざっと見たいだけなのに、いちいちポチポチ「次へ」をおすのが
めんどくさいなあ、とおもってました。そこでこれだ! AutoPagerize。一番下までスクロールすると、
自動で次のページがつながって表示されます。言葉で説明するとよくわからんが、図で見るとこんなかんじ。

autopagerize.jpg

図1. GoogleにてAutoPagerize動作中

まんなかの線から下が勝手につながった「次」のページです。便利かも。Googleだけじゃなくて、

hatena.jpg

図2. はてな注目のエントリーにてAutoPagerize動作中

flickr.jpg

図3. FlickrにてAutoPagerize動作中

というように、いろいろなサイトに対応しています。詳しくはAutoPagerizeのSITEINFOデータのページをみればわかる。というわけで、インストールしよう。

AutoPagerizeはGreasemonkeyのスクリプトなので、Firefoxじゃないとだめです。またGreasemonkeyの
アドオンをいれていないひとは、まずGreasemonkeyをいれましょう。Firefox Add-ons – Greasemonkey
行って、緑の「インストール」ボタンを押し、そのあと出てくるダイアログの「今すぐインストール」を
押します。

greasemonkey.jpg

図4. Greasemonkeyのインストール

インストールが終わるとFirefoxの再起動を求められますから、再起動しましょう。再起動して
立ち上がってくると、右下におサルさんのアイコンが出るはず。

monkey.jpg

図5. おさるのアイコンほいさっさ

この状態になったらつぎはAutoPagerizeのインストールです。AutoPagerizeのページにいって、
わかりにくいけど右側の黒い「Install this script」を押し、出てくるダイアログで
「インストール」を押します。

autopagerize-install.jpg

図6. AutoPagerizeのインストール

これにてインストール完了。これであなたもAutoPagerizestだ! (なにそれ)。AutoPagerizestのキミなら、2ちゃんねるをこえる日本最大の釣り堀との呼び声もたかいあのサイトも! ↓

komachi.jpg

図7. 発言小町でAutoPagerize中

おおっ。結構便利。かも? みなさんもごかつようあれー。

参考文献

  1. Firefox Add-ons – Greasemonkey
  2. AutoPagerize
  3. AutoPagerizeのSITEINFOのページ

さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2

前回、さくらのレンタルサーバにRuby on Railsをインストールする方法でrubygemsとRuby on Railsのインストールができたので、こんどは試しに動かしてみます。

まずはRailsのアプリケーションのディレクトリを作成。場所はどこでもいいですが、webでみられないところにしてください。さくらのレンタルサーバーでいうと ~/www 以外ですね。のちほど、公開用のディレクトリだけ、~/www以下からシンボリックリンクを張ります。ここでは~/Rails以下にRailsのアプリケーションをまとめておくことにして、今回のテスト用のアプリケーション「test」(そのまま!)をその下におきます。

% cd
% mkdir Rails
% cd Rails
% rails test
      create  
      create  app/controllers
...(略)...
      create  log/development.log
      create  log/test.log
% ls -l
total 2
drwxr-xr-x  14 narak  users  512 Aug 22 13:03 test/
% cd test
% ls -l
total 34
-rw-r--r--  1 narak  users  8001 Aug 22 13:03 README
-rw-r--r--  1 narak  users   307 Aug 22 13:03 Rakefile
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 app/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 components/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 config/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 db/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 doc/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 lib/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 log/
drwxr-xr-x  5 narak  users   512 Aug 22 13:03 public/
drwxr-xr-x  4 narak  users   512 Aug 22 13:03 script/
drwxr-xr-x  7 narak  users   512 Aug 22 13:03 test/
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 tmp/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 vendor/

できた。できたら、いくつか設定を変更します。

まずはディレクトリとファイルのパーミッション関係。test/log と test/tmp はwebサーバー経由で起動されたrubyに書き込み権限がないといけません。したがって、o+wにしちゃう。-Rオプションを忘れずに。

% chmod -R o+w log tmp
% ls -l
total 34
-rw-r--r--  1 narak  users  8001 Aug 22 13:03 README
-rw-r--r--  1 narak  users   307 Aug 22 13:03 Rakefile
drwxr-xr-x  6 narak  users   512 Aug 22 13:03 app/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 components/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 config/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 db/
drwxr-xr-x  2 narak  users   512 Aug 22 13:03 doc/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 lib/
drwxr-xrwx  2 narak  users   512 Aug 22 13:03 log/
drwxr-xr-x  5 narak  users   512 Aug 22 13:03 public/
drwxr-xr-x  4 narak  users   512 Aug 22 13:03 script/
drwxr-xr-x  7 narak  users   512 Aug 22 13:03 test/
drwxr-xrwx  6 narak  users   512 Aug 22 13:03 tmp/
drwxr-xr-x  3 narak  users   512 Aug 22 13:03 vendor/

次は環境ファイルの設定。場所はtest/configの下の「environment.rb」です。ロードパスを追加するのと、環境変数GEM_HOMEの設定を追加。diffをとるとこんなかんじ。3行追加ですからviで編集するか、下のようなpatchをあてるか、どうにかしてください。もちろん「/home/narak」のところはご自分のホームディレクトリに変更してくださいね。

% diff -u config/environment.rb.org config/environment.rb
--- config/environment.rb.org   Wed Aug 22 13:20:58 2007
+++ config/environment.rb       Wed Aug 22 13:20:47 2007
@@ -1,4 +1,8 @@
 # Be sure to restart your web server when you modify this file.
+$LOAD_PATH.push("/home/narak/lib/ruby/site_ruby/1.8")
+$LOAD_PATH.push("/home/narak/lib/ruby")
+
+ENV['GEM_HOME'] ||= '/home/narak/lib/ruby/gem'
 
 # Uncomment below to force Rails into production mode when 
 # you don't control web/app server and can't set it the proper way

上記は、要するにインストールのところで~/.cshrcに設定した環境変数「RUBYLIB」と「GEM_HOME」ですね。Railsのアプリケーションがwebサーバ経由で動くときは、当然ユーザとは違うuidでうごきますから、
~/.cshrcで環境変数設定しても全然関係ない。だからこのconfig/environment.rbにかかなくちゃいけないってわけ。実は前の記事を書いたあと、すぐこの記事を書こうと思ったのだが、これでハマって時間がかかってしまった。
だいぶコードを読んだので、おかげさまでrubygemsに詳しくなりました ^^; GEM_HOMEめー。

config/environment.rbが終わったら次はpublic/.htaccessです。このpublicディレクトリが公開用のディレクトリになります。さくらのレンタルサーバーではOptionsは無効なので、これをコメントアウト
しておかないとエラーになっちゃいます。AddHandlerもいらないのでコメントアウト。

% diff -u public/.htaccess.org public/.htaccess
--- public/.htaccess.org        Wed Aug 22 13:35:07 2007
+++ public/.htaccess    Wed Aug 22 13:34:26 2007
@@ -1,7 +1,7 @@
 # General Apache options
-AddHandler fastcgi-script .fcgi
-AddHandler cgi-script .cgi
-Options +FollowSymLinks +ExecCGI
+#AddHandler fastcgi-script .fcgi
+#AddHandler cgi-script .cgi
+#Options +FollowSymLinks +ExecCGI
 
 # If you don't want Rails to look in certain directories,
 # use the following rewrite rules so that Apache won't rewrite certain requests

さー、これでいよいよ準備が整いました。webからみられる場所からtest/publicに向けてシンボリックリンクを張ります。今回は~/wwwの直下に「test」という名前でシンボリックリンクを作りました。こんなかんじ。

% ln -s $HOME/Rails/test/public $HOME/www/test

これで、http://narak.sakura.ne.jp/test/にアクセスすると下のような「Welcome aboard」画面が出ます。

welcome-aboard2.jpg

図1. Welcome abord

続いて「About your application’s environment」をクリックしてみます。

for-security-purpose.jpg

図2. About your application’s environment

図2のように「For security purposes, this information is only available to local requests.」と出ればRailsは正常動作しています。とりあえずパチパチ!

トラブルシューティング

上記の図1、図2のようにならなかった場合ですが、まず図1の画面が出ず、図3のように
「Internal Server Error」が出る場合。これはpublic/.htaccessにエラーがあると思われます。
ちゃんと「Options」をコメントアウトしたかどうかチェックしましょう。

internal-server-error.jpg

図3. Internal Server Error

次に図1の画面は出るのだが、図2のところで「Application error Rails application failed to start properly”」と出る場合(図4)。この場合は、config/environment.rbでENV[‘GEM_HOME’]がセットされていないと思われます。ちゃんとENV[‘GEM_HOME’](と$LOAD_PATH)の行を追加したかチェックしましょう。

application-error.jpg

図4. Application error

というわけで、いちおう動作できました。次回はデータベースの設定をして、簡単なアプリケーションでも作ってみましょう。さくらのレンタルサーバでRuby on Railsをうごかしてみたら…ヘ続く。

参考文献

  1. Ruby on Rails
  2. RubyGems Manuals
  3. Application Error – Rails application failed to start properly, Hoopla!, 2006
  4. RubyOnRails(さくらサーバ編)
  5. さくらのレンタルサーバにRuby on Railsをインストールする方法(その1), がんちゃんのブログ, 2007

さくらのレンタルサーバにRuby on Railsをインストールする方法


2008.5.10追記

rubygemsもRailsも新しいバージョンが出ており、インストールの手順が多少かわりましたので、それにもとづいた記事をかいております。アップデート版さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法をご覧ください。


6月にあった人工知能学会の全国大会でもまつもとさんが招待講演をしたりして、なにげにもりあがっているRuby on Railsですが、わたしもさくらのレンタルサーバでRuby on Railsしてみようとおもい、インストールしてみました。そのための手順をまとめておきます。インストールに当たっては参考文献[1]と[2]を参考にしました。

まずはrubyがはいっていることの確認。

% ruby --version
ruby 1.8.5 (2006-08-25) [i386-freebsd6]

もんだいありませんね。rubyを新規にインストールしているひとが多いようですが、rubyをインストールし直す必要は「ありません」。既に入っているものを利用可能です。ただし「environment.rb」というファイルに環境変数「GEM_HOME」を設定する必要があります。詳しくは

続編「さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2」をあわせてごらんください。

次にrubygemsをインストールします。rubygemsはrubyのパッケージ管理システムみたいなやつです。むしろgemsはrailsのインストール手段として有名になってきたらしい。なるほど。で、インストール方法ですが、標準のインストール先は/usr/localのようですが、もちろんさくらのレンタルサーバーではそんなところには入れられないので、$HOME(=/home/hogehoge)に入れることにします。$HOME/lib/ruby/gemと$HOME/binにはいります。ディレクトリがない場合は作っておきます。

% mkdir ~/bin
% mkdir ~/lib
% mkdir ~/lib/ruby
% mkdir ~/lib/ruby/gem

/usr/localじゃなくて$HOMEを見るように環境変数を設定しておきます。~/.cshrcに以下の行を追加。

setenv RUBYLIB $HOME/lib/ruby/site_ruby/1.8:$HOME/lib/ruby
setenv GEM_HOME $HOME/lib/ruby/gem

.cshrcをセーブしたら% source ~/.cshrcなどとして環境変数をセットしておきます。

rubygemsをダウンロードして展開します。2007年8月現在の最新版は0.9.4です。展開先は~/srcの下あたりがいいでしょう。なかったらこの際だから作っておきましょう。

% mkdir ~/src
% cd ~/src
% ftp http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
% tar xvzf rubygems-0.9.4.tgz

gemsをインストールします。setup.rbを実行するとconfig, setup, installの順で勝手に実行されるのですが、下で述べる理由で今回は1ステップづつ手で実行します。まずはconfigです。インストール先は$HOMEなのでその旨指定します。

% cd rubygems-0.9.4
% ruby setup.rb config --prefix=$HOME

このあとはsetupしてinstallするのですが、このままだとうまくいきません。あまり追求していませんが、おそらくrubygemsのバグでgemsが入るlibのパスが、configのprefixで指定したやつにならないのね。しょうがないので修正します。configsするとできる「.config」というファイルをviかなんかで以下のように修正するか、sedでもかけるか、patchするかなんかして修正してください。6行ほど修正。

% diff -u .config.org .config
--- .config.org Sun Aug 19 19:50:15 2007
+++ .config     Sun Aug 19 19:51:40 2007
@@ -5,12 +5,12 @@
 mandir=$prefix/man
 sysconfdir=$prefix/etc
 localstatedir=$prefix/var
-libruby=/usr/local/lib/ruby
-librubyver=/usr/local/lib/ruby/1.8
-librubyverarch=/usr/local/lib/ruby/1.8/i386-freebsd6
-siteruby=/usr/local/lib/ruby/site_ruby
-siterubyver=/usr/local/lib/ruby/site_ruby/1.8
-siterubyverarch=/usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6
+libruby=$libdir/ruby
+librubyver=$libdir/ruby/1.8
+librubyverarch=$libdir/ruby/1.8/i386-freebsd6
+siteruby=$libdir/ruby/site_ruby
+siterubyver=$libdir/ruby/site_ruby/1.8
+siterubyverarch=$libdir/ruby/site_ruby/1.8/i386-freebsd6
 rbdir=$siterubyver
 sodir=$siterubyverarch
 rubypath=/usr/local/bin/ruby18

「.config」を修正したら、setupしてinstallです。

% ruby setup.rb setup
% ruby setup.rb install

これでgemsがインストールできたはず。出来たら確認しよう。出来たばかりだとコマンドがコマンドサーチパス内にはいっててもみつからないので、実行前にrehashします。

% rehash
% gem -v
0.9.4

オッケーですね。ではいよいよRailsをインストールしましょう。以下のようにします。

% gem install rails --include-dependencies

1回めはパッケージの情報がとれなかったみたいで失敗しました。2回めはオッケー。–include-dependenciesオプションをつけると、Railsのために必要なパッケージもインストールしてくれます。成功したら$HOME/lib/ruby/gem/bin/のしたにrailsとrakeというコマンドが入っています。$HOME/binあたりへシンボリックリンクを張ってもいいけど、面倒なのでまるごとコマンドサーチパスに入れておきます。~/.cshrcを編集して$pathに$HOME/lib/ruby/gem/bin を追加。

set path = (/sbin…(略)…/usr/X11R6/bin $HOME/bin $HOME/lib/ruby/gem/bin)

出来たらsourceしてrehashしてrailsの確認。

% source ~/.cshrc
% rehash
% rails -v
Rails 1.2.3

できたー。けっこう簡単。かな?

続編「さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2」では、Railsの動作確認をします。つづく。

参考文献

  1. [Ruby]さくらにrubygems0.9.4インストール, qw/Perる PHP 日誌/, 2007
  2. [Ruby]さくらにRailsインストール, qw/Perる PHP 日誌/, 2007
  3. シリーズ パッケージマネジメント, rubyist magazine, 2006
  4. ruby on rails

bloggerで「Links to this post」(バックリンク)を表示する

突然ですが、bloggerにはブログでよくある「トラックバック」の仕組みがありません。そのかわり、「バックリンク」という仕組みが装備されています。詳しくは参考文献[1]が詳しいです。「バックリンク」とは、簡単に言うと、そのエントリにむけて張られたリンクの一覧を表示する仕組みです。この仕組みが働くためには、リンクするほう、されるほうの両方がWeblogs.comへ Pingをうたなくてはいけません。BloggerのデフォルトではPingを打つようになっています。グーグルさんはWeblogs.comへのPingを調べてBlog Searchにデータをインデックスして、リンクが張られていることを把握するみたいです。事実上Bloggerだけなのかなー、とおもったけど、けっこういろいろなサイトが表示されていますね。Weblogs.comっていうのは、よく使われているもの? なの?

参考文献[2]をみると、記事の最後に「Links to this post」というリンクがあって、記事個別のページにとべるようになっています。そこにはその記事へのリンクをつけているサイトの一覧が出ていますね。たとえばKirkland does the Ranger Relayという記事の最後など(図1)。

linkstothispost.png

図1. The Official Google Blogの「Link to this post」

気がついたら、このブログにはそのフィールドが表示されていないようだったので、表示されるように設定を変えてみました。やり方は以下の通り。

まず「更新ping」を打つように設定。これはわたしのところでは「はい」になっていました。「設定」タブの「公開中」で「更新の通知を送信」を「はい」にします。

ping.png

図2. 「更新ping」を打つ設定

つぎに記事の個別のページで「Links to this post」を表示するための設定。これがオフになっていました。「設定」タブの「コメント」で、「バックリンク」を「表示」にします。

backlink-blogger.png

図3. 個別記事で「バックリンク」を表示する設定

これだけだと、記事ごとのページに、そこへのリンクを張っているページ一覧がでますが、記事の一覧のページ(トップページなど)のところでは出てきません。これは別の設定があります。

「テンプレート」タブの「ページ要素」で、「Blog Posts」の「編集」を押します。

template.png

図4. テンプレートで「編集」

すると図5のようなウインドウがあらわれるので、「この投稿へのリンク」というのにチェックを入れます。するとしたのレイアウトのプレビューのところにその項目があらわれます。これはマウスでつかんで順番を変更可能です。

linkstothispost-sum.png

図5. サマリーページで「バックリンク」を表示する設定

というわけで、無事バックリンクが表示されるようになりましたー。もし、このブログにむけて作られたバックリンクがあれば、だけど! ^^;

….と思ったら、サマリーページで「Links to this post」というリンクが表示されていないっぽい。使っているテンプレートは「minima lefty」なのですが、このテンプレートのHTMLをみてみたらどうもそれを表示するためのコードが入ってないような…ふつうのminimaには入っているんだけどねえ。めんどうなのでこれでいいことにしよう ^^; 気が向いたらテンプレート直すかも。でもねえ、bloggerのテンプレートって、汚いんだよねえ…みるのもいやー ^^;

参考文献

  1. トラックバック, クリボウのBlogger入門, 2006
  2. the official Google blog
  3. Weblogs.com