2002-01-26(土) 8292歩 [長年日記]
■ サーバ構築@伊東
去年の忘年会で「専用サーバが欲しいなぁ」なんて話をしていたら、suzuneがIPアドレスを一個余らせてるという。ADSL 1.5Mbpsで、近い将来8Mbps化の計画もある。設置場所もOK。じゃあマシンさえ確保すればいいじゃん、ということになって、うちのメンバーに打診したら、例によってsmallからマシンの提供があった。それも、PentiumIII 500MHz x 2とPentiumIII 600MHzの2台である。相変わらずお大尽だ。どちらもRC64の暗号クラックで24Hフル稼働の実績があるので、サーバにするには十分な信頼性。
というわけで今日は、朝から伊東でマシン構築。バイクで行こうと思ったけど雪になるとか言ってるので電車。電車で伊東に行くなんて、始めてだ。でも2時間しかかからない。なんだ、車で行くなんてバカみたいだな。
■ まずはsuzuneの施術院でマシンの組み上げ。参加者はsuzune、houkou、おれ。smallは寝坊で不参加。smallが来ていたらQuake大会が始まっていたような気もするのでよかったのかも。つーか、S.P.C.の活動って、実質的にこの4人だけって気がするぞ……。
2台のマシンをニコイチにして、おれが持参した古いCD-ROMドライブを付けたら、P-III 500MHz x2、メモリ512MB、ディスク20GB x2というずいぶん立派なマシンの出来上がりである。FastTrack100があったのでRAIDにしようかという話もあったが、Asumiでは100TX2の動作事例しかないので今回は見送り。片方の20GBはバックアップ専用に。
■ 10時から始めて昼前に組み上がったので、Asumi RC2が入るかどうかのチェック。いままで自宅の予備マシンで失敗続きだったので心配だったが、何の問題もなく入った。なんでぇ、やっぱマシンのせいじゃん。まぁ、anacondaのせいという話もあるので、いわゆるひとつの『相性』ってことですか。まぁいいや。結果オーライ。予備と称してMaryばかりかOGL2.0まで持ってきたけど杞憂だったぜ(笑)。
■ 昼食後、パーティションを切り直して再インストール。今回は公開サーバということもあり、バックアップの利便性を考慮して、/、/home、/varをきちんと分けた(普段は/だけガバチョと取る主義)。計画通り、/boot以外はXFSにした。
サーバインストールをして、tojimariでiptablesの設定を済ませて完了。LANを組んで、各自が持ち寄ったノートPCからsshで入れるところまでをここで確認した。……なんで3人全員が確認する必要があるのだ。
それにしても、ここまでノントラブルというのは気持ちが悪い。何か罠があるに違いない。
■ 設置場所までマシンを移動。あっと驚くような場所なんだけど秘密(笑)。接続して電源を入れるだけでインターネットに公開されるはず……だったんだけど、うまくいかない。施錠までしたマシンルームを再び開けてもらって、その場で設定確認。やっぱiptablesだろうなぁ、と思っていたけど。なにせ、時間がなくて予習をぜんぜんしていないのだから。
隣にある別のマシンを見比べつつ、tojimariをあれこれ。そうか、一番固い設定にすると、なんにもできなくなるのか! さっき施術院で動いたように見えたのは、iptablesをrestartしていなかったせいらしい。ということで、なんとか当初の設定を済ませて、今度こそ完了。あとは自宅からなんとかできるかと。
iptablesの勉強は宿題ということで、解散。……の前に、沖縄土産の豆腐ようをみんなで舐めて酔っ払う(笑)。
2002-01-25(金) 8534歩 [長年日記]
■ tDiary
あら探しは大切なことなので、推奨します。とくにおれみたいな「ノリ・プログラマ」がコードを書いてる場合は(笑)。モバイルモードでぜんぜんテストしてなかったよ(をい)。ツッコミが全部見えないのも修正。これは古いバグだなぁ。誰も気づかなかったのか。
■ ということで、上記の修正を行った現在のスナップショットは1.3.3.20020124。1.3.3からはいくつか非互換アリ。プラグインまわりはこの辺で打ち止めにしたいところ。
まず、update、headerの「コールバック系プラグイン」の登録方法をクラス変数への追加からメソッド呼び出しに変更。考えてみたらクラス変数使う必然なんてぜんぜんなかった。バカみたい。というわけで、@@update_proc
・@@header_proc
へのProcの追加は、そのままadd_update_proc
・add_header_proc
への呼び出しに置き換えて下さい。引数にProcインスタンスを。
■ あと、ツッコミ時にもupdateが呼ばれるようになったので、場合分けをしたいときには@mode
を見ること。この変更はツッコミメールをプラグイン化するために行ったんだけど、プラグイン内でできることってセキュアモードだと極端に少ないので、メールを送るなんて論外なことにあとで気づく。ダメじゃん。ということでメール送信のプラグイン化は断念。
その代わり、別の方法で差し替えられるようにしてみた。TDiaryComment#sendmail
メソッドを外部ファイルで上書きしちまう、という乱暴な方法だが。これもスマートな方法が見つかったら変えるかも。つーかデザインパターンくらい使えよ、おれ。詳しくはmisc/mail-via-(smtp|qmail|sendmail).rbを参照。tdiary.confにこれらのうちどれかをrequire
しないとツッコミメールが送られない非互換あり。互換性確保のために、smtpだけあらかじめrequire
するように戻すかも。
ちなみにうちの環境ではqmailやsendmailはうまく動かんかった。同じコードがMTA経由で動くMobilerではOKなので、httpdのuidじゃダメなのかも知れない。誰かテストしてくらはい。
■ 他には、ツッコミメールのSubjectに投稿者の名前を入れるようにしたとか、段落アンカーのname属性を、日毎表示時以外はなくしたとか(これでHTML-Lintの成績がグンとアップ![笑])。
■ tDiaryプラグインTips: Alternate Stylesheet
昨日この話を読んで、プラグイン化できるよな、と思っていた。今日になってこういうことも書かれているようなので、ちょっと書いてみる。alternate-stylesheet.rb、もちろん最新スナップショット専用:
def css_tag r = %Q[<meta http-equiv="content-style-type" content="text/css">\n] if @theme and @theme.length > 0 then css = "#{theme_url}/#{@theme}.css" else css = @css end r << %Q[ <link rel="stylesheet" href="#{css}" type="text/css" media="all">\n] %w(default desert line lovely maroon midnight nebula pool_side).each do |theme| r << %Q[ <link rel="Alternate stylesheet" title="" href="#{theme_url}/#{theme}.css" type="text/css">\n] unless theme == @theme end r end
これをmozillaあたりで見ると、標準添付のテーマがいかにダメかがよくわかるなぁ(笑)。たぶんcolor
と
◆ ただただし [うぐ。最新版(Revision 1.4)でやってくれると嬉しかった……。 つーか、問題はdefault.css「だけ..]
◆ しんちゃん [げ!(^^;]
◆ seki [早速のプラグイン化ありがとうございます。:)]
◆ NT [では、お言葉に甘えて。バグではありませんが。 misc/plugin/README.html の insert プラ..]
◆ きた [実は別の場所に移しただけだったりして. 消しちゃうのもったいないもん.うひひ.]
◆ えぐぞせ [え〜、でも、うちの日記では書き始めて間もない頃の日記に突っ込まれたことが…。 だからどーしろ、ってのはないですけど。]
2002-01-24(木) 8080歩 [長年日記]
■ Kondara 2.1(Asumi) RC2
夕べはけっきょくインストールできず。
先日焼いたCDが壊れている可能性を考慮して、もういちど焼き直してみるも、症状は変わらず。変わらずつっても、毎回起きることが違うのだからタチが悪い。たいていはインストーラが落ちて(Signal 11を受けたとかなんとか)、勝手にrebootしてしまうんだが、その場所が毎回違う。たいていは何かパッケージを入れてる最中なんだけど。途中で固まっちゃうこともあるし、いったん電源を落とさないとHDDが認識されなくなるなんてことまで。英語モードでやりなおしてみるも改善せず。……てことは、CDの焼きがまずいんじゃなくて、マシンが悪いのか?
試しにKondara 2.0(Mary)を入れてみたんだけど、これも最初は途中でいきなりrebootがかかったりしてヤバめ。2度目は入ったけど。最悪、週末はMaryでお茶を濁すか……でもXFSにしてみたいんだよなぁ。うぅむ。
ちなみにテストマシンは440BXなマザーにCeleron 300A(333だっけか?)。妖しげなベアボーンキットなので、型番もよくわからんというシロモノなのだが(笑)。そんなマシン使うなってか。まったくだ。
■ tDiary
NTさんに発見されてしまったが、スナップショットが新しくなっている。まだこの日記にも使ってないのに(笑)。
実験的にheader.rhtmlの大部分をプラグインに追い出してみた。これで<head>〜</head>
の間に何か加えたり、デフォルトを変更したりできるようになる。サポート用のメソッドも増やしてあるので、次のリリースにはドキュメントを用意する予定。まぁ、スナップショットを使うような人はコード読めるだろうけど。#ちなみに、00default.rbは書き換えるものではありませぬ。別のファイルに同名のメソッドを定義して上書きするのが流儀。
あと、プラグインから@cgi
と@cookie
が参照できるようにした。上の変更点と合わせると、「テーマ変更プラグイン」を実装できる。試しに作ってみたけど、これでいけるようだ。
それにしても、あんまりやりすぎるとeRubyを使ってる意味がなくなっちまうな。すでにdiary.rhtmlはHTMLと呼ぶにはあまりに暗号過ぎるし。この辺でストップするか。あとはツッコミメール送信のプラグイン化程度で。
■ Let's noteにボール復活
トラックボール応援団としてはだな、もろ手を挙げて喜ぶべきなのだが……。なんで1.47kgもあるんだよーっ。もうひとつのB5ノート、これの筐体をちょっと厚くしてボールを入れてくれりゃぁいいんだよ。そりゃ、パッドよりは重くなるかも知れないが、いくらなんでも500gは重くならんだろう。筐体を大きくしたからって、余ったスペースに何か詰め込まなきゃいけないって法はないだろ? ジャスト1kg。それだけでいいのに……バカバカバカ。Panasonicのバカ〜(大泣き)。
■ 今日のハンティング
お客さん日記を捕獲しました(153)。沖縄の人かな? 沖縄のtDiary密度って世界一かも(笑)。
さらにアホい日記帳とmicchi日記(155)。いずれもれんたるtDiary。
■ Kondara 2.1(Asumi) RC2(2)
メモリかぁ……と思って、帰ってすぐに余ってたDIMMに差し替える。実はこのマシン、FDDが壊れて(?)るから、memtest86が使えないのだ。試しに入れてみたけどFDからbootしなかった。で、差し替えて電源を入れたら、抜き忘れたFDからbootしてmemtest86が動き始めたじゃん!! なんだよこれ。
まぁいいや。メシ食いながらテストを流す。入れ替えたDIMMは少なくとも問題なし。そこでRC2に再チャレンジ。しかし、やはり症状は変わらず。試しにRC1を突っ込んでみるが同様。やっぱCDが壊れてるんだろうか。それなら同じところでコケそうなもんだが……。
ヤケになって、LinuxマガジンについてきてたOGLを入れてみる。ちょっと興味があったし。へぇ、テキストだけどわかりやすいインストーラだなぁ。メッセージも親切だし。DNSを指定してIPアドレス固定にすると、マシン名をひいてきてくれるトコなんていい感じ。XFSのみの1パーティションでいけるのか。けっこういいな。……って、あれ? インストールできちゃったよ(笑)。おーい、Asumiだけ入らないよぉ。
Maryは入った。OGLも入った。これらはCD-ROM。一方、Asumi RC1はCD-R、RC2はCD-RWだ。違いはここかも知れぬ。なにしろこのマシン、かなり古いDVD-ROMドライブがついてるからなぁ。しかも薄型タイプ。
まぁいいや。週末はRC1とRC2、Maryを用意して行こう。最悪でも、Maryをext2で入れて、Asumi化したあとにext3に変換という荒技もアリだし。もう寝る。
◆ NT [最新表示のページだけアンカーのアドレス(?)が http://www.spc.gr.jp/sho/diary/?da..]
◆ ただただし [すみません、直しました]
◆ NT [たびたびすみません。 20020123 以降では携帯端末モードでエラーになります。 なんか、あら探ししてるみたいでイ..]
◆ woods [今は携帯端末でも見られます。 でもツッコミが最初のしか見られません。淋しいです。]
◆ woods [そういう仕様と思ったんですよね。元旦のんがぁ日記みたいなことになったときは全部読まされるのはあんまり望ましくないんで..]
◆ tom [いや、おそらくハードは何も問題無いとおもいます。python + anaconda が腐っているだけかと... 今回..]
◆ はんばあぐ [tojimariってなんですか?iptables設定ツールのようですが、どこにあるのでしょうか。]
◆ (ふ) [Asumiについてきます。iptablesで簡単にファイアウォール設定をしてくれます。]
◆ はんばあぐ [情報感謝です。Asumiについてくるのですか。 現在自分でスクリプト組んでiptablesの設定をしているので、設定..]
◆ UmaShika [いや、とーっても単機能なものです。 なので、高度なことは自力でiptablesの設定しないとダメだと思います。]
◆ はんばあぐ [そうですか > tojimari。 やはり自分でスクリプトを書くのが一番ですね。 ]