優しかった赤塚不二夫さん

晴れ
夜雨
 珍しくテレビなんぞを見ていました。テニスの若手錦織圭選手が、全米オープン3回戦で第4シードのダビッド・フェレールという、世界ランキング4位の選手に勝利したんですね。彼は笑顔がとても人を引きつけますし、英語がちょっとできて英語のインタビューに少し受け答えできるので、アメリカでも人気があるそうです。
 午後は某NHKの、漫画家赤塚不二夫追悼番組を見ていました。娘さん他周りの人達にとても愛されていたようですが、裏を返せば赤塚さんご自身が周りの人達に良くしていたという証ですよね。晩年は、目の不自由なこども向けの絵本なんか作っていたんですね。入院している時にテレビを見ていたら、目の不自由な子供たちが出ていたそうなんですが、彼らが笑っていなかったのがとても印象に残ったそうです。それで 『よし! 彼らが笑う本を描いてみよう』 と思ったそうです。
 夜、某テレ朝のオーラの泉には大関琴欧州が出ていました。お母さんに誕生日ケーキをあげようと、隣のおばさんのところに行ってケーキの作り方を習ったそうです。日本では考えられないことですね。赤塚不二夫さんも、大関琴欧州も優しいですね、嬉しくなりました。ちなみに琴欧州の本名はカロヤンというそうです。日本の毛生え薬と同じ名前ですね。

FreeBSDにqmailをインストール

 ※ この記事は2005年12月に書いたものを書き直したものです。

 UNIX Client-Server Program qmail というMTA(Message Transfer Agent = インターネットでメールを配送するソフトウェア)は、イリノイ大学の D. J. Bernsteinhttp://cr.yp.to/djb.html) 教授によって作られた、メールの送受信のみを行うとてもシンプルなソフトウェアです。バージョンナンバーからも分りますように、作られてからほとんどバージョンアップされていません。ネットの検索サイトで、"qmailの歴史" で検索しても、何故か sendmail の歴史といったサイトばかりでてきます。(^^;)

 qmail自体はそんなシンプルな MTA ですが、パッチファイルを当てたり、アドインソフトと共に使ったりして色々と機能を増やせるようになっています。最もよく使われるアドインソフトに tcpserver があります。

※ tcpserver はqmailと同じく D. J. Bernstein さんの作られたソフトウェアで、サーバを制御するツールです。FreeBSDでは、/usr/ports/sysutils/ucspi-tcp に収められています、この ucspi とは UNIX Client-Server Program Interface の略で、TCP/IP のクライアント・サーバ通信ツールのインターフェースの役割を果たしています。

 難しい説明はこの位にして、FreeBSDにqmailをインストールする手順を書きます。FreeBSDのリリースは2008年9月現在最新の 7 (2009年10月現在最新の 7.2 にて再インストールし、記事内容を新しくしてあります)です。3年前の書き込み時には、4.11を使っていましたが、古くなり過ぎインストール時にエラーが多くでるようになりましたので 7 にしました。インストール後直ぐに ssh が使えるということで 4.11 は良かったのですが…。

 使用PCは、東芝の古い低スペックのノートパソコンを使っています。ネットオークションで送料も含め3,000円前後で手に入れたものです。わたし個人のメールサーバとして使う分には、この程度のマシンで充分です。これから自宅サーバをやってみたいという方にアドバイスするとしたら、ウェブサーバとメールサーバは、マシンを分けた方がいいということです。ウェブサーバのメンテナンス時に、メールサーバを止めなければいけないということがありませんし、その逆の場合もウェブサーバを止めずに済みますので安心です。

  1. checkpassword のインストール(ports より)
    # cd /usr/ports/security/checkpassword
    # make install clean

  2. tcpserver のインストール(ports より)
    # cd /usr/ports/sysutils/ucspi-tcp
    # make install clean
    2009年10月にインストールした時、オプションが出ました。やたらとチェックを入れますと、エラーになってインストールがストップしてしまいます。一度設定したオプションを変更するには、
    # make config
    と入力してオプションを変更してから make install clean コマンドを打ち直します。詳しくは BSDハンドブックPorts Collection の利用のページ をご覧ください。
    インストールが上手く行きましたら、/etc ディレクトリに、tcp.smtp というファイルを作ります。
    # vi tcp.smtp
    リレイを許可する者のIPアドレスを設定します。LAN 外からの送信は、固定グローバルIPでインターネット接続している人であれば、ここにそのグローバルIPアドレスを書き込むことによって、LAN外のパソコンからこのSMTPサーバを使ってメールの送信ができます。固定グローバルIPがなければ、SMTP Authentication システムや、daemontools と relay-ctrl をインストールして、pop before smtp 機能を持たせることにより、ユーザが LAN 外からこのメールサーバを使って送信することができるようになります。
    127.:allow,RELAYCLIENT=""
    192.168.0.:allow,RELAYCLIENT=""

    固定グローバルIPがあれば
    ***.***.***.***:allow,RELAYCLIENT=""
    この時書き方で、注意すべき点があります。途中で省略する場合は、必ず最後をドットで終えるという点です。
    192.168.0:allow,RELAYCLIENT=""
    と書きますと、LAN 内から外部メールアドレスへの送信はできません。
    下記のコマンドで、/etc に tcp.smtp.cdb というデータベースファイルが作られます。このコマンドを実行しませんと、設定が有効になりません。
    # tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    ※ 198.168.0 のローカルIPは、ご自宅のものに変えてください


  3. qmail のインストール(ports より)
    # cd /usr/ports/mail/qmail
    # make install clean
    途中オプション選択画面が出て来ます。
    Options for qmail 1.03_7
    1SMTP_AUTH_PATCHProvide SMTP Authentication
    2QMAILQUEUE_PATCHrun a QMAILQUEUE program
    3BIG_TODO_PATCHenable big_todo qmail patch
    4BIG_CONCURRENCY_PATCHuse a concurrency greater than 240
    5OUTGOINGIP_PATCHset the IP address to send messages
    6LOCALTIME_PATCHemit dates in the local timezone
    7QMTPC_PATCHsend email using qmtp protocol
    8MAILDIRQUOTA_PATCHMaildir++ support
    9BLOCKEXEC_PATCHblock many windows viruses/worms
    10DISCBOUNCES_PATCHdiscard double-bounces
    11SPF_PATCHImplement SPF checker
    12RCDLINK create rc.d/qmail.sh


     1番の SMTP_AUTH_PATCH オプションは、pop before smtp のように、ローカルエリア外のパソコンから送信したいユーザがいる場合に必要になります。vpopmail や、qmailvida と組み合わせて使うようですが、インストール・設定がややこしくあまりお勧めできません。外から利用のユーザが、固定のグローバルIPを持っている場合は、これを使う必要はありません。/etc ディレクトリ下の tcp.smtp ファイルにその固定グローバルIPを設定すればOKです。6番の local timezone オプションはチェックした方がいいです。チェックしておかないとメールに表示される時刻がグリニッジ標準時(GMT、Greenwich Mean Time)になってしまいます。11番は自分のメールサーバで SPF(Sender Policy Framework、メールの送信元アドレスが偽装されているかどうかチェックする機能)を使いたければチェックを入れておきましょう。SPF を使うのは意外と簡単です。/var/qmail/control に4つの設定ファイルを置くだけです。やってみたい人は、下記のリンク先をご覧ください。
    qmail用のSPF実装
    12番は既にチェックが入っていまして、そのままでいいと思います。後はお好みで…。(^^;)

    ■ /var/qmail/alias 下のファイル設定
    .qmail-mailer-daemon 宛先を間違えたメールが、ここ宛てに戻って来ます
    .qmail-postmaster メールサーバ管理者のアドレス
    .qmail-root daily weekly monthly のチェックデータが ここ宛てに送られてきます
    自宅サーバでしたら、全てあなたの一番受け取りやすいメールアドレスをここに &tarou@abc.ne.jp といったように書いておけばそこに転送されます。
    もしその受け取りやすいアドレスのアカウントがサーバ内にあるのでしたら、そのアカウント名のみを &tarou 書き込めばOKです。

    ※ これはqmailサーバを稼動して暫くして分ったことなのですが、海外から、admin、anonymous、accounting、accounts、administrator、guest、help、home、info、mail、majordomo、sales、service、support、test、uucp などのアカウント宛てにスパムメールがよく送られてきます。これらのアカウントは Unix サーバには始めからあるものなのですが、メールボックスがなく転送先も指定されていないために "Sorry no mailbox here by that name" と書かれたお知らせメールが Return Path に書かれたアドレス宛に送り返されます。しかしそういったメールの Return Path は架空のものなので、qmailのプログラムがそれらを送り返す作業を繰り返し続け、 /var/qmail/queue に溜まります。そしてメールサーバから毎日送られてくる daily run outpu メールに、
    Mail in local queue:
    14 Mar 2006 21:47:35 GMT #1371 26561 <>
    remote william@perlite.biz

    といった報告が延々と繰り返されてしまいます。そういった問題に対処するには、
    /var/qmail/alias.qmail-default というファイルを作ります。.qmail-default は、本来は届け先不明メールの届け先を指定するファイルです。catch-all アカウント としてアカウント名をミスタイプされて送られて来たメールや、メールアドレスの変更に伴う旧メールアドレス宛に送られて来たメール用として使われるものだそうですが、使いようによっては便利なスパム対策用ファイルとして使うことができます。作った .qmail-default ファイルには、下記のように書き込んでおきます。 ( .qmail ファイルの詳しい設定方法は、qmailの日本語解説サイトをご覧ください。
    dot-qmailの使い方

    |bouncesaying 'このメールアドレスは存在しません。' /bin/sh -c "if [ $LOCAL != admin -a $LOCAL != anonymous -a $LOCAL != accounting -a $LOCAL != accounts -a $LOCAL != administrator -a $LOCAL != guest -a $LOCAL != home -a $LOCAL != info -a $LOCAL != majordomo -a $LOCAL != sales -a $LOCAL != uucp ] ; then exit 0 ; else exit 100 ; fi"

     そうすると上のプログラムに書かれたアカウント宛のメールはそこで消え、その後何の処理も行われません。上のプログラムに記入のないアカウント宛のメールで、メールボックスがなく /var/qmail/alias 下の .qmail ファイルに転送先の指定もされていないアカウント、あるいは送信者のミスタイプによる間違ったアカウント宛に送られたメールには、'このメールアドレスは存在しません。' のメッセージが書かれたqmailサーバからのお知らせメールが返送されます。.qmail-default ファイルに # と書いておくよいと解説しておられるサイトもありますが、これですと宛先ユーザ名をミスタイプして送られて来たメールは消えてしまうだけで、届かなかったことをお知らせするメールは送られません。


    ■ /var/qmail/control 下のファイル設定
     インストール後、/var/qmail/control 内にできている defaultdomainlocalsmeplusdomainrcpthosts という名のファイルに下記情報を書き込みます。ports のインストール後直ぐに ./config とコマンドを打ちますと、固定IPで逆引き設定されている自宅サーバであれば自動的に書き込まれます。
    1defaultdomainryos.info
    2localslocalhost


    ryos.info
    3meryos.info
    4plusdomaininfo
    5rcpthostslocalhost


    ryos.info
    6databytes5242880
    7badmailfrom@hanmail.net


    @nate.com


    @postmark.net


    @yyhmail.com

     6 と 7 は、後で必要になったら、自分でファイルを作って書き込みます。qmailの設定ではなく tcpserver の設定ですが、同じディレクトリに作る設定ファイルということで一緒にしました。
     6 は、一回に転送できる容量の制限。(5242880 は、5MB の設定例です)
     7 は拒否したいドメインの指定。tcpserver が読みとって拒否してくれます。しかしスパマーは、その都度違う架空のドメインで送ってきますので、効果は期待できません。それでわたしは使っていません。しかし、世界中のメールサーバ管理者に代わって、Kelkea社が中心となって MAPS RBL (Mail Abuse Prevention System Realtime Blackhole List) というスパムメールのリストを作ってくださっています。最近 Kelkea社はトレンドマイクロ社に買収されましたが、トレンドマイクロ社が同様のサービスを継続してくれていますので、今迄通りこのリストを利用することができます。このリストを利用するには、rblsmtpd を利用します。rblsmtpdtcpserver をインストールした際に /usr/local/bin/rblsmtpd にインストールされていますので、後で説明します rc ファイル/usr/local/bin/rblsmtpd のコマンドを書き加えるだけで利用することができます。
    http://www.mail-abuse.com/

     最近プロバイダーがよく行っている25番ポートブロック(Outbound Port25 Blocking)対策として、プロバイダーのSMTPサーバを使いたいような場合は、smtproutes というファイルを作り、
    コロン+契約しているプロバイダのSMTPサーバのアドレス
    :mail.biglobe.ne.jp (ビッグローブユーザの場合)
    と書き込んでおきます。コロンの前や後ろに空白を入れてはいけません。
    宛先が携帯電話のメールの時だけプロバイダのSMTPサーバを使いたいような場合、
    ビッグローブユーザでしたら、
    docomo.ne.jp:mail.biglobe.ne.jp
    .ezweb.ne.jp:mail.biglobe.ne.jp
    .vodafone.ne.jp:mail.biglobe.ne.jp
    などのように書いておけばOKのようです。
    25番ポートブロックは動的IPにのみ適用している場合が多いので、ご自分の契約プロバイダの案内をよく調べてください。固定IPで自宅メールサーバを運用している場合は何もしなくてOKです。


    ■ Maildir の作成
     sendmail では、メールは、/var/spool/mail/user というディレクトリに届きますが、qmail では、各ユーザ毎のディレクトリにある Maildir というディレクトリ内に届きます。ユーザ毎のディレクトリに Maildir ディレクトリを作るには、各ユーザでログインし、下記のコマンドを使います。
    % /var/qmail/bin/maildirmake $HOME/Maildir
    % echo ./Maildir/ > /.qmail
    これから登録されるユーザでは、下記の設定をしておきますと、ユーザを登録すると自動的に Maildir ディレクトリが作られます。
    # cd /usr/share/skel
    # /var/qmail/bin/maildirmake Maildir
    としてユーザ用の Maildir ディレクトリを作っておきます。
    # vi dot.qmail
    同じ /usr/share/skel 内に、dot.qmail というファイルを作り "./Maildir/" と書いておきます。

    ■ rc ファイルの作成
     /var/qmailに作られた rc ファイルは、/usr/local/etc/rc.d/qmail.sh にリンクされています。
    つまり qmail.sh の実態はこの rc ファイルということになります。
    # cd /var/qmail # vi rc
    rc ファイルの記述例
    できた rc ファイルに実行権を与えます。
    # chmod +x /var/qmail/rc

    ■ send mail の廃止
    # vi /etc/rc.conf
    で sendmail_enable="NONE" としておきます。NO ではなく必ず NONE にしておいて下さい。
    # chmod 0 /usr/libexec/sendmail/sendmail
    # chmod 0 /usr/sbin/sendmail
    # mv /usr/libexec/sendmail/sendmail /usr/libexec/sendmail/sendmail.bak
    # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
    # ln -s /var/qmail/bin/sendmail /usr/libexec/sendmail/sendmail
    # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
    # chmod 0 /usr/libexec/mail.local

    /etc/defaults/periodic.conf の daily_status_include_submit_mailq="YES" の個所を探して、"YES" の記述を "NO" に書きかえる。
    # vi /etc/defaults/periodic.conf
    121 行目辺りの
    daily_status_include_submit_mailq="YES" # Also submit queue
    の YES を NO に書き換える

  4. qmHandle のインストール
     何らかの理由によって /var/qmail/queue にメールが溜まってしまった場合に、/var/qmail/queue に溜まっているメールを簡単に削除できるソフトが qmHandle です。
    # cd /usr/ports/mail/qmhandle
    ちょっと前までは、qmHandle ディレクトリだったのですが、qmhandle とエッチが小文字になっていました。(^^;)
    # make install clean
    ・使い方
    # qmHandle -l
    で下記のようなデータが表示され(コマンドの方は、エッチは大文字のままでOKでした)、溜まっているメールがあるかないか、またそのメールのナンバーが分かります。
    571 (19, L)
    From: pgalove@hanmail.net
    To: anonymous@ryos.info
    Subject: failure notice
    Date: 25 Dec 2005 01:35:38 -0000
    Size: 3853 bytes
    Messages in local queue: 1
    Messages in remote queue: 0

    ローカルにナンバー 571 のメールが溜まっていることが分ります。
    # qmHandle -D
    で全てまとめて削除できます。
    # qmHandle -d571 ← 番号は削除したいメールのナンバー
    のコマンドですと、指定した番号のメールのみを削除できます。

     qmHandle -DqmHandle -d削除したいメールのナンバー のコマンドは、メールの削除をする前にqmailを停止してメールの削除を行い、その後qmailを再起動するようになっていますが、わたしのサーバのように時として停止・再起動が上手くできない場合があります。その時は、
    /usr/local/bin/qmHandle
    #my ($stopqmail) と #my ($startqmail) の値を適正なものに指定し直す必要があります。それでもqmailの停止・再起動上手く行かないと、 warning: trouble opening local/19/571; will try again later
    といったログが /var/log/maillog に2分おきに記録されてしまいます。
    そういう場合は、下記のコマンドを手動で打ち込み、
    # /usr/local/etc/rc.d/qmail.sh stop
    qmailを一旦きちんと停止して qmHandle -DqmHandle -d削除したいメールのナンバー のコマンドを実行し、その後また下記のコマンドで、
    # /usr/local/etc/rc.d/qmail.sh start
    qmailを手動で再起動すると warning: trouble opening … のログがでずにすみます。
 それでは皆さん、古くて捨てるようなパソコンを利用し、自宅サーバを楽しみましょう。ご質問・その他情報は、FreeBSD BBS によろしくお願いいたします。v

FreeBSDのインストールCD作り

曇り
後雨
 いつも予定は、Yahoo! のスケジュール帳に書き込んでいます。その日の朝、その日の予定がメールで送られて来ます。ところがきょうの予定は、うっかりメールの届く時間を朝にするのを忘れてしまいました。朝に指定しないと、予定の15分前にメールが届きます。午後1時半の予定のお知らせを見たのが1時20分頃でした。慌てて支度をして出かけようとしましたが、生憎雨が…。合羽を着てチョイノリで。30分ほどの遅刻です。でもお役に立てて、とても喜ばれましたので良かったです。帰る頃は雨も止んでいました。

 夜は趣味のサーバー作りです。ずうっと、FreeBSD4.11 で作って来ましたが、いよいよ古くなり過ぎ、cvsup で ports を最新のものにすると、色々なところで食い違いが出てエラーになるケースが増えて来ました。それでとうとう最新リリースの FreeBSD7 で作ることにしました。iso イメージファイル を FTP サーバからダウンロードし、WinCDR でメニューバーのファイルから新規作成をクリック。出て来たウインドの中のトラックイメージをチェックして OK をクリックします。その後で iso イメージファイルウェルに入れ、書き込みを始めます。最初は bootonly.iso でCDを作り、起動だけCDで行い、その後はFTPサーバ経由でインストールしたのですが、これですとけっこう時間がかかるのと、時々途中で接続が切れたりします。それで disc1.isodisc2.isodisc3.iso と3枚CDを作ったのですが、Kern-Developer の distribution ですと disc1.iso だけでOKでした。

Google Chrome

晴れ  きょうも晴れて暑かったですね。でも明日は雨が降って、気温は28℃止まりだそうです。昨晩遅くまできょうのパソコン教室の資料作りをしていたのですが、某NHKのサイトでニュース映像を見ていましたら、某Googleが独自の Google Chrome (BETA) for Windows というブラウザを開発し、アメリカ時間の9月2日より無償配布するとのこと。あれれれれ、興味津々ということで早速某Googleのサイトを調べてみたのですが、後2時間後となっていました。何しろアメリカの方が時間が遅れているのですから、しかだがありません。きょうパソコン教室でまた調べてみましたら、やはりもうダウンロードできるようになっていました。家に帰ってから、家のパソコンにもインストールしてちょっと試してみましたが、確かに動作は軽いです。ただ慣れがありますので、慣れるまでには少し時間がかりますね。ウェブサイトもIEでどう見えるかで作っていますから、Google Chrome だと上手く表示されないページもけっこう見られます。さて、日本ではどれだけ浸透しますやら。IEにそれほど不満を持っている人は少ないでしょうから、あまり浸透しないのではと感じていますが…。
Google Chrome 開発のストーリー

パソコン教室生徒さん募集中

晴れ  涼しい日が続いてましたが、きょうは晴れて暑くなりましたね。きのうの市の広報に、10月からのパソコン入門秋教室の募集を入れました。今回は紙面に余裕があったのか、1回500円という説明を載せてくださったので、朝からけっこう電話が入りました。きのうだけで10人以上の登録です。今週中に一杯になるような勢いですので良かったです。
 きょうはパソコン入門夏教室でしたので、チョイノリに乗って行きました。帰りに多摩平のスーパーおおたと、自宅近くのショップ99でお買い物も。天気さえ良ければ、スクーターは便利ですね。ガソリン代も、1ヶ月に200?300円程度で済んでいます。

福田首相辞任表明

晴れ  きのう姫井議員のニュースを取り上げましたが、きょうは福田首相です。驚きましたね。この人悪い人じゃないと思っていましたが、ちょっと色々なトラブルをいつも人事のように語っていたのが気になっていました。4月のガソリン騒動の時も、記者の今日の混乱云々の質問に「混乱しましたか?」と人事のように答えていました。で突然辞任しますでは、前の安部首相と変わりないじゃないですか。驚きました。YouTube にアップされた辞任記者会見の模様です。記者もわたしの考えと同じことを質問していますね。それに対して福田首相はむっとして、「わたしは自分自身を客観的に見ることはできるんです。あなたと違うんです。」と。どう違うんですか福田さん。自分の限界が良く分かっているつうことですか。自民・公明連立政権は、もう終わりだということですか。真髄を突かれて、よっぽど応えたんでしょうね。でも首相辞めても、お金には困らないんでしょうから気楽ですよね。

姫井に悲鳴

晴れ
時々
 お昼にチョイノリで西友まで買出しに。豊田の西友の地下も、いつもレジに人が並んでいますね。盛っているというよりも、その時の客数に対して、稼動しているレジの数が少ないというか。先日も暑い日で皆ぐったりしながらレジで待っていたのに、後ろのおばはんがわたしの買う物は少ないから、順番をわたしの前にしてくれと。一瞬この人は何を言っているのか、と理解できずに呆然としていましたら諦めたようでしたが…。旭が丘のケーヨーD2もしかり。店も品揃えもちゃんとしているのに、肝心の接客サービスをする人の体制がこれではね。もったいないです。
 それに比べ、大和田のコープとうきょうのレジの人は皆感じが良いです。何年も行っていますが、嫌な感じを受けたことが一度もありません。それにお店が最近増えてきたスーパーおおた。このお店も従業員は皆感じが良いです。社風というのでしょうか。経営者の気持ちが、こういうところに表れるのでしょうか。

 この話はさて置き、きょうはこのニュースに驚きました。きのうの新党 改革クラブ の旗揚げ記者会見に、何時まで経っても現れない姫井由美子議員。まぁその時は、肝心の約束時間も守れないだらしのない人くらいに思っていたのですが、一夜明けてきのうの夕方の記者会見を見て再度びっくり。何よ、5人いなければ発足できないという新党発足の日に、それをすっぽかしてなおかつ止めたとの記者会見を…。改革クラブ を発足しようとした残りの4人は、正に結婚式に新婦に逃げられた新郎のようなもんですね。渡辺代表は笑っていましたが、笑わずには語れないでしょう。姫井議員の言う、有権者を裏切る云々以前に、こんな大事な約束も守れないで身近な人を裏切るようでは…。もう色々なスキャンダルで既に終った人なんでしょうが、改めてこの人終ったなと思いました。次の選挙での当選はないでしょう。