PC

2004年06月07日 月曜日

自宅サーバ設置 その5

そろそろ終盤なのであるが、自宅サーバ設置時の提供の目標としていた最後のサービスであったメーリングリストサーバのfmlの設定周りの話。よく考えるとインストールなどはrsyncした時点で終わっているので、どっちかというとqmailvirtualdomainsの設定だけがきもであった。以下手順をざっくりメモ。

  1. ML用のドメインを取得する。(今回はサブドメインを作った)
  2. ML用のサブドメインに対するMXレコードをDNS登録する
  3. メール配送用のダミーユーザーを作る
  4. メールサーバのバーチャルドメイン設定で2で作ったドメインと3で作ったドメインの対応関係を記述する
  5. MLの設定ファイル群を生成
  6. メールサーバを再起動
  7. MLを作る・メンバーを登録する
  8. 作ったMLに投稿してみる
    実際にやってみたところでMLにメールが配信されなかったのであるが、帰ってきたメールを見るとMXレコードが設定されてないよんとか言うメッセージだったが、qmailでvirtualdomainsに配送が有効になっていなかっただけで、再起動すれば有効になる。何ともはまってしまった。これでうまく設定できたので、MLの運用も問題なくできる見通しが立った。基礎的な立ち上げは全て完了と言うことになる。サーバ立ち上げに関して有益な議論につきあってくださったゆうじさん、どうもありがとうございました。

家系レンタルサーバ 「小川家」始動

これまでまる3年になるが、家系レンタルサーバ「山崎家」でWeb・メール・ML等の利用を学んできた。当初の目標だった_のれん分け_は、ブロードバンド環境の整備にだいぶん時間を要したけども、今回のサーバ立ち上げで作業は無事完了。今までは1ユーザーとしての利用だったが、これからは管理者としてがんばっていこうと思うので、これからもよろしくおねがいします。
と言うことで、のれん分けしたサーバは家系レンタルサーバに他ならないので、家系レンタルサーバ 4番店 「小川家」として始動することになります。ゆうじさんに開店祝いにロゴまでいただきました。ありがとうございます。
ぼちぼちコンテンツの移動と再配置、サービスの移動を行いつつ、_家属を集めなければ。_興味のある方は、案内を見てご連絡ください。

2004年06月06日 日曜日

めざまし時計が壊れた

ネタに事欠かない毎日だなとつくづく思うのであるが、今日朝起きて目覚まし時計を見ると、針が_止まっていた_。数日前も止まっていて、そのときは電池が抜けていたので入れ直したのだが、今回も同じ。でも、よく見ると_どこかおかしい_。
よく見てみると、秒針と分針はまともに動くが、時針はなぜか30分進んだ状態になってしまっている。(12時を指した状態にすると時針は12時30分位を示す。) 目覚ましのアラーム(でっかいベルの音で見た目も古典的なのだが)が予想つかない時間に鳴るので、見た目もあまり役に立たないが、_目覚ましとしても決定的に役に立たない_と言うことで、買い直すことになった。(まったく余計な出費だ。)
買ってきたのは、SEIKOのKR303Sという電波時計の目覚まし時計。なんだかよく分からないが実生活は電波時計に、PCはNTPに頼っている生活なので、自然に電波時計内蔵のものとなった。大学入学時に購入してもらった時計だけども、約13年使ったところで惜しくも壊れてしまった。金属部の錆が結構良い感じになってきて、工業生産品にしては渋い雰囲気の時計になってきたのだが、何とも残念である。まだ動くからインテリアにしよう。

2004年06月04日 金曜日

お休みなのだが…

今日は気持ちが良いほど抜ける青空の快晴でお休みなのだが、つまらん話を延々と聞かされるイベントに行って来た。全く利権団体というのはお気楽なものだ…

Diomidis Spinellis / Code Reading -オープンソースから学ぶソフトウェア開発技法

最近コンピュータ関連書籍を買いまくっているが、ここに来て妙に良書が多いので困っている。まず手始めに読んで楽しめそうなものから購入。この本は主にNetBSDのソースを手にとって、ソースの読み方、効率的に読むツールの使い方を見て、実際にReadingしていこうというなかなか面白い視点の本である。
せっかくソースが公にされているし、自由に使えるものはいくらでも題材になるのだから、読まねば損と言うことで、こういう本が翻訳されるのを待っていたというわけだ。それにしても監訳者はそうそうたる顔ぶれだなぁ。

2004年06月02日 水曜日

日記補完中

いろいろ作業が追いついていないのだが、先週は自宅サーバの構築をひたすら行っていたのと、週末はお客人が来ていたので、日記の交信が途絶えてしまっている。現在、さかのぼって編集中である。一度通った道とはいえ間違いのないように書き残す必要があるので、少し時間がかかっている。全て補完する予定なので、もう少し歯抜け状態のままかもしれない。

2004年05月31日 月曜日

自宅サーバ設置 その4

基本的なサービスで最後に残っている大物であるメールサーバを設置する。基本的には、qmailのドキュメント通りに進めればよろしい。

インストール前の準備

qmailのインストール前にqmailが使うアカウントを準備する。djbdnsに比べて多いので注意。 (僕も1カ所設定を間違えていたので。) /etc/passwdはvipwで編集すること!

qmail:*:9990:
nofiles:*:9991:
alias:*:9990:9991::0:0::/var/qmail/alias:/bin/true
qmaild:*:9991:9991::0:0::/var/qmail:/bin/true
qmaill:*:9992:9991::0:0::/var/qmail:/bin/true
qmailp:*:9993:9991::0:0::/var/qmail:/bin/true
qmailq:*:9994:9990::0:0::/var/qmail:/bin/true
qmailr:*:9995:9990::0:0::/var/qmail:/bin/true
qmails:*:9996:9990::0:0::/var/qmail:/bin/true

qmailのインストール

qmailのインストール自身は簡単で、DNSで運用したいサーバのMXレコードを設定してある状態にしてからやるといろいろ問題がなくて進めやすい。今回はdjbdns立ち上げ時にMXレコードを登録しておいたので、このまま作業を進める。
今回は広瀬さんが作成しているanti-badmailパッチとFujiwaraさんによるIPv6パッチがあたったものを使用する。
% cvs -d :pserver:anonymous@yatex.org:/qmail co -r v6-anti-badmail qmail
% cd qmail
% mkdir /r/var/qmail
% ln -s /r/var/qmail /var/qmail
% make setup check

2004年05月30日 日曜日

今日はウィンドウショッピングのはずが…

今日は某氏が来ていたので、写真屋の魔のトライアングルゾーンにでかけることになった。まず1件目の中野のフジヤカメラにて、なぜか変な値段がついたEF 24mm F1.4Lを発見。僕はこのレンズを昨年11月に普通の中古の流通価格(約13万円)で購入したのであるが、ここにはなぜか8万円と言う値札がついて置いてある。外見に傷が若干あって、フードが欠品。他は特に異常が無い模様。レンズは非常に綺麗。ということで、衝動買いをする様を見てしまった。(本当は中望遠を探しに来ていたらしいのだが、目的を見失うのはよくあるものだ。)
予想外の展開を見たあとで、新宿のMapCameraに行ったのであるが、ここでは大きな発見は無かった。(高いし、実に在庫が寂しい。) なんだか煮え切らないので、さらに勢いで目黒の三宝カメラに行ったわけだが、そこで_妙なものを発見!!!_ レンズを見に行ったはずなのに、妙な商談を開始する羽目に。結構な頻度で謎の在庫情報を送ってくる恐るべき三宝カメラさんとキヤノンの戦略にはめられてます。詳細は次回に続くと言うことで。
今回の事件でとメインフィルムが全部世代交代してしまって再条件だしをすることになってしまっているので、これを機に銀塩から引退してしまってデジタル一本にします。本当はEF 200mm F1.8L USMを探しに行ったのだけども…

2004年05月29日 土曜日

EF 85mm F1.2LUSM修理完了・顛末

22日の日記で若干続報が入ったが、水曜日にキタムラより「修理完了しました」というお知らせがあったので、早速取りに出かける。修理内容はAFの回転ムラと言うことでUSMの修理とカビ取りであった。使っていて全く気がつかなかったが、_実はUSM壊れてたのかぁ_と意外な修理報告であった。たぶん部品代はUSM関係の修理代と思われる。
気になるレンズを見ると、まるで埃がなく恐ろしいほど美しい状態になっている! なんと買った時より数段綺麗になってしまった。前玉も綺麗になっているので、おそら光学系が全て入れ直しになっている模様。USMも交換されているから、_全くの新品になった_と考えて良かろう。今回の修理はこれまでの経緯の如く超破格のお値段でやっていただいたので、キヤノンさんには頭が上がりそうにないのである。
いったん全く違うレンズになってしまったので、試写してAFを確認してみた。絞り開放でピントは思い通り(と言っても難しいが)の場所に来ているいるようなので、OKとすることとした。良かった良かった。

2004年05月28日 金曜日

自宅サーバ設置 その3

今日はApacheのための準備をして chroot空間(/home/r/)のライブラリ群の設定。めんどくさい場合はchrootしたい環境の下にmake worldをして適当に削る。この場合の作業はざっくりこんな感じ。

# D=/home/r
# cd /usr/src
# mkdir -p $D
# make world DESTDIR=$D
# cd /usr/src/etc
# make distribution DESTDIR=$D

と言う感じ。うちのマシン(Celeron 1GHz)だとだいたいmake worldが3時間程度の模様。(make worldみたいな操作は寝ている間にがんばってもらう。) 終わったところで、chroot環境として動いてもらわねばならないので、/r/dev以下を生成する。FreeBSDの場合はDevfsになっているので、こんな感じにする。
# mount -t devfs devfs /r/dev
# devfs rule -s 10 delset
# devfs rule -s 10 add hide
# devfs rule -s 10 add path null unhide
# devfs rule -s 10 add path zero unhide
# devfs rule -s 10 add path random unhide
# devfs rule -s 10 add path uraondom unhide
# devfs -m /r/dev rule -s 10 applyset
/r/dev以下はnullとzeroとrandomとurandomのみにしてあとは隠すと言うルール。実際はこのコマンドは装置起動時もしくはデーモンの起動スクリプトで実行するのがよい。/r/etc以下は

2004年05月27日 木曜日

自宅サーバ設置 その2

今日からDNSサーバ、メールサーバ、Webサーバと言ったコアになるサービスの立ち上げを行う。DNSはdjbdns、メールサーバはqmailと言う感じでdjbが作ったサービスで固めることにした。HTTPサーバは言わずともしれたApacheを選択。

daemontool

daemontoolはdjb謹製のデーモン管理ツールである。デーモンの起動/停止/設定ファイルの読み直しなどの操作を統一的に扱えるようにできたり、ログローテーションができたり、必要なデーモンが常時起動しているか監視できるツールである。一昨日までの対応でdaemontoolは使えるようになっているので、あとはざくざくサービスを登録すればよいと言うわけだ。

準備

こんな起動スクリプト(FreeBSDの場合)を/etc/rc.d/に入れておけばdaemontoolはサーバ起動時に自動的に起動する。

#!/bin/sh
#
## daemontools by djb
#
DTdir=/usr/local/daemontools/bin
case "$1" in
 start)
    if [ -x $DTdir/svscan -a -d /service ]; then
        env - PATH=$DTdir\:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin \
        csh -cf 'svscan /service &' ; echo -n ' daemontools'
    fi ;;
 stop)
    $DTdir/svc -d /service/*
    (sleep 1; killall svscan)& ;;
esac

ただし上のスクリプトを読めば分かるように、/serviceを作らないとdaemontoolは使えるようにならないので、早速/serviceを作成する。/ ディレクトリにファイルを作るのに抵抗を感じないわけではないが、djb-toolを使うという時点で自分のポリシーよりもdjb先生の方法論を優先すべきだろう。ということで_躊躇なくディレクトリを作る。_(どうせこのディレクトリにはシンボリックリンクしか置かないし。気にしない。)
mkdir /service
chmod 755 /service

2004年05月25日 火曜日

自宅サーバ設置 その1

ぼちぼち作業しないと埒があかんということで、今週は自宅サーバの設置準備をすることにした。先週までにサーバ機にFreeBSDをインストールし終わり、BBルーターのDMZ/GapNAT設定ができたと判断し、作業を開始なのだ。
備忘録のため昨日と今日の作業のまとめをしておこう。

家系サーバの基本設定

家系レンタルサーバ(総本山)の山崎家から分家・のれん分けと言うことになる。FreeBSD4.x系のソフトが集められている三川家さんからアーカイブを取り寄せて、FreeBSD5.xに焼き直した設定にする。基本的にバイナリコピーで/usr/lib/compat/をつかうことになる。設定は覚えている範囲でメモ。

アーカイブのコピー

以下の手順でrsyncして持ってくる。rsyncがない場合は、/usr/iekei/bin/rsyncをローカルにscpして持ってくればよい。(Portsで入れても良いし、Packageで入れても良い。)こんな感じでrsync。家系セットは/usr/iekeiにコピー、chroot環境もしくはjailで動かしたいものは/home/r (実体は/usr/home/r/)にコピーし/home/rのシンボリックリンクを/rとする。
# mkdir /usr/iekei
# mkdir /home/r
# ln -s /home/r /r
# mkdir
# rsync -e ‘ssh -2’ –exclude log -avzH \自分のユーザ名@mike.mkwk.net:/usr/iekei/. /usr/iekei/.
# rsync -e ‘ssh -2’ –exclude log -avzH \自分のユーザ名@mike.mkwk.net:/r/. /r/.
(ここはできたら/r/bin, /r/etc, /r/lib, /r/usrだけでよい)
# mkdir /r/dev
# mkdir /r/var
と言う具合。あとパス周りの設定をするために、/etc/rc.confに以下の設定を追加。単純に言うとスタートアップ時に見るディレクトリを追加、ldconfigの検索パスの追加である。
local_startup="/usr/iekei/etc/rc.d /usr/X11R6/etc/rc.d"
ldconfig_paths=echo /usr/lib /usr/lib/compat /usr/*/lib /usr/iekei/*/lib