思うこと
 OCNエコノミーとは
 DNSサーバの構築(WindowsNT BIND 4.9.7)
 メールサーバのインストール(WindowsNT+IMS)
 Webサーバのインストール(WindowsNT+IIS)
 セカンダリDNSサーバ(WindowsNT Bind)の構築
 ルータ(MN128-SOHO)の設定
 ちょっと一休み
 NATの導入
 NATの導入 その2
 NT+IISにPerlの導入
 namazuの導入
 namazuの導入 その2
 Windows版Apacheの導入
 3 メールサーバのインストール

IMS(Internet Mail Services)とは

メールをやりとりするメールサーバは、Webブラウザを使ったインターネットアクセスとと同じか、それ以上に重要な機能を果たします。とくにインターネットに常時接続した環境に慣れるにつれて、公私含めてメールでメッセージをやりとりすることが当たり前になっていきます。インターネットでは、メールシステムを使ったメールニュースなども活発に行なわれています。一度、メールを利用しはじめると、メールへの依存度は高くなる一方でしょう。

メール送信のときでも、メール受信のときでも、すべてのメッセージはメールサーバを経由します。メール送信のときには、メールサーバはクライアントから渡されたメッセージを上位のメールサーバに渡します。上位のメールサーバは、宛て先からさらに別のメールサーバに渡し、こうしたバケツリレーを続けることで目的の相手にメッセージが届きます。メール受信のときには、自社サイトのメールサーバにいったんためられていて、メールクライアント(クライアントマシンで動いているInternetmailとかEudoraといったメールソフト)は、「受信」ボタンなどをクリックしたときに、「ユーザー名」と「パスワード」を使って、メールサーバにログインします。そのとき、自分宛てのメールがあれば受信するわけです。

(この部分修正 UUCPのイメージから「バケツリレーを繰り返して目的のメールサーバにメッセージが届けられる」としているが、社内のメールサーバから直接目的のメールサーバに接続して届けられているとしたほうが、正確でした。)

メールシステムでは、独自のプロトコル(TCP/IPプロトコルの上にあるプロトコル)を使って送受信しています。送信のときに使われるプロトコルがSMTP(Simple Mail Transfer Protocol)、受信のときに使われるプロトコルがPOP3(Post Office Protocol Version3)です。SMTPとPOP3は、メールソフト側を設定するときにも使われます。

メールサーバソフトにもさまざまなものがあります。インターネットのメールサーバソフト(MTA=Mail Transport Agent)として有名なのが、UNIX上で動作するsendmailです。WindowsNT版も作られていますが、安定して動作し、さらに高度な設定ができることでは定評があります。

ここでは、sendmailをベースに開発され、無償で利用でき、かつ設定が非常に簡単なInternet Mail Services(IMS)を使うことにします。IMSは、EMWAC(European Microsoft Windows NT Academic Centre)が開発したメールサーバソフトで、数人規模のネットワークなら、ダウンロードしてからインストールまで、10分ほどですんでしまうほど簡単に設定できます。

(この部分追加 現在、セキュリティの面からspamと呼ばれるメールが問題になっています。spamは無関係な第三者が、smtpサーバに使用者の制限がないことを利用して、DMメールなどを発送するものです。残念ながらIMSには、このspamに対する対策は講じられていません。IMS用のプラグインもありますが、インストールがめんどうで、また万全ではないようです。この点に注意した上でIMSを導入してください。)

(この部分さらに追加 IMSでのspamメール対策は、「EMWAC IMSで不正な中継を防ぐには」をご参考に。また、プラグインは、http://www.sica.com/freestuf/などから入手できます。)

(この部分さらにさらに追加 IMSでのSPAMメール対策用として川上勝行さんが、「EMWAC IMSでの不正中継対策 SPA SMTP Receiver」を発表されています。

川上さんのホームページ
http://www.mps.ne.jp/personal/kawa/default.htm

http://www.mps.ne.jp/personal/kawa/spa/default.htm

筆者はまだ利用していませんが、かなり高機能で使いやすいソフトウェアのようです。作者のページにはていねいに導入方法が書かれています。おすすめです。)

IMSの入手とインストール

まず、IMSをEMWACのサイト(http://emwac.ed.ac.uk/html/internet_toolchest/ims/ims.htm)からダウンロードします。表示されるページの「Obtaining and installing the software 」をクリックするとダウンロードページが表示されます。インテルCPU搭載マシンの場合には、IMSi386.ZIPを、Alpha搭載マシンにはIMSAlpha.ZIpを、以下それぞれの環境に応じたファイルをダウンロードしてください。ここでは、IMSi386.ZIPをダウンロードしました。ZIP形式で圧縮され、433KBでした。

01.gif
EMWACのサイトからIMSをダウンロードする

ZIP形式の圧縮ファイルを解凍できるツール(WinZipなど)を使って作業用ディレクトリに解凍します。ここでは、c:\tempに解凍します。解凍すると次の7つのファイルができます。

COPYRITE.TXT
ReadMe
ims.cpl
imscmn.dll
POP3S.exe
smtpds.exe
SMTPRS.exe

COPYRITE.TXTは著作権に関するドキュメント、ReadMeは開発履歴に関するドキュメントです。

ims.cplはWindowsNTのコントロールパネルのためのプログラムで、imscmn.dllは各プログラムで共通して使うDLLファイルです。このふたつのファイルは、WindowsNTがインストールしてあるディレクトリにあるsystem32ディレクトリに移動します。

POP3S.exe以下の実行ファイルはそれぞれ、POP3をサポートするサービス(POP3S.exe)、SMTPの配信(Delivery)機能を果たすサービス(smtpds.exe)、SMTPの受信(Receiver)機能を果たすサービス(SMTPRS.exe)です。

IMSをインストールしたいディレクトリを作って、それぞれのファイルを作業用ディレクトリから移動します。ここでは、c:\imsに移動します。

気を付けたいことは、IMSをインストールするディスクはNTFSでフォーマットされている必要があることです。WindowsNTは、MS-DOS時代のファイルシステムであるFAT(File Allocation Table)か、WindowsNT独自のファイルシステムNTFS(NT File System)のどちらでもインストールできるようになっています。FATを使えば、MS-DOSやWindows95からもその領域にアクセスできますが、あまり堅牢なファイルシステムではありません。また、ミラーリングの対象とならないとかMacintoshクライアントに公開できないなど、FATでは対応できないサービスもたくさんあります。WindowsNTをFATにインストールしているのでしたら、このさいNTFSに変換してしまいましょう。

さて、IMSをインストールします。コマンドプロンプトを起動して、3つの実行ファイルに「-install」というオプションを付けて実行します。アイコンをコマンドプロンプトにドラッグするとファイル名が入力されますから、続けてスペースと「-install」と入力します。それぞれ「successfully」と表示されれば、インストールは完了です。

02.gif
オマンドプロンプトから「-install」を付けて実行する

ユーザーの設定

IMSでは、送受信するファイルはいったんユーザーごとのディレクトリに格納します。そのため、メールを送受信するユーザーごとに格納用ディレクトリを作ります。まず、「mail」とでも名づけたディレクトリを作り、その中にユーザーの名前のディレクトリをすべてのユーザー分作っていきます。ここでは、c:\mailの中にoohashiというディレクトリを作りました。

このユーザーごとのディレクトリにはアクセス権を設定したほうがいいでしょう。ディレクトリの上で右クリックすると右クリックメニューにプロパティがありますから、選択します。表示されるプロパティダイアログボックスの「セキュリティ」タブをクリックして、「アクセス権」をクリックします。「ディレクトリのアクセス権」ダイアログボックスが表示されます。

まず標準で登録されてしまう「everyone」を選んで「削除」ボタンをクリックします。これで、すべてのユーザーがアクセスできる状態は回避できます。次に、各ユーザーがアクセスできるよう追加しなければなりません。「追加」ボタンをクリックすると「ユーザーとグループの追加」ダイアログボックスが表示されます。「ユーザーの表示」ボタンをクリックするとグループのリストだけでなく、ユーザー個人個人がひとりずつリストアップされるようになります。リストの中からひとりを選んで、「追加」ボタンをクリックすると「追加する名前」欄にその名前が表示されます。「アクセス権の種類」は、「フルコントロール」でいいでしょう。確認して「OK」ボタンをクリックすると「ディレクトリのアクセス権」ダイアログボックスに戻りますから、確認して「OK」ボタンをクリックします。

(この部分追加 プロパティダイアログボックスに「セキュリティ」タブが表示されないときは、そのフォルダがあるディスクがNTFS=NT File Systemでフォーマットされているかどうかを確認してください。FATでフォーマットしてあると「セキュリティ」タブは表示されません。)

03.gif
ユーザーoohashiがフルコントロールできるようにする

04.gif
ユーザーoohashiがアクセスできるようになった

これでディレクトリのアクセス権に関しては設定できましたが、そのディレクトリが各ユーザーのホームディレクトリ(ログオンディレクトリ)であることを設定しなければなりません。ログオンディレクトリの設定は、ドメインユーザーマネージャから行ないます。ドメインユーザーマネージャを起動して、設定したいユーザーをダブルクリックします。「ユーザーのプロパティ」ダイアログボックスが表示されますから、「プロファイル」ボタンをクリックします。「ユーザー環境プロファイル」ダイアログボックスが表示されますから、「ホームディレクトリ」欄の「ローカルパス」に、さきほど作ったディレクトリの名前を入力します。ここでは、「c:\mail\oohashi」と入力しました。

05.gif
「ホームディレクトリ」をメール用のディレクトリに設定する

ログオンディレクトリが正しく設定されているかどうかは、そのユーザーの名前でログオンしなおしてから、コマンドプロンプトを起動するとわかります。プロンプト表示が、「C:\mail\oohashi>」のようになっていれば、成功です。

もうひとつ設定しなければならないことがあります。メールサービスを利用するユーザーをすべて加えたグループを作り、そのグループに「バッチジョブとしてログオン」の権利を与えることです。ここでは、「IMSUsers」という名前のグループを新しく作り、oohashiを加えます。

ドメインユーザーマネージャを起動し、「ユーザー」メニューから「新しいグローバルグループ」を選びます。表示される「新しいグローバルグループ」ダイアログボックスの「グループ名」欄に「IMSUsers」と入力し、「所属しないメンバー」欄から追加したいユーザーを選んで「追加」ボタンをクリックすると、「所属するメンバー」欄にユーザー名が移動します。作業が完了したら「OK」ボタンをクリックします。

06.gif
「IMSUsers」グループを新しく作ってユーザーを登録する

続いて、「原則」メニューから「ユーザーの権利」を選びます。「ユーザー権利の原則」ダイアログボックスが表示されますから、「高度なユーザー権利の原則」をチェックします。権利メニューから「バッチジョブとしてログオン」を選び、「追加」ボタンをクリックします。「ユーザーとグループの追加」ダイアログボックスが表示されますから、さきほど作った「IMSUsers」グループを選んで「追加」ボタンをクリックします。「追加する名前」欄に「IMSUsers」が表示されていることを確認してから「OK」ボタンをクリックします。「ユーザー権利の原則」ダイアログボックスに戻りますから、「OK」ボタンをクリックします。

07.gif
「IMSUsers」グループに「バッチジョブとしてログオン」の権利を与える

以上でIMSの基本的な設定はすべて終了です。IMSの各サービスを起動しましょう。コントロールパネルのサービスアイコンをダブルクリックして、サービス一覧から「IMS POP3 Server」「IMS SMTP Delivery Agent」「IMS SMTP Receiver」の3つのサービスとも「手動」になっていると思いますが、WindowsNTの起動とともにサービスを開始するよう、「スタートアップ」ボタンをクリックして「自動」をチェックしておきましょう。また、「開始」ボタンをクリックしてそれぞれのサービスを起動させましょう。

08.gif
「サービス」タブを使って各サービスを「自動」にする

コントロールパネルから設定する

以上で、基本的な設定はすべて終了です。ただし、いくつかこまかく設定したほうがいい項目もあります。それらは、コントロールパネルにインストールされた「EMWAC IMS」アイコンから設定します。コントロールパネルの「EMWAC IMS」をダブルクリックすると管理パネルが表示されます。

09.gif
コントロールパネルにインストールされた「EMWAC IMS」をダブルクリックすると管理パネルが開く

管理パネルには、「Directories」「Misc」「Lists」「Aliases」「Logging」の5つのタブがあります。

「Directories」タブでは、ディレクトリに関する基本的な設定をします。「Mailbox Directories」は、ユーザーのメールボックスの役目を果たすディレクトリです。デフォルトで「%HOME%\INETMAIL\INBOX」が入力されています。「%HOME%」はパラメータで、「%HOME%」という名前のディレクトリではなく、先に指定したログオンディレクトリが該当します。したがって、ユーザーoohashiの場合、c:\mail\oohashiの下の「INETMAIL\INBOX」が相当します。この欄はそのままにしておけばいいでしょう。「Automatically Create Mailbox」はチェックしておきましょう。必要なディレクトリが自動的に作られます。

「Mail Spool Directory」はそのままで問題ありませんが、「Postmaster」が「administrator」になっていますから、「postmaster」とか実際の管理者の名前にしておいたほうがいいでしょう。

(この部分追加 「Postmaster」は、WindowsNTのユーザ管理にならったのか、「P」が大文字になっています。メールサーバの管理者は「postmaster」とすべて小文字にするのが慣例です。)

10.gif
「Directories」タブでは、各ユーザーのメールの送受信のためのディレクトリを指定する

「MISC」タブも「SMTP Gateway Host」は、ほかのメールサーバと中継するときのための設定です。OCNのエンドユーザーには関係ありません。「Copy local failure reports to postmaster」をチェックすると、メールに関するエラーがあったときに、先に指定した「Postmaster」宛てにIMSからメールが届くようになります。「Accept Mail For」欄は、どのドメイン名を認識するかというものですが、大規模ネットワークで、サブネットワークを使ってネットワーク自体をいくつもに分離したり、メールサーバ自体がいくつも稼動しているような場合でなければ、基本的なドメイン名だけ入力しておけばいいでしょう。ここでは、「hyperdyne.co.jp」と入力しました。

(この部分追加 「SMTP Gateway Host」の設定は、社内LAN側にファイアウォールが導入されてる場合など、セグメントが分かれているネットワークで、その橋渡しをする中継役的メールサーバがあるときに設定する項目です。)

11.gif
小規模サイトでは、このタブはほとんど設定する必要はない。ドメイン名だけ「Accept Mail For」欄に入力

「Lists」タブはメーリングリストに関する設定です。メーリングリストを主催する場合などに使えますが、ここでは省略します。

12.gif
「Lists」タブはメーリングリストを行なうときのための設定タブ

「Aliases」はユーザーの別名を定義するところです。インターネットメールでは、さまざまな慣習から、名前と名字を組み合わせたユーザー名を使ったり、スペルが違っていたりします。たとえば、oohashiではなくpoohashiにしたり、ohashiだったりすることもあります。メールを発信する人が、正確なメールアドレスを知らないで発信する場合もあります。想定されるそうした間違いのメールでも受信できるよう、ここで別名を定義しておきます。また、postmasterとwebmasterなど、インターネットでよく使われる管理者のメールアドレスも別名として登録しておけば、実際のユーザーが受信することができます。実際に定義するには、「User name」に定義したい名前を入力し、「Map to」に実際のユーザー名を入力して、「Set」ボタンをクリックします。

13.gif
「Aliases」タブでユーザー名に別名を与えてやる

最後の「Logging」タブはメールサービスに関するログをとるかどうかの設定です。すべてチェックしておきましょう。ログは、WindowsNTのsystem32の下に作られた「EMWAC\Mail」ディレクトリに作られます。このディレクトリには、「outlog」(発信したメールのログ)、「inlog」(受信したメールのログ)、「Pop3log」(受信するためにPOP3サーバにログイン/オフしたときのログ)があり、それぞれ「980620.log」というように「yymmdd.log」という名前で、一日ごとにログが記録されていきます。安定して稼動するまではログをとっておいたほうがいいでしょう。また、外部からのハッキングが起こっているかどうかも、ログから知ることができます。

14.gif
「Logging」タブはすべてチェックしておこう

ログには「B0000001234@ns.hyperdyne.co.jp」というように、受発信したメールすべてに番号がふられて記録されていきます。そのほか相手の名前や相手のメールサーバの名前なども記録されます。

すべての設定が終了したら、「OK」ボタンをクリックしてダイアログボックスを閉じます。IMSではとくに警告メッセージが表示されませんが、設定を変えた場合、IMSを再起動する必要があります。コントロールパネルの「サービス」アイコンを使って、一度停止させてから、ふたたび開始してください。

最後に、メール転送の方法を説明しましょう。メールを転送するには、「IMS.CTL」という名前のテキストファイルを作って、

[AutoForward]
ForwardTo=転送先のメールアドレス
[DElivery]
Discard=Yes/No

と記述します。「ForwardTo=」以下には、転送先のメールアドレスを記述します。「Discard=」には、「Yes」か「No」のどちらかを記述します。「Yes」にすると転送したあと、そのメールを削除します。「No」にすると転送後もそのメールは残ります。このファイルを、転送したいユーザーの「inetmail\inbox」の中に置いておけば、自動的に転送されます。

15.gif
IMS.CTLファイルの例。oohashi@mail.hyperdyne.co.jpあてに転送され、転送後のメールは削除されるようになっている

筆者は、「postmaster」と「webmaster」は、それぞれユーザーを作って転送処理しています。その場合には、メールは転送後削除するようになっています。「Aliases」では、「ohashi」が「oohashi」にマッピングされています。事情によってメール転送する場合は、あとから受信メールが社内で読めるよう、転送後も保存されるよう設定しています。

メールソフトの設定

メールを送受信するには、サーバを設定しただけでなく、Internet Mailなどのメールクライアント側も正しく設定されていなければなりません。ここでは、マイクロソフト社のInternet Mailを例に説明します。

Internet Mailを起動して、メールメニューから「オプション」を選択すると「オプション」ダイアログボックスが表示されます。このダイアログボックスの「サーバー」タブが、メール送受信のための環境設定をするところです。「サーバー」欄の「送信メール(SMTP)」と「受信メール(POP3)」には、メールサーバの名前(IPアドレスでも可)を入力します。

ここでは、どちらも「mail.hyperdyne.co.jp」と入力しました。実際のメールサーバは、「ns」という名前のマシンで稼動していますが、DNSサーバの設定で「mail」を「ns」の別名として定義しているため、「mail.hyperdyne.co.jp」は「ns.hyperdyne.co.jp」の別の名前にあたります。もちろん、「ns.hyperdyne.co.jp」としても、メールサーバにアクセスできます。なぜ、そんなややこしいことをするかと言えば、将来、DNSサーバとメールサーバを分けるといったときに、スムーズにいくからです。

「ログオン設定」欄の「アカウント名」には先に作ったユーザー名を、「パスワード」にはWindowsNTへのログオンパスワードを入力します。ただし、この欄はかならずしも入力する必要はありません。空欄のままにしておくとメールの送受信の際に、それぞれ問い合せがあって、そのつど入力することになります。つけっぱなしにすることの多いクライアントマシンでは、他人が簡単にメールの送受信をすることができますから、セキュリティ上は、そのつど入力したほうがいいでしょうが、小人数で、個人個人のマシンがあって、信頼できる仲間ばかりというなら、ユーザー名、パスワードとも登録してしまってかまいません。

16.gif
Internet Mailの「オプション」でメールサーバを設定する

「詳細設定」ボタンをクリックすると「詳細設定」ダイアログボックスが表示されます。ここでは、送信メールサーバ(SMTP)と受信メールサーバ(POP3)のポート番号が設定できます。ただし、標準でそれぞれ「25」と「110」が設定されているはずです。ポート番号は、各プロトコルで使用する出入り口のようなもので、この番号があっていないとデータの送受信が行なえません。なにか特殊な理由でポート番号を変えていなければ、どちらも標準のままにしておいてください。

17.gif
「メールサーバーの詳細設定」ダイアログボックス

メールサーバIMSとメールクライアントInternet Mailの設定が正しくされていることを確認するため、メールの送信・発信のテストを行なってください。もちろん、ネットワーク内部だけでなく、外部とも正常にやりとりできるかテストしてください。

(この部分追加 IMSをアンインストールするときには、

SMTPRS -REMOVE
SMTPDS -REMOVE
POP3S -REMOVE

とコマンドラインから実行するようです。その後、

IMS.CPL
IMSCMN.DLL
SMTPDS.EXE
SMTPRS.EXE
POP3S.EXE

のファイルを削除します。詳しくは、次をご覧下さい。

http://emwac.ed.ac.uk/html/internet_toolchest/ims/deinstall.htm

(この部分追加 IMSの非公式サポートページhttp://www1.sica.com/IMS/

(C) 1998 HyperDyne Inc.