« 2004年07月 | メイン | 2004年09月 »
コメントスパム対策、もしかしたらイケるかもしれない方法
2004年08月31日

今日、信号待ちをしながら無意識にコメントスパムのことを考えていた私(←もう病気です!)、ひらめきました。

こういうコトは、そればかりを真剣に考えているときはひらめかないものです。

お風呂にはいっているとき
とか、
電車に乗っているとき
とか、
とにかくぜんぜん違うことをしながら、無意識にボーっと考えているときにひらめくものです。

仕事のことで「あぁ間違えてしまった...まずいっ!!」とサーっと背筋が凍る思いをするのも、電車の中だったりするものです(笑)。
仕事中には気付かないものなんです....悲っ。

さて...、運転していて、
「うーんと、formタグに日時とIPアドレスを入れたんだったっけな。」
「でも、コメントスパムがきたらどうやってチェックすればいいかな?」
「『日時はねつ造してもわかるぞ!』っと確信していたけれど、SSIで表示しているワケだから、POSTされた時間とはもちろん異なるワケだもの...」

よく気付いた!>じぶん(笑)

そこで、その対策として、
「formタグのパラメタを組み立てるSSIの中で、表示するだけじゃなくて、ファイルにセーブしておけばいいじゃん!」
っというコトを思いつきました。赤信号で....(笑)。

んーっと、セーブしておいたのと、POSTされてきたときのQueryStringを比べればいいワケだ。
ほっほっほ!!
等しくなけえば×
等しければ〇
内容はランダムなワケだし。(といっても日時だからな....ぜんぜん関係ない乱数にでもすればもっとわかりにくいかな??でも日時だと自分がログを見たときにわかりやすいもんな~笑)

もいちどまとめると...
(1)コメントを入力する画面のFORMタグにパラメタを追加する(内容は日時または乱数とIPアドレスまたはホスト名)。
(2)FORMタグに追加したパラメタと同じ内容をサーバ上のファイルにセーブしておく。
(3)コメントがPOSTされたら、QUERY_STRINGを取得し、セーブしておいたファイルと比較する。
 等しいものがなければNG。
(4)等しいものがあったら、POSTしてきたIPアドレスとパラメタのIPアドレスが等しいことを確認する。
 ※これは、セーブしておいたファイルに複数データあったとして(このサイトではまずありえないけれど...悲)、どれを見ればいいのかを判別するために、とりあえずはIPアドレスで比較することにします。セッションIDみたいなものと考えればいいかしら?
 等しくなければNG。

別にquery_stringじゃなくて、hidden項目にしてその内容を同じように可変にしてもいいのかもしれないですが、環境変数で取れる簡単お手軽方法です。

どちらにしても、これで一発屋はアウトですよね!

これでも、もしコメントスパムが来るとすれば、それは一件一件手でコメントをコピペ入力しているワケで..それもなんだか笑えちゃいます。
......ですよね?

なにかどこか見逃しているかしら??

短い赤信号の時間に考えついたネタなので、あまりたいしたことはないかも(苦笑)


投稿者 megu : 22:12 | コメント (0)

コメントスパムは一発屋?

昨日またコメントスパムをありがたくいただいたのです。

対策というのではなくて、「思いつきandいたずら心」で入れていた、damedamespamという文字列が、QUERY_STRINGに見事に仕込まれていました。

敵は何を考えているんだろう?
もしかして、やっぱひとつひとつコメントしてるのかぁ??

たくさんのログを見るのは疲れるのでひとつだけ...。

IPアドレスは211.1.102.67
ホスト名はns.kaichigakuen.ed.jp
....なのだけれど、実在する学校らしいです。
ココをプロキシに設定すると(Portは80)、この学校の中のサイトしか見えなくなります。

#やっぱり偽装だな。

access_logをこのIPでgrepしてみました。

# grep 211.1.102.67 access_log
211.1.102.67 - - [30/Aug/2004:12:37:01 +0900] "POST /mt-comments.cgi?damedamespa
m HTTP/1.1" 500 614 "http://blog.kiyo.com/archives/2004/08/cocosecom.html" "Mozi
lla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; AIRF)"

あら、ひとつしかない....。

まぁもしかして一発屋さん??(笑)

普通、コメントを投稿すると、そのコメントが表示される画面へ遷移するから、
ACCESS_METHOD=GETでもって、__mode=cmtr_name_jsっていう引数でもいちど呼ばれるはずなんですよね。
それがないんです~~っ!

#それでまたちょこっと仕込みました。
#スパム対策にはなっていないけれど、どうやっているか知りたくて。

formタグに日時とIPアドレスが表示されます。暗号化でもすればよいのかもしれませんが、とりあえず素のままです。(SSIを使っています。)

犯人はどういった偽装をしてくるのでしょうか?きちんとセットしてくるのかなぁ~~

投稿者 megu : 00:24 | コメント (5)

A4の故障
2004年08月28日

このサイトへ検索サイトから訪れてくださる方がいらっしゃいます。

キーワードを拾っていますが、その中にA4やAudiといった文字もちらほら。

私にとってはちょっぴりうれしいけれど、その反面
「もっと何か車のことをアップしなくちゃ~!」
というアセりもでてきます(謝)。

今日はその中に「故障」というキーワードが含まれていました。
(やはり購入前に調べていらっしゃる方でしょうか?)

気になります。そこで....googleで"audi a4 故障"というキーワードで探すと、このサイトがトップ!!(苦笑)

『あぁ燃料ポンプの件ね』

っとはわかるのですが....。

そこで、燃料ポンプネタ続編....。

検索サイトをうろうろしてるうちにめぐりあったcarviewのサイトなのですが、そこで気になるスレッドを発見しました。

突然エンジン停止・・です。

やっぱりあるんですね。

この人たちだけじゃない。
私は知っているもの、一年足らずでやはりエンストしてしまった人を...。
私の車だって、エンストさえしなかったけれど燃料ポンプを交換することになったのだし。

私は、ディーラーがよく対応してくださったので特に追求しなかったけれど、親切じゃないところもあるみたいです。
もしかして「ウソつくところ」もあるわけ??

なんか気になります。

今の車はとても調子がよくて、大きなトラブルははじめてだったのですが、前車のA3は初期ロットだったせいか納車直後からいろいろあって、不動車にも何度かなって、ディーラーの人ったら私の顔をみるたびに
「ご迷惑をおかけしてすみません」
と謝ってくださっていたものです。
#しょっちゅう修理に行くものだから、サービスではしっかり覚えられてしまったけれど(わははは)。

今の車になってからは「ほとんどお世話にならなくなったわぁ~」っと思っていたんです。
#これからはまたそうなりたいと願います。

私が今乗っているA4でよく聞くトラブルは4気筒のうちの1気筒が突然死するという恐ろしいウワサなのですが、
燃料ポンプの故障だって、突然路上でエンストしちゃうんだから話題になってもよさそう...。

....っというワケでしつこく再度エントリーしたのでした。

私としては、Audiはとても好きなので、それで何度も故障したにもかかわらず、またAudiを購入したのですがこれから考える方にとってはいかがなものでしょう?
やっぱりこんなことを書いていると、ひかれちゃうかしら....。

でも、どんな車でも当たりはずれ(個体差)があるものだし、どこのメーカーだから悪いともいえないと思います。

最悪はずれであった場合は、そのあとのケアが大切だと思うのです。
(それで私は購入時にBMWを候補からはずしました。
ディーラーによるのかもしれませんが見に行ったところのサービスはいまいちでした←原則として代車がでません。一ヶ月前から予約でいっぱい。しかもカローラクラスっ!)

上のリンクのスレッドに登場された方は本当にひどい目にあわれたなって思います。
その後どうなったのでしょうね?
とても気になるところです。

投稿者 megu : 02:15 | コメント (4)

なぜ?なんのために?

先日はなぜWeb上で日記を書くの?ってことでつらつらと書いたけれど、、、

今日はあらためて質問されて固まってしまいました...。

今日、会社で廃棄処分にされようとしていたPC2台を持って帰ってきました。
捨てネコちゃんでも拾ってきた気分??

そんな私をみかけた会社の人が
「meguさんてPCが好きなんですか?」
って聞いてきたので
「そんなことないですよ~。だってこれ、まだまだ使えるじゃないですかぁ~。分解したりしないでこのまま使いますよ~」
なんておしゃべりしました。

そのあと、あらためて
「meguさんはどうしてドメインなんて取ってサーバたちあげてるんですか?
マシンが好きなんですか?OSが好きなんですか?」
なんて質問されちゃいました。

あらためて考えてみると
「はて、どうしてだろう??」
....ちゃんと答えを出せなかったです....

ひとつだけいえることは、好きだということ。
興味があることを、やってみたかっただけ...。

ドメインをとったのはやっぱり興味があったから。
長い長いURLじゃなくて、自分のアドレスが欲しかったから。

家の中にPCを増やして(実は壁内配管もしちゃっているのだ)、無線LANターミナルも用意して、どうしろというの?
って感じですよね。
でも絶対にやりたかった....前の家では廊下や階段を線が這いまわっていたし...。
当時まだLANなんて言葉が今みたいに一般的じゃなかったから設計士さんや電気工事屋さんを悩ませちゃったんです。

その結果...
「ごはんですよ~!!」って大声で呼んでも降りてこない息子だけれど、メッセンジャーで
「ごはんですよ」と飛ばすと、
「おかずはなに?」
なぁんて返事くれるんですから....なんか変。
(まだ携帯メールじゃないだけマシ??(笑))

こんなこと(自宅インフラ整備)していて、なんかいいことあったかしら?

あまりないかも?
私、サーバーがダウンしてパニクっていたときなんか家のことやりながらですごいことになっていたし。

いまだって、このMTのおもり(たいしたことやっていないけれど)をしたり、PostgreSQLを仕込んだり、セキュリティのこと考えたり...なんか苦労しているようで実際は楽しんでいるのだけれど....
うーん、なんのためにやっているのでしょうね?
わからない~~
きっと自己満足。

さて、もらってきたPCですが、もちろんロースペックで時代遅れなものです。
しっかり正常に動作するものなかからいちばんきれいなものをいただいてきました。
家についてから、「激落ちくん」でさらに真っ白に。

十分、十分。1台はサーバにするのにバッチリかも。
(会社で使っているのって余計なものがついていなくてシンプルだし。私的にはCDドライブとLANカード2枚。これだけでいいんですっ!)

1台はリブレットなので本当に本当に小さいもの。
それでも私の初代20や夫の50に比べたらかなりハイスペックな70なのでまだまだ使えるでしょうねっ!
やっぱり旅行に持っていくにはいくら薄型でも普通のノートじゃ疲れちゃうんです。

#そのLibretto20が出てすぐにアメリカへ行ったのでした。
#当時機内でPCを使っているひとがちらほらいたのですが皆でっかいノートで私はひとり鼻高々だったんです~(遠い目)。
#そのLibretto20にTurboLinuxを仕込んでいたこともあったのだ....(やっぱり好きだった...笑)。

いくらなんでも初代Libretto20はもう古すぎるので、今度旅行に行くときには70を持っていきたいです。
普通のノートPCじゃ薄型でも手荷物が重たくてイヤイヤ、絶対いや~。

もう一台はPentiumIIで、サーバのバックアップ用にと思っていたのですが、息子(次男)用にすることにしました。
彼のマシンが私の大お古で、もう少しマシなマシンにしてあげようと思っていたんです。
それで先日、長男のおさがりをと思って用意していたのが電源をあげてみるとすごい音がするんです。(←燃料ポンプ故障時のA4といい勝負!)
なのでサーバのバックアップ機はあきらめることに...。(また別のをみつけてこよう。)

今日は、自宅にあったHDDを挿して、メモリもかきあつめて256+128Mになりました。
立ち上げてみたら、そのHDDにはSlackWare7.0が入っていました。
難なく立ち上がったのでとりあえず今日はここまで。
(これはフォーマットしてWindowsにしちゃうかも?悲しいけれど、息子にはそのほうがいいですよね。)

リブレットのほうはWindows98がきれいにインストールしてありました。
すぐにでも使えそう...。

ついでに娘のマシン(ピンクのAfina)にもメモリを増設して、リカバリCDからインストールしなおしました。
これで何度クリアしたことか....
その中に、小学生用ソフト10本足らず、まとめてインストールしちゃいました。
右脳キッズとか、かけざん九九とか....過去によく買ったもんです。
こういうソフトでお勉強させるのはやめようと思ったのですが、せっかくあるので使わないのはもったいない(おケチ根性)ので。

娘は嬉々として学研のたしざんやひきざんのソフトをやりはじめました。
(だって、2+3とか、彼女にとっては簡単すぎる問題ばっかり。)

でもでも、やっぱり子供が喜ぶから...っていうのは「オマケ」であって、
あくまでも私の『趣味』なんでしょうね。

オタクっぽいイメージは好きじゃないけれど....

なので「趣味は?」と聞かれたときは
「編物」とか「ピアノ」とか答えています。
どーも、こっちの趣味は、なんだか恥ずかしくてやっぱりあまり大きな声ではいえないのです。

人サマからみて、どーなんだろ?私って...
やっぱ物好きですよねぇ~~

投稿者 megu : 01:44 | コメント (0)

コメントスパムが来た!!
2004年08月24日

やっとやっと、コチラのサイトにもコメントスパムがやってきてくれしました。

#ありがたくはないけれど、
「いっちょまえに来てくれるようになったのね....」
なんて思ったりもして。

HTTP_REREFERは偽装できるというコトでしたが、本当に、「正しい値=コメントをつけるエントリーのアドレス」が設定されてきました。
#私はホスト名の比較しかしていないのでホスト名さえ入っていればPOSTできちゃうんですけれど...。

さて...準備が足りなかった!!
Apacheのaccess_logじゃほかのアクセスログとごった煮状態で見ずらい。
mt-comments.cgiでgrepして別だししてみたりもしたけれど。
そうすると、今度はIPアドレスでまとめてみたくなるし。
なにより、POSTで来ているのでリクエストの中身がわからないし

....っといいつつ、娘の勉強をみながら、ログをしみじみ眺めていたのです。

敵(?)ははじめ、普通にトライした模様。
#Referer未設定でPOSTされた形跡があるのです。

そのあと、HTTP_REFERERを偽装(か、もしくは本当にこのサイトからPOSTしたのかもしれません(笑))してきました。

数個あったスパムはすべて異なるIPアドレスでした。
ホスト名を調べてみると、mail.ほにゃらら....なんてのもあっていったい何者?
きっとIPアドレスはすべて踏み台ですよね。

あらかじめ、エントリーをチェックしたような形跡も...
ホスト名を引けないIPアドレスなんですが、いちどもindexを踏まずに、エントリーを順ぐりに回っているんです。(その直後です、偽装リファラ付コメントスパムが数回。)
でも普通の訪問者なのかもしれないし...。
でもそれにしては、スタイルシートや背景のgifを読んでいないのがアヤシイ....。
USER_AGENT だって、すごくありふれたブラウザのくせして...(これも偽装だろうなぁ)

ツールを使っているにしては回数が少ないなぁ。
ひとつひとつHTTP_REREFERを設定しなおしながらPOSTするから?
それとも人手を使ってコピペ入力しているのか?(じゃないとは思うけれど、本当にそうだとしたら笑える。)

ちょっと対策を考えておくことにします。
明日もまた来るのかしら??

投稿者 megu : 23:21 | コメント (2)

Refererのチェック(続き)
2004年08月22日

先日、スパム対策も兼ねてHTTP_REFERERをチェックして、自ホストから送信されているコメントのみ受付けるように修正しました。

ただ、ウィルスやワームが氾濫し、多くのPCにセキュリティ対策ソフトが施されている今、Refererはあえて伏せられて送信されることがあるようです。

その場合、悪意がなくてもエラーとなってしまいます。


「だから、MovableTypeはあえてRefererのチェックをしていないのか?」
っというのは置いておいて....

とりあえず、今時点でチェックをはずすのはやめておきました。

なぜなら、私のメインサイトで、このチェックはいつも行ってきたことなんです。
MTを使い始めたのはつい最近のことですけれど、MTにしたからってその方針を変える必要はないかなっと思いました。

でも、いきなり「エラー」じゃあんまりなので、エラーのときに表示される画面にはその旨の説明を入れておきました。

あとコメント入力のところにも、メッセージを入れておきました。

Perhaps you are using a firewall which is removing the
http_referer variable when you submit your message.
You cannot post without this being available for security reasons.

※ファイアウォールや、セキュリティソフトをご利用ですか?※

誠に申し訳ないのですが、当サイトではセキュリティのために、
kiyo.com内からの送信のみ受付けるように設定させていただいております。

「Norton Internet Security」などのファイアーウォールソフトを導入して
いらっしゃるパソコンでは、 コメントを投稿時にエラーとなる場合があります。

・一時的にファイアウォールを無効にする。
・ファイアウォールソフトの設定を「リファラーを有効にする」にしていただく。

などしていただけると、投稿できるようになります。
よろしくお願いいたします。

これでいいかなぁ~....

投稿者 megu : 15:49 | コメント (0)

ひさしぶりの洗車♪でもちょっぴり不調
2004年08月21日

このところ、修理に出したり出かけたりしていたので洗車をサボっていました。

「そろそろゴーグリ(ゴールドグリッターのこと)しないと、モールとかさびてきちゃうんじゃないかしら~~」
と心配になってきた頃、daihikoさんのサイトで気持ちよさそうに水あびするA4を見ました。

あぁ..........洗車したい!!

...でも時間がない、ない、ない...っ!!

そんな中、やっと時間を作りました。

午前中、娘の夏期講習の送り迎えを終え、お昼を食べさせてから、バレエのレッスンにつれていくまでの短い短い時間にひさしぶりのしあわせなひととき...。

audi_sensha.jpg(←まねっこして写真とりました。)

と思ったら、ち~っとも余裕がなくて、ものたりないの、なんのって~

途中で、
「ママ~!!もう2時だよ~!!バレエに行く時間だよ~!!」
っと娘に言われ、まだまだびしょぬれの愛車をダダダーっと拭いて、ボンネットと気になるモール類の部分だけゴールドグリッターをしたのでありました。

本当は、、、
もっと時間をかけてホイールの中まで丁寧に磨きたかったし、タイヤにワックスもかけたかったのだけれど。

そんな短い時間でも、ひさしぶりの洗車でいろいろ発見しちゃいました。
左側フェンダーに長さ3センチくらいの引っかき傷。(ハンドバッグかなにかでやっちゃったかやられちゃったか?本当に細い線で、髪の毛でもくっついているのかなと思ったら違いました泣。)
屋根には鳥のウ〇チのひからびたの...(ひ~っ!!なんで気付かなかったんだろう?)

洗車ですが....以前は行きつけのガソリンスタンドで全部お願いしていました。
コーティングと洗車がコースになったやつで、お任せコースみたいなやつです。
これもオススメで、結構きれいな状態を保っていたんです。

でも、今の車になってから、基本的に「自分で手洗い」になりました。
なぜ?というと....
新車のときにディーラーでコーティングをしていただいて、専用シャンプーをいただいたのです。
本当に、そのシャンプーじゃなくちゃ駄目なのかどうなのかはわからないけれど、
「これを使ってください」って....
GSでは洗車に専用のシャンプーを使っているようです。
それでは不安なので「水だけで手洗い洗車していただけますか?」
と聞いてみたら、答えは「NO」でした。
たいしたことはないかもしれないけれど、やっぱり不安なのでお願いするのをやめました。
それ以来、自分で手洗いです。
でも、面白いもので、自分で洗うようになってから楽しくって、洗車が趣味のようになってしまいました...笑。

最近では夫の車にも手を出しそうになってしまいます...笑。(勝手に洗ったら叱られます。ゴールドグリッターのことだって、「変なものぬらないでくれ」と言われるので....ぶりぶり。)

さて...タイトルに書いた、「ちょっぴり不調」ですが、またマイナートラブルです。
修理に出すほどでもないのですが....

ロックした直後、運転席の横でピカピカひかる赤いやつ...(なんと呼ぶのでしょう?)
あれが点滅ではなくて、赤くつきっぱなしになってしまいました。
...ロックしなおしたらなおりました(^^;。 あぁよかった。
あれはなんだったのでしょう??

あと、キーのリモコンが効かなくなってしまいました。
押してもうんともすんとも言わないのです。
なんだか悲しかったです。

はじめて、キーをまわしてドアをあけました。
エンジンは普通にかかりました。

1時間くらい運転して、降りるときにはリモコンは効くようになりました。
あれもなんだったのでしょう??

いちおうサービスに問い合わせてみましたが、キー側のスイッチの不調ではないか?ということでした。
しばらく様子見です。
う~ん。

投稿者 megu : 22:21 | コメント (4)

コメントスパム対策....になるかどーか
2004年08月20日
mt-comments.cgiにHTTP_REFERERのチェックを入れるようにしました。 コメントスパム(スパムコメント)のことがよく話題になっているのですが、私のところにはぜんぜん来ないのです。
だから、中身がどんなモノなのか?想像がつきません。

ただ、「コメントスパムを投げるのは簡単なことだなぁ~」と思ってはいます。
だって、本当に簡単なんです。
#何もチェックされていないようなので....。

たとえばデスクトップ上(場所はどこでもいいです)に、これみたいなHTML(URLやエントリーIDは適宜変えてくださいね)を置いて、ブラウザで開いて投稿してみると....
あら不思議、投稿できちゃいます。
MovableType上では、Submitした文字コードすら変換されずにそのまま登録されるので、たとえばUTF-8で運用されているblogに、シフトJISで投稿しちゃったら、化け化けしちゃいます。

#文字化けのことはおいておいて....

ここで何が気になったかというと、
「あっ、MovableTypeのコメント投稿ってREFERERのチェックしてないんだ!」
っということでした。

よくいわれているコメントスパムは、REFERERも偽ってくるのでしょうか?
そこのところがよくわからないのですが、とりあえずチェックを入れておくことにしました。

mt-comments.cgiのはじめのほうに下記のような感じでいれておきました。
これで、上記のやりかたでは投稿できなくなります。
    if (!($ENV{'HTTP_REFERER'} =~ /$ENV{'HTTP_HOST'}/) ) {
        print "Content-Type: text/html\n\n";
        print "<html><head><title>JBad Referer</title></head>\n";
		print "<body><center><h1>ERROR: Bad Referer</h1></center></body></html>\n";
        exit;
    }
    ※間違ったREFERER(MTを置いているのと異なるホスト)からのアクセスの場合はエラー画面を表示します。
でも、コメントスパムに効き目があるかどうかは、実際にきてみないとわからないです。
いろいろな対処方法があるようですので、来たら、そのときまた考えてみたいです。

#...なぁんて悠長なことは言っていられないくらいアタックされるのでしょうか?

たぶん、こんな簡単なことでは防げないのでしょうね。

ただ、
「REFERERについてのチェックについては、どのように認識されているのかな?」
っということについては気になるのググってみました。

"コメントスパム REFERER"で検索をかけたら、mt::MRU 【コメントスパン対策情報】Refererをチェックがヒットしました。

Refererには特殊な文字列が入ってくるようです。これなら、↑の対策で大丈夫そうです。
でもきっとこんなことって「イタチゴッコ」だと思うので、ぜったいに不十分だとは思うのですが。
またこれから、いろいろと考えてみたいと思います。

投稿者 megu : 00:43 | コメント (6)

点検に出すと壊れる?!
2004年08月18日

先日は愛車を点検に出したら故障した話を書きましたが、実はこれ、はじめてではなく、私が車のオーナーになった日からちょこちょこあったことなのです。

車検に出した翌週にバッテリーあがり....なんてひどすぎません?(笑)

「洗車すると雨が降る」人もいるみたいだけれど、なんか私って悲しすぎ(泣笑)。

さて、、、、今回は時計なんです。

長年愛用してきた腕時計(自動巻きのロレックス)を昨年の夏にオーバーホールに出しました。
それまではとても調子がよかったのです。
特に悪いところもなくて....。

ところが、修理してから約4ヶ月たった頃のことでした。
※スパンは長いのですが、時計って長く持つものと考えているので、まぁそんなモノです。

ふと時計をみると、「なんだか変な時間」をさしているのです。
一瞬夢でもみているのかと思ってしまいました。

...それは何時間も遅れていたんです。十年以上ものあいだ、いちども遅れたことがなかったのに。
ねじを巻いてやると元気に復活したのですが、またしばらくたつととまってしまう...。
「これは自動巻きの故障かな?」っと思って、修理に出したところにもっていきました。

修理は、某デパートの貴金属売り場の修理専門コーナーでお願いしました。
たくさんの有名ブランドが並ぶコーナーにあるので、ロレックスもお得意と思いました。
本家に取次いでもらえるとも聞いたのですが3ヶ月以上かかるというので、使う部品も同じだし、信用できると思ってデパートでお願いすることにしました、

さすがデパート!!
オーバーホールのときの保証書をどこかになくしてしまった私にも、丁寧に対応してくださいました。
(本当はちゃんと持っていなくちゃならないらしいです...笑。)
結局修理には1ヶ月くらいかかりました。
このとき、自動巻きのどこかの部品が磨耗してしまっていたので交換したという話でした。
#半年以内にオーバーホールに出していたので無料で対応してくださりました。

そしてゆうべのことなのですが、今度はガラス内部に曇りを発見!!
たぶん、温水プールに入ったので、そのせいかと思うのです。

でも、、、、確か防水のはずです。100メートルだか?そのくらいもぐってもいいくらいの防水だったはずです。たかだかホテルの温水プールにつかった程度で曇るワケ??(泳ぎもしていないんです。ムスメがけのびをするのにつきあって、ぽちゃんとつかっただけ(^^;;;;)

普段はぬらしていなかったので、たぶん、これは修理に出したのが原因??
なぁんて思えてきてしまいました。

ほぉんと、ついてないったらありゃしない。ぶりぶり。
これは私の運命だったりして?

点検というものは最低限にしておいたほうがよいのでしょうか?
それもまずいですよね(笑)。

健康診断を受けたら病気になったという例がまだないのは幸いですが....。
(これだけは避けたいなぁ~)

(追記...)
ガラスが曇るというのは、あまり好ましくない状態らしいので、またまた修理に出してきました。
担当の方が防水テストをしてくださったのですが、大丈夫とのこと。
っということは、私がリューズをきちんと閉めていなかったということ?
いままでそんなの忘れたこともなかったのに....
たしかにゆうべ気付いたとき、少し緩んでいたような気がするけれど。
ただ、今までほど長くかかるわけではないみたいで、10日間くらいで出来上がってくるようです。
よかった!!
いくらかかるかはまだわかりません。
もしかしたら、サービスしてくれちゃうかも?(甘い期待)


投稿者 megu : 12:21 | コメント (0)

サファリパークでナビカーに乗る

富士サファリパークへ行ってきました。

娘は、ライオンの赤ちゃんを抱っこできること。
息子は、車のまわりに野生(?)の動物たちが寄ってくること。

をそれぞれ楽しみにしていたようです。ワクワクどきどき。

横浜の自宅を出たのは8時すぎ。夏休み中なので混雑も予想していたけれど、約1時間半で到着しました。

到着した時点で、すでにジャングルバスは午後1時すぎのからしかありません....といわれました。
(ジャングルバスや動物バスに乗る予定の方は早めに出られたほうがいいのかもしれません。)

マイカーでサファリゾーンに入るのなら、少し並べばすぐに入れるのですが、夫はちょっぴり迷いました。
「う~ん、どうしよう」

係りの人に「車に、動物が寄ってきて傷つくこととかありませんか?」と聞いてみました。
すると、
「年に2、3度の割合で傷つくことがあります」(すごく少ない確立ですよね?)
ということでした。

『バスにはたくさん待たないと乗れないし....車でいっちゃおうか?』
っと迷っているときに
「レンタカーならありますよ」と、その係りの方が教えてくださいました。

それで、レンタカーを借りに行くことにしました。
中の駐車場は意外とすいていて、休憩所から近いところにとめることができました。
(マイカーでサファリゾーンへ入る人が多いのかも)

200408171.jpg

レンタカーというのは、サファリナビゲーションカーのことでした。

「話がうますぎる!」
っと思って聞いてみたら、こちらも待ち時間は同じで、午後3時前まであいていませんでした(笑)。

でも、外が金網になっていて、エサをやることもできるし、オフロードを走ることもできる!
っときいて決めてしまいました。

だって、マイカーでサファリゾーンへ入ったら、エサをやることなんて出来ないし、決められた道路しか走れないんですよ~。

我が家が借りたのはロングタイプで定員7名、約1時間、動物のエサ付き、ナビ付きで6000円でした。
ジャングルバスがひとり1200円のことを考えると、4800円。
それに比べるとぜんぜん高くないですよね?
ショートタイプなら4000円なので、4人家族ならかえって安いくらい。

絶対オススメです!

すごくすごく楽しかったです。

木のぼりライオンの下をくぐりぬけたり、きりんを真近でみて、エサをあげたり。
キリンはすごかったです!本当に道をふさいじゃって.....笑。

200408173.jpg

台数がそれほど多くはないので、あまり大きな声ではいいたくないけれど(笑)、
もしサファリパークへいらっしゃるご予定でしたら、ナビゲーションカーはぜったいオススメであります。

さて、待っているまでの長い時間ですが、、、
サファリゾーンのほかにも楽しめるスペースがいっぱいあるので大丈夫です♪

ポニーに乗ったり、ハリネズミをさわったり、カメさんレースをみたり...

そうそう、待つといえば、もうひとつ待たなければならないものがありました。
ライオンの赤ちゃんとの写真撮影会。
1日に4回撮影会をやっているのですが、それぞれの回の30分前に整理券を配るというので、1時間前にならびに行きました。
そうしたら、、、30分間待って、30分前になったと喜んだのもつかの間、私のほんの数人前のところで
「はい、ここまでです!」
っと、整理券が終わってしまいました(涙)。

でもでも、とても楽しみにしてるので、2時間後の撮影回に向けてそのときからまた延々と2時間待つことに....。
そして列の様子を観察していました。
撮影回の一時間前なんて甘いです!!2時間前に待っていてちょうどいいくらい。

30分前にならないと整理券が配られないので「ここまで大丈夫」というのがはっきりわからないのです。
限定30組なのですが、ひと家族で1組なので、どこまでが1家族かわかりにくくて、本当に微妙。
なので、少し数えてみて、あまりに後ろそうだったら皆あきらめるのですが、微妙な位置の人はがんばります。
「早めに配ってくれればいいのにねぇ~」
「駄目なら駄目と早めに言ってくれれば別のところを見れるのに」
とか、皆言っていました。

私たちも結局3時間待ちました。(30分前に整理券が配られたあとも席をはずすわけにはいかなかったです。)
でも、夫と子供たちと交代で馬に乗りにいったり、レースをみにいったりしたので、そんなに大変には感じなかったです。

3時間待って、やっと会ったライオンの赤ちゃん、すっごくかわいかったです!!
娘と息子、一回ずつ抱っこさせてもらったのですが、息子が抱っこしたときあくびをしたりして....
200408172.jpg
そんなでしたので、ライオンの赤ちゃんとの写真撮影は朝いちばんの回に最初に並ぶのがいいのでは?
っと思いました。2回目以降はすごーく並ばなくてはならなくなるからです。

ライオンの赤ちゃんを抱っこしたあとに、バーベキューを食べて、
それから、上に書いた車に乗ってサファリを一周しました。

とっても楽しかったです。

(おまけ)
「車の中でDVDを見るんだぁ~!」っと、『マトリックスレボリューションズ』を持ってきた息子。
いざ乗ってみると、高速に乗ったとたんにクークー寝てしまう始末。(←朝早かったからねぇ~)
しかも、高速って意外とエンジンの音が大きく聞こえているものなんですね。
うるさくって、マトリックスのせりふなんか聞こえないんです。
なにやってるんだかわからなくて、ついには私も寝てしまいました(笑)。(パパごめん)
高速で見るDVDは難しくなくて簡単なストーリーのもの。アニメとかがいいかもしれません。

投稿者 megu : 01:16 | コメント (0)

A4、燃料ポンプの故障について
2004年08月15日

先月のことになりますが、愛車を6ヶ月点検に出しました。

今の愛車(Audi A4 1.8tq avant)は私のところにやってきてから、1年半です。
1ヶ月点検→6ヶ月点検→法定一年点検 に引き続き4回目の点検入院でした。

その点検から戻ってきた直後に、燃料ポンプからの異音が発生して、ふたたび入院となりました。

車のことにあまり詳しくない私ですが、点検を終えて引き取った愛車を運転していて、
「うしろのトラックすごい音してる?」
みたいな音がしてきたので、すぐに異変に気付きました。

#実際にはトラックではなくて、自分の車の音だったんです。

2日間の代車生活で、やっと自分の車にもどってほっとしたのもつかの間、
途中のガソリンスタンドから、サービスに電話をいれてUターン。

とほほのほ。

今回の点検で、エアコンのプログラムを交換していただきました。
普通にAutoで使うと、フロントガラスの下のほうが曇ってしまうんです。
それに対応されたものが出たときいたので、交換していただきました。
(ユニットごと交換するのでしょうか?心なしか、ボタン類がまっさらになったように思われます*^^*)

ほかに修理したところなんてなかったんです(ワイパーブレードの交換や、オイル交換くらい)。

それで、「この異音もエアコン系の音?」と思いました。
だから、エアコンを止めてみたりもしたのです。
エアコンを止めても、やっぱり止まらなかった...。

「診てもらう時点になって音が消えていたらどうしよう...」
なんて、心配する必要もなく、ディーラーに到着しても、音は絶え間なくしていました(笑)。

しばらく待たされましたが、すぐに原因はわかったようです。
「燃料ポンプですね」といわれました。

でも、部品は今なくて、手配しなければならないということです。
すぐには修理できない....ってコト??

とりあえず、
「この音くらいだったら乗っていても大丈夫ですよ。
しばらく様子をみてください」といわれて、そのまま乗リ続けることに...。

あとは「前からこんな音していませんでしたか?」と聞かれました。
#いえいえ、はじめてですって~。
私からみれば「点検に出したから故障した」ってなモンですよね?
でも関係ないみたいです。

これが金曜日のこと。

週末は自分の車に乗ることもなく、そのまま月曜日へ突入。
ディーラーからは、部品が手配できて木曜日から3日間の入院になる旨の連絡をいただきました。

音の大きさは、ますますひどくなっていきます。

ネットでも「燃料ポンプ」というキーワードで検索してみました。
ドイツ車にはよくある故障なのかなぁ?とも思いました。
ひどくなるとエンストしてしまうそう。

なのに、どうして私のは「乗っていても大丈夫」なんだろう??

仕事の帰り、エンジンをかけると相変わらずのうるさい音に、とても不安になり
時間も遅かったけれど、ディーラーに電話をいれました。

みていただいて、「大丈夫です」という言葉をいただけるだけでも安心なので。

説明してくださったメカニックさんはと~っても素敵な笑顔で(笑顔でだまされるなって!(笑))、「大丈夫ですよ~」っとおっしゃてくださいました。
なんだか不安だけれど
「大丈夫といわれたから、大丈夫なんだろう」
っと、その言葉を信じ、修理の日までがんばることに...。

夜おそく閉店間際なのにみてくださったことに感謝しなくちゃいけないですよね。
(私、前車の時(は販売店はファーレンだったけど)から、ディーラーのサービスさんにはすっごくお世話になっているんです。贅沢はいえません~。バッテリーがあがって立ち往生した私ひとりのために、夜おそくまで開けておいていただいたり...なんてこともありましたし。)

さて。その音なんですが、ストローでジュースを飲むときに空気がはいると「ズズズ~っ」って音がしますけれど、あれが大きくなったような感じです。
燃料ポンプもストローみたいになっているのですかね?

だんだん大きくなって爆発音みたいにならないかぁ~?って不安もありましたが、ズズズ~のままで済みました。

そのまま木曜日まで、無事に何も起こらず、再入院となりました。

「またしばらくのあいださようなら.....涙」

代車は前回の点検のときと同じ車(1.8tq avでした)だったのだけれど、ヘッドレストあたりからちょっぴりおやじくさいにおいがしたのは気のせい?
(土曜日から木曜日のあいだに誰が乗ったのよ!)

#Audiオーナーの方にお願い...髪の毛にポマードつけないでね。

そして土曜日、私の愛車は無事もどってきました。
それからはとても調子よく走っています。
もう、故障はいやだなぁ~~

実は燃料ポンプの故障、どうやら私の車だけでないようです。(AudiA4で)
よくある故障なのでしょうか?部品の問題なのかしら??

投稿者 megu : 22:33 | コメント (2)

最近のコメントのOrder順について
しつこいです、私...笑。
前回から続きます

distinct ですが、MySQL(3.23.58)だと、並び替えをしないと判明。
(試してみました。『出てきた順』のようです。内部的にソートせずにマージしているのでしょうか?)
PostgreSQL(7.3.4)はdistinctした列でソート(並び替え)が行われます。(だから今回の不具合が出ました。)
ちなみにOracleもPostgreSQLと同じです。

今回の問題、
mt_commentと、mt_entryの結合にあると思うのです。

ER図にしてみました。

mt_ER.png

まず、最近のコメントを持っているエントリーを検索しなければなりません。
最近のコメントを取るためには、MT_COMMENTの中の、COMMENT_CREATED_ONで判断します。
エントリ(MT_ENTRY)と、コメント(MT_COMMENT)は、ENTRY_IDとCOMMENT_ENTRY_IDで結合されます。
エントリと結合するコメントのうち、いちばん最新のものを持ってきて、それをCOMMENT_CREATE_ONの降順でOrderするんです。

それで↓のようなクエリをかけたらいいのでは?っと思っていたのです。

select
     entry_id
    ,entry_title
    ,comment_author 
    ,to_char(comment_created_on,'yyyy/mm/dd')
from mt_entry
    ,mt_comment cm1
where entry_id = comment_entry_id
and comment_created_on =
    (
    select max(comment_created_on)
    from mt_comment cm2
    where cm2.comment_entry_id = cm1.comment_entry_id
    )
order by comment_created_on desc
limit 5

(結果)
 id |           entry_title           | author | comment_create 
----+---------------------------------+--------+----------------
 36 | PostgreSQLへ...その4??       | (o)    | 2004/08/13     
 35 | PostgreSQLへ....その3          | megu   | 2004/08/13     
 26 | なぜ、Web上で日記を書くのか?? | megu   | 2004/08/10     
 23 | 管理画面のアクセス制限          | megu   | 2004/08/10     
 25 | Audi newA6見てきました          | megu   | 2004/08/04     
(5 rows)


相関副問い合わせを使っています。
副問い合わせ内では親問い合わせで取得したエントリIDのデータ中
いちばんcomment_created_onの値が大きいものを取り出します。

#しかしながら、私の力ではこれをどーやってMTに載せればよいのかわかりません。
#こういった問い合わせは無理があるのかも。

それで、教えていただいた、mizさんのパッチですが、
ありがたく更新させていただきました...m(_ _)m。

↓はmizさんのパッチをあてさせていただいた後のSQLです。

select entry_id,
 entry_blog_id,
 entry_status,
 entry_author_id,
 entry_allow_comments,
 entry_title,
 entry_excerpt,
 entry_text,
 entry_text_more,
 entry_convert_breaks,
 entry_to_ping_urls,
 entry_pinged_urls,
 entry_allow_pings,
 entry_keywords,
 entry_tangent_cache,
 entry_basename,
 entry_category_id,
 entry_created_on,
 entry_created_by,
 entry_modified_on,
 entry_modified_by
from 
(
  select 
    entry_id,
    entry_blog_id,
    entry_status,
    entry_author_id,
    entry_allow_comments,
    entry_title,
    entry_excerpt,
    entry_text,
    entry_text_more,
    entry_convert_breaks,
    entry_to_ping_urls,
    entry_pinged_urls,
    entry_allow_pings,
    entry_keywords,
    entry_tangent_cache,
    entry_basename,
    entry_category_id,
    entry_created_on,
    entry_created_by,
    entry_modified_on,
    entry_modified_by,
    max (comment_created_on) 
    as entry_comment_created_on
  from 
    mt_entry,
    mt_comment
  where (comment_blog_id = ?) 
    and (comment_visible = ?) 
    and entry_id = comment_entry_id 
    and (entry_blog_id = ?) 
    and (entry_status = ?)
  group by entry_id,
    entry_blog_id,
    entry_status,
    entry_author_id,
    entry_allow_comments,
    entry_title,
    entry_excerpt,
    entry_text,
    entry_text_more,
    entry_convert_breaks,
    entry_to_ping_urls,
    entry_pinged_urls,
    entry_allow_pings,
    entry_keywords,
    entry_tangent_cache,
    entry_basename,
    entry_category_id,
    entry_created_on,
    entry_created_by,
    entry_modified_on,
    entry_modified_by) t
order by entry_comment_created_on desc
limit 5

相関副問い合わせのかわりに、
From句の中にさらにSELECT命令、
その中でグルーピングして、各々のエントリーの中でcomment_created_onのいちばん大きいものを取り出しています。
コメント日付のいちばん新しい行を取ってくるViewを作成したのと同様だと思います。

(この場合、検索条件が内側のSELECT(=view)に含まれているので懸念される検索速度の低下には繋がらないと思いますが、メインカーソルで条件を絞り込んだ上で、その結果に対して副問い合わせを行ったほうがよい場合もあります。)

きっと、MTに実装するには、これがいちばん良い方法なんだと思います。

ソースと照らし合わせみると
「ほぅ~、こうやって書くのね」
と、思うのですが

じゃっ、いざ自分が考えていたクエリを実行させるにはどうすればいい?
#ちょっと時間をかけて考えたいとは思うけれど。

なんだかとってもわかりずらいソースプログラム。

もともと、MTのテーブルはフクザツな関係は持っていないと思うのです。
唯一、ちょっと難しい検索を使っているのがこの部分(最近のコメント)だったのではないでしょうか?

ではなぜMySQLではSQLの組み立て部分が異なってくるのか?
できれば同じ問い合わせを使うほうがいいに決まっているのに....なぁんて思ってしまうのですが...。

バージョンによるのかもしれませんが、私のMySQL(3.23.58)では、相関副問い合わせをかけようとすると、エラーとなります。From句にSELECT命令を書いても駄目です。
副問い合わせも駄目でした。
5.0のマニュアルでは出来るようなこと書いてあるのですが...
おそらく、普及しているであろうバージョンのMySQLにあわせると、副問い合わせを使うわけにはいかないのでしょう。

あまり悩んでいても本来の目的からかなり脱線してしまっているので、
このくらいにしておいたほうがいいのかも??

投稿者 megu : 15:58 | コメント (0)

PostgreSQLへ...その4??
2004年08月12日

無事移行も完了して、やれやれ....っと思っていたのに。

ふとみたメイン画面、

「なんだかおかしい....」

『最近のコメント』に表示されている内容が古い順のようです。

もしかしたら、auto_increment@mySQLからsequence@PostgreSQLへ移行したのでそのせいかしら??

と思って、チェックしてみたけれど両者相違なし。

comment_idとcomment_created_on(コメントされた日時)はすべて一致していました。

あとはMain Indexテンプレート中の「最近のコメント」部分、
<MTEntries recently_commented_on="5" sort_order="ascend">
の"ascend"の部分を"descend"にしてみたりしたけれど、駄目でした。

仕方ない、何が原因かわからないので、とりあえずは仲介したBerkeleyDBで見てみました。
結果はOKです。
きちんと表示されました。

っというコトは、問題があるのはPostgreSQLの環境のみということになります。

もしかしたら、テーブルを結合して、ORDERを取るけれど、その時になにか間違えている??

=======

コメントをいただいた通り、この件は認知されているようで、パッチを配布してくださっている方もいらっしゃるようです。

ただ、アプリケーションエンジニアな私としては、SQLを理解しないと気がすまない。

MovableTypeのソースはちんぷんかんぷんですが、とりあえず、途中のsqlを吐かせるようにして、中身をチェックしてみました。

recently_commentを作成するためのSQLは2つ。
エントリーを求めるであろうメインカーソルと、エントリーからそれに属するコメントを求めるサブカーソルのふたつです。
#一気に求めたほうがクエリ的には速いはずなのですが、SQLの組み立て自体が標準化のようになっていて、個々のクエリに対して最適化されていないようです。

そのうちのひとつ、エントリーを求めるクエリに問題があることがわかりました。
MovableTypeが生成したクエリは下記のとおりです。
(みやすくするために、改行を入れています。長くてごめんなさい。)

select distinct
entry_id,
entry_blog_id,
entry_status,
entry_author_id,
entry_allow_comments,
entry_title,
entry_excerpt,
entry_text,
entry_text_more,
entry_convert_breaks,
entry_to_ping_urls,
entry_pinged_urls,
entry_allow_pings,
entry_keywords,
entry_tangent_cache,
entry_basename,
entry_category_id,
entry_created_on,
entry_created_by,
entry_modified_on,
entry_modified_by
from
(
select
entry_id,
entry_blog_id,
entry_status,
entry_author_id,
entry_allow_comments,
entry_title,
entry_excerpt,
entry_text,
entry_text_more,
entry_convert_breaks,
entry_to_ping_urls,
entry_pinged_urls,
entry_allow_pings,
entry_keywords,
entry_tangent_cache,
entry_basename,
entry_category_id,
entry_created_on,
entry_created_by,
entry_modified_on,
entry_modified_by,
comment_created_on
from mt_entry,
mt_comment
where 1 = 1
and entry_id = comment_entry_id
order by comment_created_on desc
) t
limit 5

Fromの中にさらにSELECTがあって、そのSELECT中にORDER句がありますが、
これは意味をなしません。
あってもなくても同じです。

問題なのは、distinctだと思います。
distinctを指定すると、結果が重複する場合1行だけ返してくれるのですが、この機能を実装するために、内部でこの列の並び順でorderされているはずです。
distinctしたがために、結果はentry_id順に取得されることになります。
そう考えると、今のメイン画面の結果にぴったりなのです。

いろいろ試してみたいのですが、今は時間を取れなくて残念~くやし~

続きはまた今度。


投稿者 megu : 19:21 | コメント (2)

PostgreSQLへ....その3
今回の目的は、「MySQL → PostgreSQL」のデータのお引越しです。

お互い異なるRDBMS、どうしたらよいのでしょう?

『Create命令とInsert命令があればなんとかなるさ!』

っと思っていた私の甘い考えは打ちのめされました(笑)。

mysqldumpで吐き出されたSQLを、PostgreSQL上で実行すると、エラーの連続でした。

見てみると、長さの指定されたint型やauto_increment機能など。
MySQL独自の機能を使っている部分が問題なのです。
仮に手作業で変換したとしても、その変換後の姿がMovableTypeがPostgreSQLで実装している方法とは異なるかもしれません。

う~ん、コマッタ。

そこで、ogawaさんが提供してくださっている、
mt-sql2db.cgi: mt-db2sql.cgiの逆変換CGIを使ってみることにしました。

前回、BerkeleyDBからMySQLへのお引越しのときには、MT3.0にもれなくついてきた、mt_db2sql.cgiというスクリプトを使いましたが、これと逆のことをしてくれます。

そこで、

MySQL ──(mt_sql2db.cgi)─→ BerkeleyDB ──(mt_db2sql.cgi)─→ PostgreSQL

という変換ができるのではないかな?
っと考えました。

んで、これ、成功しちゃいました!!

実は、今このエントリーのコンテンツはPostgreSQLに納まっています。

データベースの中身の文字コードはUTF-8。

でも、psql上で

=> \encoding euc_jp

とタイプすれば、表示はEUC_JPで行われます。

さっそく日本語を検索してみました。
=> select entry_title from mt_entry
-> where entry_id = 25;
      entry_title
------------------------
 Audi newA6見てきました
(1 row)

感激っ。

あれこれ迷ってきた文字コードのことについて、これでやっと終止符が打てます。

心なしか、再構築もちょっぴり速くなった気がするのです。
いろいろな情報をくださった方、素敵なスクリプトを提供してくださった方、とても感謝しています。

(追記)
その後、スキーマを見つけてしまいました(汗)。
MTをインストールしたディレクトリの直下にschemasというディレクトリがありますが、
この中に、mysql.dump postgres.dump sqlite.dumpと、それぞれのスキーマがありました。
postgres.dump

こちらを利用して移行することも可能です。(最初はそのつもりでいたので)
でも、スクリプトを使ったコンバートのほうが断然楽かと思います。

投稿者 megu : 18:00 | コメント (2)

PostgreSQLへ....その2
PostgreSQLが起動できたので、MTのコンテンツ用に、データベースの作成とデータベースユーザーの作成(※注)を行います。

postgresユーザー下で行いました。
いったんPostgreSQLへログインしてからCREATE DATABASEコマンドをタイプしてもいいのですが、createdbというシェルが用意されています。CREATE USERコマンドに対しては、createuserといシェルがあります。
(1)データベースの作成
$ createdb データベース名
CREATE DATABASE

    ※問題となっている文字コードですが、ここでも-Eというオプションで指定できます。
    今回は、initbでデータ領域を作成した際に、UNICODE(utf-8)を指定しているので、
    そのままデフォルト(utf-8)で行きます。

    ※この場合、このデータベースのOwnerは「現在のユーザ名」となるので、
    postgresになります。(createdbの中身は、デフォルトユーザ(postgres)で
    template1データベースに接続し、 CREATE DATABASEコマンドを実行するので。)

(2)データベースユーザーの作成
$ createuser ユーザー名
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

上のように聞いてきましたので、
データベースの作成はできるけれど、
ユーザーの作成はできない....っというふうに答えておきました。
#これらはオプションで指定することもできます。

(3)mt.cfgの準備
ObjectDriver DBI::postgres
Database データベース名
DBUser データベースユーザー名
DBPort 5432     ←PostgreSQLのデフォルトのPort番号です。


    なぜか、mt.cfgに
    DBHost localhost
    の記述があると繋がりませんでした。
    もちろん、localhostからの接続なのですが...。
    はずしたらすんなり....
    なぜでしょう?不明です...まっ、いっか....

   (2004.08.18 追記)
  DBHost localhost の件、わかりました。
  このサーバのPostgreSQLですが、UNIX ドメインソケット経由のアクセスとなっています。
  (なぜなら、これがデフォルトだから..)
  これがいちばん安全な方法だからだと思います。ローカルマシンにログインしていないと
  接続を受付けないのです。
  UNIXドメインソケット経由のアクセスの場合は、mt.cfgにてDBHOSTの記述をするとTCP/IP
  経由の接続を試みるようでエラーになります。
  TCP/IP経由で別マシンから直接PostgreSQLへの接続を許可する場合は、
    /usr/local/pgsql/data/postgresql.confのtcpi_socketの部分を下記のように修正する
  必要があります。

  tcpip_socket = true   ← #tcpip_socket = falseとなっているところのコメントをはずしてtrueに直す

 こちらのサイトの『PostgreSQLのセキュリティ』が参考になりました。
  ありがとうございました。
  

これで準備はおしまい。

あとは、中身の用意です:-)。

これが難儀....

昨日までは、
「MySQLが吐き出したスキーマをPostgreSQLに読ませちゃおう!」作戦
を考えていたのですが、これがどーも使えないようなのです。

Create Tableのパラメタひとつにしても、かなり違うのだなぁ~~

単純なのしかないと思っていたら、MySQL独自の機能など使っていたりして。

...続く...


(※注)
この「データベースユーザー」、クセ者です。
すっかり忘れていた私は騙されました(笑)。

PostgreSQL上のデータベースユーザーは、システムのログインユーザーとシンクロするのです。
psql起動時に、パラメタとしてユーザーを指定しないと、システム上のユーザーがデフォルトでデータベースユーザーと認識されてしまいます。

psql [option...] [dbname [username]]

です。データベース名の後にデータベースユーザーを指定します。
私はログインユーザーとデータベースユーザー名が同じとしても、
psql入力時には必ずユーザーを指定するように心がけています。

投稿者 megu : 17:56 | コメント (0)

PostgreSQLへ....
2004年08月11日
いろいろあった文字コード、PostgreSQLだったらクリアできそうな感じ。
PostgreSQL 7.4.3 文書..20.2. 文字セットサポート参照

Slackware時代に愛用していたRDBMSだし、
「いいんじゃないかな??」
っと突然思い、入れることにしました。

インストール、設定は↓を参考に
http://www.postgresql.jp/document/pg743doc/html/admin.html

以下箇条書きのメモになります。

(1)ダウンロード
# wget ftp://ftp.postgresql.org/pub/v7.4.3/postgresql-7.4.3.tar.gz 


(2)展開
# tar xvfz postgresql-7.4.3.tar.gz

(3)make
# cd postgresql-7.4.3 
# ./configure --with-perl --with-java --enable-nls='ja'
       --with-perl....PL/Perl サーバサイド言語を選択してみました。
               (PL/SQLのPerl版?なんだろう?)
       --with-java....JDBC経由でのアクセスは必須なので。
       --enable-nls='ja'....メッセージの表示を日本語で。
        ※--enable-muntibyte というパラメタ、7.4.3ではマルチバイト処理が
         含まれているので不要になったそうです。
# gmake
      ※注意です。GNU makeを使います。
      時間がかかると書いてありますが、本当にかかりました(汗)。約15分。
      上記説明サイトには「5 分から 30 分くらいかかります。」のでまぁまぁの成績かしら?(笑)

# gmake install

(4)ユーザーの作成
# useradd postgres

(5)所有権の変更
# chown postgres.postgres -R /usr/local/pgsql
     /usr/local/pgsqlの所有者がrootになっているので、上で作成したpotgresユーザーに変更します。

(6)posgresユーザーの環境変数設定
.bash_profileに追加しました。

export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

$ source .bash_profile で反映させます。

(7)データ領域の作成
$ initdb -E UNICODE
     ※オプション -D を使う代わりに環境変数 PGDATA を使っています。
     上記(6)の設定より、/usr/local/pgsql/dataになります。


データベースに格納する文字コードはUNICODE(utf-8)で、
クライアントからアクセスするときの文字コードはEUCと指定して行うことに決めましたっ!

Success. You can now start the database server using:

    /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
or
    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

成功!:-)


(8)データベースを起動
$ postmaster -D /usr/local/pgsql/data >/usr/local/pgsql/logfile 2>&1 &

(9)データベースをシャットダウン
$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`

(10)システム起動時にPostgreSQLが起動するように設定
/etc/inittabに、下記行を追加
    pg:2345:respawn:/bin/su - postgres -c 
         "/usr/local/pgsql/bin/postmaster -D/usr/local/pgsql/data >> 
        /usr/local/pgsql/logfile 2>&1 </dev/null"

(メモ)
Java(JDBC)パッケージ群が必要な場合(--with-javaを指定する場合)

ant(jakarta.apache.org参照..Java環境におけるMakeツール)が必要です。
インストール手順 解凍して環境変数を整えるだけです。
# wget http://sunsite.tus.ac.jp/pub/apache/ant/binaries/apache-ant-1.6.2-bin.tar.gz
# tar xvfz apache-ant-1.6.2-bin.tar.gz
$ANT_HOMEを解凍後のapache-ant-1.6.2ディレクトリに設定。
$ANT_HOME/binにPATHを通す

私は、postgresユーザーにJavaは必要ないので(いいのかな?)
普段Jakartaプロジェクトツール(TomcatなどJavaアプリ)を利用しているユーザでログインしてから、rootにsuしてconfigureしました。


今日はインストールまで。

これから、mysqldumpで吐き出したSQL文をPostgreSQLに読み込ませて、
MTの設定をPostgreSQLへ変更する予定です。

さてどーなるか....

投稿者 megu : 12:55

SpamAssassinでスパム対策
2004年08月10日
やっと.....やっと....

重い腰を持ち上げて、我がMTAもスパム対策することにしました(汗)。

だってkiyo.com宛てに来るスパムがすごい勢いなんです。
短いドメインってこんなとき不便~。

本当は、ウィルス対策もしたいところなんですが、とりあえずはスパムから。

私はsendmailを使っています。
今回は、なんだかメジャーそうだし、ApacheProjectのものだし...
SpamAssassinをいれてみることにしました。
(なんて安易な....って笑わないでくださいね。)

Webで"SpamAssassin"をキーワードに検索すると、あちこちひっかかります。
丁寧に説明してくださっているサイトもあって、とても助かりました。
ただ、まったく私と環境が同じ!
っていう方がいらっしゃるわけでもないので、ここにメモしておきます。

MTAはsendmail
Fedora Core1に付属のCDに入っていたrpm(sendmail-cf-8.12.10-1.1.1.i386.rpm)からインストールしたものです。

# sendmail -d
Version 8.12.10
 Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
                MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
                NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS
                USERDB USE_LDAP_INIT

MILTERが含まれていますので、sendmail自体のリビルドは不要です。


必要なモジュール(今回インストールしたモジュール)は下記の3つです。
Mail-SpamAssassin-2.64
spamass-milter-0.2.0
sendmail-8.12.11
※sendmailは、spamass-milterをmake時にlibmilter.aが必要になり、libmilterを取り出すためだけにダウンロードしました。
(もしかしたらどこかから取れたのかもしれません。でも、findをかけてみたのですが見つかりませんでした。)


(1)ダウンロード
# wget http://old.spamassassin.org/released/Mail-SpamAssassin-2.64.tar.gz
# wget http://savannah.nongnu.org/download/spamass-milt/spamass-milter-0.2.0.tar.gz
# wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.11.tar.gz

(2)make
Mail-SpamAssassinをインストール
# tar xvfz Mail-SpamAssassin-2.64.tar.gz
# cd Mail-SpamAssassin-2.64
# ./configure
# make 
# make install

libmilter.aを用意する
# tar xvfz sendmail.8.12.11.tar.gz
# cd sendmail-8.12.11/libmilter
# ./Build
# ./Build install

spamass-milterをインストール
# tar xvfz spamass-milter-0.2.0.tar.gz
# cd spamass-milter-0.2.0
# ./configure
# make
# make install

(3)sendmailの設定
sendmail.mc に下記の1行を加えます。
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl

(4)起動
spamassassin本体の起動
/usr/sbin/spamd -d

spamass-milterの起動
/usr/local/sbin/spamass-milter -f -p local:/var/run/spamass.sock

sendmailの再起動
service sendmail restart


(5)テスト
試しに自分あてにメールを送ってみました。

ヘッダをチェックします。
↓こんな感じでヘッダが追加されます。

X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.64
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on megumi.kiyo.com

↓スパム(早速来ましたっ)の場合は、こんな感じ
X-Spam-Flag: YES
X-Spam-Status: Yes, hits=16.6 required=5.0 tests=BIZ_TLD,HTML_MESSAGE,
	HTML_MIME_NO_HTML_TAG,LINES_OF_YELLING,LINES_OF_YELLING_2,
	MIME_BOUND_DD_DIGITS,MIME_HTML_NO_CHARSET,MIME_HTML_ONLY,
	MIME_HTML_ONLY_MULTI,MSGID_SPAM_CAPS,PRIORITY_NO_NAME,
	RCVD_DOUBLE_IP_SPAM autolearn=no version=2.64
X-Spam-Level: ****************
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on megumi.kiyo.com


おぉ、すごいっ!!すばらいい!!

コンフィギュレーションはこれからです。

また記録をアップできたら...っと思います*^^*。

投稿者 megu : 00:46 | コメント (0)

フィッシング詐欺
2004年08月08日

町内会の役員会で「Phishing詐欺に注意しましょう。」
という呼びかけがありました。

「オレオレ詐欺ならわかるけれど、どーしてこの高齢化した町内会でフィッシング??
ここにいるおじいサマ方、メールなんてしてるわけ???」

まわりの奥様方は『なにかしら、フィッシングって...気をつけなくちゃ』っておっしゃっていました。

フィッシング詐欺って少し前にシティーバンクから私のアドレスに送られてきたときに調べたことがあります。
銀行やカード会社を名乗った偽のメールを送ってくるんです。(HTMLメール)
そこにリンクが貼り付けてあって、クリックすると口座番号やパスワードを入れる画面とかになっているそうです。

そのメール、すぐに消しちゃったので後悔しているのですが(笑)、
確か、Fromアドレス、メイラで一覧表示したときにはcitibankと表示されるようになっていました。
海外からの迷惑メールは山と来るのですが、さすがにcitibankなんて見るとちょっと気になりますもんね。
本文は、Citibank内のURLが書いてあって、そこで口座情報を入れろとかそんな文章だったと思います。

#でも私、シティーバンクに口座もってないんですけど....笑。

ただ、私、HTMLメールは開かないように設定してあって、
そのリンクのURLをコピペしてブラウザで開くと、そのサイトは存在しないんです。

HTMLメールを読める設定にしてあると、実際にクリックしていく先のURLは違うアドレスになっているようです。
(う~、これもメール本体を削除してしまったので確かめられない...実に残念です。
なんでもポイポイ捨てるのはやめるようにしたほうがいいのかも??)

しかも悪質なことに、その偽者画面が表示されたときはアドレスバーを非表示にしてあるんですって。

これなら、善良な市民ならだまされちゃうわねぇ~

↓私が受信したのと(たぶん)同じメールについて解説してあるサイトをみつけました。
http://arena.nikkeibp.co.jp/col/20040709/109028/

メイラーですが、あやしい場合は必ずヘッダを見るように注意しています。
見るポイントは、Fromアドレスそのものではなくて、
・Message-ID(IPアドレスがわかる場合もある)
・最初の中継ポイントのFrom
これらがFromアドレスと結びつかない場合は疑います。

それと、やっぱり、HTMLメールは表示しないように設定しておくのが得策ですよね:-)

投稿者 megu : 03:53 | コメント (0)

ココセコム、検索できず...
2004年08月07日

「セコム」してますか?
でおなじみのセコムさんのサービス、ココセコムでありますが、
4月に娘が小学生になるのと同時に加入しました。

加入した直後、
「試しに位置情報を検索してみよう。どれどれ」
と、ワクワクしながら検索してみた結果がとっても的外れな場所。

怒り狂った私は、
「もう解約しま~ス!!」
ってな勢いでクレーム電話をかけたワケですが、そのときはどーもタイミングが悪かったようで、
(衛星からとらえられなくて、携帯基地局だけの情報で検索していた?)
コールセンターでもいちど検索してもらったらそこそこの精度がでたワケです。

『じゃまいっか..』

っとの結論になり、ずっと利用させていただいているワケです。

先日、娘が公文教室で間違えてコールボタンを押してしまったときも、親切に対応していただいてヨカッタと思っているのですが....

でも....今日はまたちょっと不安になることが....。

今朝、娘が
「今日はひとりで行く!」
と、はじめて、ひとりでピアノのレッスンに出かけたのです。

距離にして500メートルもないのですが、不安で不安で....。

自宅を出て10分後に、ココセコムで彼女の居場所を検索しました。

またもや、トンでもない場所にいることに....

#もしかして途中で誘拐でもされて、変な場所につれていかれた?

「....まさか....」

前回の学習効果(笑)で精度が悪い場合もあることを知っているので、
Webからの位置情報検索はもったいないからやめて
(だって一回100円なんです。ちゃんと検索できなくても100円!!)、
コールセンターに電話しました。
(これなら、ワンコール100円。精度がわるければもいちどみてもらえるし←ケチ)

やっぱり、すごく条件が悪いみたいで、駄目でした。
ピアノの先生のおうちは誤差範囲内に位置するものの、数百メートルも誤差があっちゃね。

今日は、駄目でした。あぁ使えないなぁ~

投稿者 megu : 10:22 | コメント (0)

groupにwrite件がついているとCGIが動かない!?
2004年08月06日

サーバを移転する際に困ったことは、
「一部のCGIが動かない~!!」

っということでした。

cgiといっても、perlで書いたモノもあり、Cで書いてmakeしたモノもあり。

すべてのcgiには"その他ユーザー"に実行権がついているし、pathも通っているし。

なんといっても、移転元のサーバ(Solaris→Redhat→Cobaltと移転したけれど、どこでも動いていたんだけどなぁ~...)

だから、パスの設定やパーミッションの設定の問題ではないと思っていたんです。

『きっと私のApacheの設定のどこかにミスがあるんだわ...』

でも、
「動くCGI」と「動かないCGI」があることに気付いたんです。

両者のどこが違うのか?

気付いてしまえば、なんてことはないのだけれど、わからないうちはいろいろ試してみましたよ~。
置き場所変えてみたり、ホストを変えてみたり。

やっと気付いた相違点が、パーミッションの設定(笑)。

動かなかったCGIには、groupにもwrite権がついていたんです。

こんな感じ↓
-rwxrwxr-x 1 www users 201 4月 16 2000 test.cgi
正しい姿は↓
-rwxr-xr-x 1 www users 201 4月 16 2000 test.cgi

グループに、write権なんていらないのわかっています。でも....
「大は小を兼ねる」と考えていたので、
まさかこれが原因で動かないとは思わなかったのです!
でも、今の環境では、グループにwrite権がついていると駄目です。エラーになります。
Apacheが厳しくなったのでしょうね。セキュリティの問題もあるし。
(といっても、ここは自前のサーバなのでグループといっても、全部「私」なので問題はないのですが..。)

修正方法ですが、下記のコマンドですべてのcgiのパーミッションを修正しました。
chmod g-w *.cgi
これで、動くようになりました。なんか、あっけないですねぇ~笑。
たったこれだけのコトがわからずにあっぷあっぷするなんて泣けてきます。

投稿者 megu : 12:56 | コメント (0)

Sambaの管理ツール、swatのセキュリティホール
またまた不正アクセスネタであります。

今日も、なにげにログを見ていて(性格悪い?(笑))、みつけてしまいました。

/var/log/secureを"FAIL"でgrepすると、"swat"が山とヒットするんです。

sgi_famでひと段落、落ち着いたと思っていたのに甘かった。

swatとは、sambaをWeb経由でコンフィギュレーションするモノです。

なんで、ローカル以外の人がアクセスするわけ?

samba自体、LAN内で使うモノなんだし...う~~

sambaのセキュリティホールでも狙っているのかしら?

っと思って、調べてみたらみつかりました。

linux.or.jpのセキュリティ情報からの引用なのですが、下記のようなセキュリティホールがあるそうです。
Samba

2.2 系の 2.2.9 までのバージョンおよび 3.0 系の 3.0.4 までのバージョンの hash アルゴリズムに,
リモートからのシステムの不正なクラッシュや, 任意のコードを実行を可能とする不具合が発見されました.
また, 3.0 系においては, ウェブベースの管理ツール SWAT に, 
リモートからの任意のコードの実行を可能とする不具合も発見されています.
該当するバージョンをご利用の方は, 早急に最新の 2.2.10 または 3.0.5 か,
    各ディストリビュータから公開されている対応済のパッケージにアップグレードしておきましょう.

Samba
(1,2),CAN-2004-0600,CAN-2004-0686
[RedHat,Miracle]

実は私、smb.confをエディタで更新するのが好きなもので、swatはほとんど使わないんです。

#「あれ?じゃ、なんでMT使っているの?」って聞くのはナシね(笑)。

swatも止めちゃおうかなぁ~~

しっかし、敵もさるもの、あの手この手でアクセスしてきますわね。

どんな悪さしようと企んでいるんでしょうか?

そこで、本日の晒しモノ...swatさん一覧であります。
Aug  5 050:17 megu xinetd[31557]: FAIL: swat address from=218.152.27.6
Aug  5 07:18:54 megu xinetd[32311]: FAIL: swat address from=65.60.147.26
Jul 25 09:07:45 megu xinetd[13157]: FAIL: swat address from=4.15.237.105
Jul 13 031:24 megu xinetd[5216]: FAIL: swat address from=211.198.231.148
Jul 13 0311 megu xinetd[5217]: FAIL: swat address from=220.72.244.186
Jul 13 048:09 megu xinetd[5224]: FAIL: swat address from=80.5.78.164
Jul 13 049:42 megu xinetd[5225]: FAIL: swat address from=218.152.231.171
Jul 13 049:57 megu xinetd[5226]: FAIL: swat address from=203.40.163.154
Jul 13 050:27 megu xinetd[5227]: FAIL: swat address from=220.72.244.186
Jul 13 055:49 megu xinetd[5235]: FAIL: swat address from=218.152.231.171
Jul 13 059:23 megu xinetd[5240]: FAIL: swat address from=220.88.7.170
Jul 13 05:00:42 megu xinetd[5241]: FAIL: swat address from=218.51.151.154
Jul 13 05:010 megu xinetd[5248]: FAIL: swat address from=61.42.129.9
Jul 13 05:016 megu xinetd[5249]: FAIL: swat address from=220.87.116.123
Jul 13 05:050 megu xinetd[5256]: FAIL: swat address from=211.107.231.36
Jul 13 05:06:06 megu xinetd[5257]: FAIL: swat address from=220.88.7.170
Jul 13 05:12:42 megu xinetd[5287]: FAIL: swat address from=80.5.78.164
Jul 13 05:18:21 megu xinetd[5290]: FAIL: swat address from=211.178.35.229
Jul 13 05:19:15 megu xinetd[5294]: FAIL: swat address from=213.214.55.190
Jul 13 05:222 megu xinetd[5299]: FAIL: swat address from=61.42.129.9

sshやtelnetでトライしてくる人も相変わらずいるし....もう~~っ!!

ワームに感染して変なスクリプト実行しようとしてくるのも困るけれど、
swatなんか絶対に、意図的にアクセスしてきてるんですよねっ。

なんか、お仕置きする、いい手ないかなぁ~
swatは起動しないようにして、901番ポートにつないできたら 「お仕置き画面」を表示するとか?(笑)

#もしかしてこれって名案かも...。

いえいえ、やめておlきます..。
だって、悪意をもってアクセスしてくる人たちは、そんなことされたら、逆切れされる可能性がありますよね?
小心モノなのでやめておこう....。でも↑にさらしちゃったけど....
たぶん彼らは日本語がわからないから大丈夫....ということにしておこう(笑)。

投稿者 megu : 00:04 | コメント (0)

なぜ、Web上で日記を書くのか??
2004年08月04日

tugaaさん日記について思ったことを読んで、ちょっと考えてしまいました。

なぜ、わざわざWeb上で日記を書くの??

それは永遠のナゾだと思います(大袈裟)。

人間ってフクザツですもの。
知られては困るけれど、知って欲しいこととか。
なんかいろいろなキモチが入り交ざっているのではないかと思います。

「駄文を垂れ流すなぁ!!」

なんて怒るコト、ないと思います。読み手のほうが選べばいいワケですから、
読みたいものも、人それぞれ。

私は別にかまわないと思いますよ、いっぱい個人日誌が氾濫していても...。

ただ、ちょっと困るのは間違った情報かしら?
#これは、某メーリングリストでも話題になっていました。
書籍を発行するには内容もそれなりに吟味、チェックもされるでしょうけれどWebは書き手によってまちまち。
私なんて、ほとんど書きなぐりですものね。(ゴメンナサイです)

では、「私はなぜWeb上で日記を書き始めたのだろう?」..ですが...

遠くさかのぼるのですが、トランペットを鳴らし(笑)やっと繋いだInternet。
まずはお決まりのホワイトハウスのサイトに行ってみました。
東京理科大のサイトへも行きました。

「でもやっぱり自分で作ってみなくちゃつまらない」っと思い始めました。

ただ...HTMLというものがさっぱりわかりませんでした。
当時はまったく情報がなかったのです。
ヤフーでサーチしても、もなにもひっかからない時代だったのです。
サーチする対象自体が極端に少なかったワケで...笑。

仕方なしにソースを見て、「これはこーじゃないか?」と想像してやっと作ったホームページ。

お決まりのコンテンツ、自己紹介に家族の紹介。
でも、それだけじゃつまらなかったんです。

ここまで苦労したからには、やっぱり誰かに見てもらいたかったです(笑)

そのときみつけたのが、津田さんの日記リンクスでした。
....登録しちゃいましたっ!

そのとき深く考えずにつけたハンドルが「きよママ」。
#「ママ」と付くハンドルはほかにはひとりもいなくて、イケテル!と思ったものでした。
(今じゃ考えられない~っ!ダサダサですよね(笑))

日記には投票ボタンをつけて、更新後にランクをチェックするのが楽しみでした。

日記つながりのお友達もできました。

この頃の日記、実は私の宝物になっています。
つけていてよかった...。普通の日記帳に書いていたら、続かなかったと思います。

自分のために書いたような日記が、意外にも楽しみにしてくださっているというのも知りました。

今はパスワード保護しているし、更新もあまりしていないのだけれど、
それでもわざわざユーザーとパスを入力して訪問してくださる方がいることを思うと、とてもうれしいです。


さて....ここなんですが....どーしてこんなサイト作っちゃったのか??っというと、、、

実はMovableTypeを使ってみたかったんです(笑)。

目的と手段が逆転??

ツールを使ってみたかったから.....っていう理由じゃ、話にならないかしら?

たぶんテストサイトで終わるとおもっていたこの場所も、思わぬお客様が来てくださって、リンクもしていただけるようになって、、、今に至ります。

これから....メインサイトではあまり触れないカテゴリーについても書けたらと思っています。

ぜんぜんためにならない、ひとり言を書くかもしれないし、
なんだか面白そうな情報も、もしかしたら書くかもしれないし、
内容については、ポリシーがなくてばらばらかもしれないけれど、どうかお見逃しくださいまし。

これからもヨロシク:-)

んで、「なぜ人はWeb上で日記を書くのか?」が主題でしたっけ?

やっぱり読んでもらいたいから。
読んで、共感を得てもらいたいから。

....なのかなぁ?

もちろん、
「役に立つ情報を提供する」という志の高い方もいらっしゃいますし。
「金儲けのため」と割り切り、アフィリエイトに熱心な方もいらっしゃるとは思います(笑)。

失礼いたしましたっ。

投稿者 megu : 18:59 | コメント (4)

Audi newA6見てきました
2004年08月03日

前々から気になっていた、newA6の内覧会に行ってきました。

すごくカッコよさそうなんだけれども、フロントフェイスがシングルフレームになって、
「あの顔に日本のナンバープレートがついたら、なんだかお間抜けじゃないかぁ?」
なんて意見もあって(笑)、とても気になるところでした。

しかも、A4だって来年にはマイナーチェンジがあって、シングルフレームになるっていうし。

これからは全部あの顔になっちゃうのかも。

BMW5シリーズの釣り目、ちょっと受付けない私なのですが、A6はいかがなものでしょうか?


newA6.jpg

内覧会会場のホテルの駐車場に入ろうとしたところ、ホテル正面にA6が3台ばかり並べられていました。

『す、すごい...、内覧会会場だけでなく、こんなトコロにまで並べておくなんて..気合入っているわぁ~♪』

ナンバープレートがついているように見えたので、横目でちらりと見ると...Audiロゴのプレートのようでした。

「でもちっともおかしくな~い!!」
というより
「カッコイイ!」
でした。

ホテル会場の入口につくと、ずらずら~っとスタッフの方が並んでいてお客は私ひとり...なんだかこっぱずかしかったです(笑)。
担当になったお姉さんに
「なんだかすごい気合はいっていますね。」と言ったら
「ごめんなさい。」とあやまってくれました(笑)。
入り口のところがあまりに閑散としていたので、少し不安になったけれども、会場内には人がいっぱいいました。

あぁよかった。
(本当なら人が少なければそれだけじっくり見れるというものですが、小心者の私は人にまぎれてコソコソと見るのが好きなのです(笑)。)

担当の営業さんが接客中だったので、ひとまず待つことになったのですが、飲み物とおつまみ...いや、茶菓子(クッキー)を持ってきてくださったお兄さんがとってもかわいかったです*^^*。(おいこら、何を見に行ってるのよ>自分)

以下、女性の私からみた印象です。車の性能はすばらしいものかと思いますがわからないので..(恥)。

会場にはA6とA8が展示されていました。
どの車にもショウルームと同じような、ナンバープレート大のプレートがつけられていて、実際にナンバープレートがついたときのフロントフェイスのイメージはつかめました。
ぜんぜんおかしくなくて、とても素敵でした。

今の顔も好きだけれど、新しい顔も悪くないと思います。

内装はとてもゴージャスでした。
実際に音楽を聞くことはできなかったけれど、フロントに大きなスピーカー(たぶん....まさかあれはエアコンの噴出し口ではないと思う)があったのが印象的でした。
フロントフェースと同じ形のロゴがはいったステアリングもかわいかったです。ちょっとおしゃれな感じ。

そうそう、グローブボックスがボタンで開くのにはびっくりしました。
エンジンもボタンでStartだし。
#オーナーがかぎをもって近づくだけで開錠するっていう機能があるかどうかは聞くのを忘れました。

もう、これからはなんでもAutoなんでしょうね。

グローブボックスの中にはMDチェンジャーとCDチェンジャー、それからETCの本体がありました。
グローブボックスはキーをもっていないとあけることはできないので、ETCカードを挿しっぱなしでも安心ですね。
今いちいち抜き差ししている私としては、うらやましい。

サイドブレーキが引っ張るタイプでない(これもボタン)のもうらやましいです。

内装にはウッドがふんだんに使われていて、アルミパネルが好きな私は「???」と思ったのです。
でもよくみると随所にアルミもポイントとして使われているのです。
ウッドはもちろんプリントなんかじゃなくて本物だし。

MMI(マルチメディアインタフェース)は、モーターショウで見たA8のものとほぼ同じ。
ただ、画面が中から出てくるインダッシュタイプではなくて、ちょっぴり高い位置にモニタが固定で設置されているタイプでした。
#モニタは少し高い位置のほうが見やすいですよね。

至れり尽くせりの機能にタメイキ....。

まっ、難を言えば、運転のヘタクソな私には車体大きすぎ!!
私にとっては、同じお顔で、次に出てくるA3スポーツバックが狙い目です。

内覧会はこれから全国巡業するそうです。
ショウルームに試乗車もやってくるようです。楽しみでス*^^*

◇◇おまけ◇◇
ホテルの地下駐車場にはAudiがいっぱい止まっていました。(スタッフさんのかな?)
1年半前まで乗っていたのと同じ赤いA3をみつけたので(ホイールまで同じだったんです!感激っ!)、隣にとめちゃいました。
A4andA3.jpg


投稿者 megu : 23:43 | コメント (2)

勝手に登録しないで!
メールアドレスや、自分のサイトのURLを他人に勝手に使われちゃったことありませんか?

たまに身に覚えのない確認メールが来ます。

「またかっ!」
って思うのですが、んと、頭きちゃいます。
今日来たメール(↓参照)みたく、登録削除できる場合は削除します。

まったく手がかかるんだから....

平素は「メールイン」をご利用いただき、誠にありがとうございます。

会員の方より、パスワードに関してのお問い合わせを頂戴しまして、
お調べさせて頂きましたところ、一部の会員の方でパスワードの設定がされて
いない、あるいは「NULL」と表示されているとの事が判明いたしました。

恐れ入りますが対象のユーザー様にはパスワードを再設定させて
頂きましたので、ご確認頂けます様よろしくお願い致します。

――――――――――――――――――――――――――――――――――――
 ・ご登録メールアドレス:kiyo@kiyo.com
 ・パスワード     :honyanyara
――――――――――――――――――――――――――――――――――――

なお、ご登録情報の閲覧・変更・削除は、下記URLより行う事ができます。

  http://www.mailin.ne.jp/user/chng.html


                        メールイン 運営事務局
                                            http://www.mailin.ne.jp/


URLを勝手に使われちゃった例はこれ
ダイアモンズさんのプロフィール@ハンゲーム

この人、勝手に私のURLをプロフィールに登録しちゃってるんです。

ったくったく....

皆様はこんなとき、どんな対応されていらっしゃいますか?

もしかして...こんな風にさらしちゃうのはルール違反?

投稿者 megu : 18:07 | コメント (0)

管理画面のアクセス制限
MT3.01を新規にインストールしたあと、.htaccessファイルの設置を忘れていました。

#どこからでも誰からでもアクセスできちゃっていましたね(^^;;;
mt.cfgも....mt.cgiも...

駄目よ、見ちゃ!!>そこの貴方!!

余計なcgiも入ったままでした(^^;;; いけない、いけない...
これらはtoolsというディレクトリに移動しちゃいました。(別に削除してもかまいませんが)

$ mv mt-db2sql.cgi ../tools
$ mv mt-load.cgi ../tools

※ダウンロードしてきた、MTのtar.gzファイルをローカルなPC環境であらかじめ解凍してから、FTPでアップロードされる方は、アップロード自体をしないのでしょうね。
でもサーバーサイドで解凍していらっしゃる方は要注意です。
新規インストールは、こういうコトを忘れやすいので気をつけなくてはなりません。
(って私だけですか?)

アクセス制限は自前のサーバなのでhttpd.confでも出来るのですが、私は.htaccessで対応しています。

.htaccessの内容は下記のようにしています。
<Files mt.cfg>
        <Limit GET>
                deny from all
        </Limit>
</Files>
<Files mt.cgi>
        <Limit GET>
                Order deny,allow
                deny from all
                allow from 192.168.1.0/255.255.255.0        ←ローカルアドレスからのアクセス
                allow from ***.***.***.***                  ←自分が使うであろうGlobalIPアドレスを設定
                allow from ***.***.***.***                  ←(複数設定できます)
        </Limit>
</Files>

上記設定で、管理画面は許可されていないIPアドレスからはアクセスできなくなります。
コンフィギュレーションファイル(mt.cfg)は、すべてのIPからアクセスできなくなります。

ほっ。

※今日の晒しモノ(どこの誰ですか?うちにアクセスしようとした人!!)
Aug 3 08:20:41 megu sshd[24747]: refused connect from 211.138.142.26 (211.138.142.26)

投稿者 megu : 18:05 | コメント (2)

テンプレートをさわってみた
2004年08月02日

今日、やっとこさメインインデックスや、スタイルシートなどのテンプレートをいろいろさわってみました。
#私らしくもない...笑。

っというのは、こういった作業がすっごく苦手なんです。
デザイン関係、まるで駄目です。センスなし。

女性らしくないですね(苦笑)。....そうなんです、私、実は♀だったんです。
って、このピンクピンクしたBGカラーや、言い回しやハンドルでとっくにバレているかもしれないけれど。

デザインはともかく、機能としてどうしても欲しかったのが、エントリーの一覧でした。

だって、いつ何をエントリーしたのか忘れちゃうんですもの。
もちろん管理画面からは見えるけれど、データをUTF-8にしてしまった今、
mysqlコマンドで見ることはできなくなってしまいました。

#やっぱ、便利だったかも....EUC-JPのままにしておいたほうが、、、、

並べ替えも、絞込みも自由自在だものねぇ~~

でもそんなことないわ、きっと!!←自問自答しています(笑)

OSはEUC-JPベースで動いているけれど、MySQLだけでもUTFにしてみるか?
....なんて可能なのでしょうか??Oracleだったら可能なのはわかるけれど。
(っと、またなにげに『教えてチャン』している自分。駄目駄目)

話がそれてしまいました。

テンプレートの更新ですが、
見た目ばかりのスタイルシートの更新は、いつも通りサーバに直接ログインして、エディタでどんどん直しながら確認しました。
そのほうが断然速いです。

Telnetを使えないプロバイダをご利用の方でも、例のWebdavを利用してスタイルシートを直接更新することが出来る場合もあるのではないでしょうか?
なかなか便利ですよ~
「上書き→リロード」で即座にサイトの確認を出来るので。

MainIndexはそうもいかないので、保存→再構築で確認の繰り返しでした。

そうこうしているうちに、なんとなく....あくまでもなんとなくですが、テンプレートの使い方みたいなのがわかてきたような気がしました。

正式に時間をかけて勉強したワケでもないのでかなりいい加減かもしれないですが、
『もしかしてこういうのできる?』
と思って試したらできちゃったり....っていう感じでエントリー一覧が出来上がりました。

うーん、初オリジナルテンプレートでとってもうれしい自分です:-)。
#もう、こんなの慣れた人からみたら笑われちゃうかもしれないけれど...。

少しずつですが、エントリーもwww.kiyo.comのほうから転載してきています。
転載し終えたら整理して、サイトをひとつにまとめようかなっと思っています。

その頃にはカテゴリも増えて、も少しブログらしくなれるでしょうか??
....なりたいです...

追記
んで、今さっき気付いたんですが、archives.htmlって、デフォルトで出来ていたんですね。
まったくトホホでごじゃりまする....。
まっ、いいかっ。

投稿者 megu : 23:48 | コメント (0)

文字コードをUTFに戻しました

文字コードをEUC-JPからUTF-8に戻しました。

MTを入れたとき、最初はUTFでしたが、
「サーバの文字コード(EUC-JP)と一致していなくて不便」
と、EUC-JPに変更しました。
Databaseを直接さわっていろいろ出来て便利でした。
でもやはり、MT3.0にはUTFのほうがしっくり来るような気がしたのです。

これで、メールのタイトルも文字化けしないようになったし。
もう、SQLで直接コンテンツを修正することもなくなるでしょう(笑)。

移行の手順ですが、今回はMovable Type の文字コード変換スクリプトは使いませんでした。

#もう"~"や"-"の文字化けで悩むのいやだったし...

mysqldumpコマンドで吐き出されたsql命令に対して、nkfコマンドでutfに変換しました。

それから、新しく使用するDatabaseに対してそのSQLを実行しました。
バックアップしたSQL文中にもともとUTFコードのものがあったのは予想外で、その部分だけエラーになりましたが、すぐに気付いたので修正はカンタンでした。

UTF-8→EUC-JP
よりも
EUC-JP→UTF-8
のほうがすんなり簡単に処理できると思います。

同時にMT3.0は正式版に乗り換えました。
これは、アップグレードではなくてフルインストールしました。

別ユーザーでフルインストールして、UTFに変更後のSQLを読み込むようにmt.cfgで指定し管理画面を立ち上げました。
テンプレートの修正など完了してから、こちらへ移動してきました。

テンプレートに関しては、今回すこ~しだけですがわかってきたような気がします(笑)。

#これ、やりはじめるとハマりそうですね。

まだまだヒヨッコですが....。

今からやりたいことですが、「はじめて」を取ったので、MTに関することばっかりではなくて、いろいろなことアップできたらと思っています。

愛車つながりでリンクもしていただけたし、「がんばらなくちゃなぁ~!」って感じです。

プロフィールも、いつまでも工事中にしておかないように!!<自分

投稿者 megu : 01:45 | コメント (0)