完全な仮想メールサーバ/システム設定とパッケージ
システムの配備
分散サーバ環境はもはや風変わりなものではありません。複数システムに分散して配置するか、単一マシンにすべてを配置するかの選択肢があります。
任意に追加可能なパッケージ
ウェブメールやpostfixadminといったものにはウェブサーバ(apacheをお勧めします)を要するため、いずれかのインストールが必要です。ApacheおよびPHPのインストールに関する解説はwiki上にあります。
辛抱のならない方へ、apacheをphpつきでインストールするのは、適切なUSEフラグをセットしてdev-lang/phpをemergeするだけの簡単なことです。こうすればwww-servers/apacheも引き込まれます。
次のUSEフラグは最低限設定すべきでしょう:
dev-lang/php apache2 imap postgres mysql
明示的に要するのでない限り、必要なデータベースのUSEフラグのうち一つだけをインストールしてください。
そして、ただ単にdev-lang/phpをインストールします:
root #
emerge --ask dev-lang/php
必要なパッケージ
前述の apache/php とは違って、次に示すパッケージは必須です。複数のパッケージから選択する必要があるものについては、もちろん必要なものだけをインストールしてください。例えば、mysql と postgres を両方インストールしないでください(もちろん他の目的で使う場合は別です)。一部のパッケージは他のパッケージのために設定した USE フラグによって取り込まれるかもしれません。
また、パッケージがアップデートされて設定項目が変わったときには、このドキュメントの変更が必要な項目をアップデートしてください。
このドキュメントでインストール・設定されるパッケージの概要を下に示します。
Web サーバにはこれらのパッケージをインストールする必要があります:
メールサーバにはこれらのパッケージをインストールする必要があります:
- dev-db/postgresql または dev-db/mysql
- net-mail/courier-imap
- net-libs/courier-authlib
- dev-libs/cyrus-sasl
- mail-filter/amavisd-new
- mail-filter/spamassassin
- app-antivirus/clamav
- mail-mta/postfix
- mail-filter/gld
前提条件
この時点で読者のみなさんは早く完成物を手にしたくてうずうずしていることでしょう。始める前に、次の文章を熟読することを強くおすすめします。
- ドキュメントを通読してください。このドキュメントは長く、引っかかるポイントがたくさんあることでしょう。各段階に慣れ、各パッケージが果たす役割を理解することに時間をかけてください。そうすれば間違いから素早く復帰できるようになるでしょう。
- この HOWTO に含まれているパッケージのすべてが基礎的なメールサーバを動作させるのに必要なわけではありません。SMTP 認証、Web 管理ツール、スパムフィルタリングなどは、メールサーバを提供するのに絶対に必要なものではなく、あったらうれしいなというものです。ドキュメントを先に読んで、どれが必要になるか、どれをインストールする労力を省けるか、事前に調べておいてください。
- 他の HOWTO と同じく、このドキュメントも、システムのすべてがあるべき場所にあり、各段階での作業がすべてうまくいっていることを前提としています。現実にはうまくいかないこともあるでしょうが、そういうときは、Web は起こりうる問題を解決するのに非常に役立つリソースとなることでしょう。
- すべてをテストするには、少なくとも 1 つのドメイン(仮想ドメインをテストするには 2 つあるといいでしょう)と、MX レコードが適切に設定されていることが必要になります。世界には多くの DNS の選択肢が存在し、複数ドメインと DNS サービスサポートを含めても年間 $10 もかかりません。ケチケチせずに投資して人生をもっとシンプルにしていきましょう。
- パッケージを emerge した後のすべてのメッセージによく注意してください。インストール開始時のマシンの状態によっては、コンフィグファイルを更新する必要が出てくるかもしれません。dispatch-conf か etc-update を使ってこれを解決してください。システムに対する依存度が高いので、これに対処するのは HOWTO の範囲外とします。
- システムが最新の状態であることを確認してください。開始する前に、と
root #
emerge --sync
を完了しておいてください。新しいユーティリティと古いアプリケーションを混ぜることにより問題が発生するかもしれません。root #
emerge -uDNva @world
最後に、何度もやり直しせずに済むように、コンパイルを開始する前に /etc/portage/make.conf ファイルの USE フラグ変数を確認してください。フラグが誤設定されていると、ほとんどの場合、必要なサポートを組み込むためにあとで再コンパイルする羽目になります。
USE フラグ | 説明 |
---|---|
authdaemond
|
courier-imap に必要です。 |
bzip2
|
ウイルススキャナに必要です。 |
clamdtop
|
ClamAV の 'top' のようなツール。clamav が動作することによってメールサーバに負荷がかかるとき、clamdtop は助けになるでしょう。 |
crypt
|
PHP のための暗号関数。Web インターフェースでパスワードを扱うのに必要になります。 |
geoip
|
spamassassin 他のための IP 地理情報マッピング。 |
imap
|
クライアントが E メールにアクセスするために、この HOWTO が提供する主要インターフェースのうちのひとつ。 |
ipv6
|
システムが IPv6 接続を持っているなら、これを有効化してください。広くテストされていて、Postfix、Courier、Apache では良好に動作します。 |
maildir
|
Postfix によってサポートされている maildir フォーマットを選択してください(Postfix を選択する理由のひとつです)。 |
mbox
|
mbox は絶対に使わないでください。 |
mysql
|
mysql サポートを好むならこれを有効化してください。 |
postgres
|
postgres サポートを好むならこれを有効化してください。 |
sasl
|
Simple Authentication and Security Layer です。強くおすすめします。 |
spamassassin
|
スパムフィルタリングが必要ならおすすめします。 |
spell
|
PHP のためのスペルチェッカ。webmail によって使用されます。 |
ssl
|
Secure Socket Layer 接続。強くおすすめします。 |
urandom
|
cyrus-sasl によって使用されます。強くおすすめします。 |
vda
|
Postfix のクォータサポート。Virtual delivery agent quota enforcing のサポートを追加します。現在 portage で stable な Postfix 3.0 にはサポートがありません。 |
vhosts
|
仮想ホストのサポート。強くおすすめします。 |
正しく USE フラグが設定されていれば、mail-mta/postfix を emerge するだけでほとんど、あるいはすべての正しいパッケージが取り込まれるでしょう。
root #
emerge --ask postfix