メールサーバ構築メモ

はじめに

2005/03/02 再編集

現在の自宅メールサーバは、Courier-MTAに変えちゃったのですが、旧メールサーバ及び知り合いの会社では、qmailを使っています。

構築したときの手順&ノウハウなどを忘れないウチに書き留める為の超個人的メモです(^^;

まず、構築したメールサーバの仕様を以下に示します。

SMTP AUTHまたはPOP Before SMTPの機能があること(qmail+各種パッチ)

  • 複数バーチャルドメインに対応可能であること(vpopmail)
  • IMAP4が利用できること(Courier-Imap)
  • SPAM及び不正中継対策が万全なこと及びウィルス対策が実現できること(qmailscanner)
  • メーリングリストが構築できること(ezmlmなど)
  • WEBベースでアカウント作成および管理ができること(qmailadmin/vqregister)
  • WEBメールが動作可能なこと(いろいろ)
  • Becky2で動くこと(現在はThunderbirdですが・・)

今回のこのページは、Qmail-Toasterのページを基本に日本語化部パッチを織り交ぜたメモになっています。

現時点のQmail-Toasterでは、Qmail自体もnetqmailとしてパッチ集が入った形で提供されています。 

Ver0.77ではClamAVによりウィルススキャン、SpamAssassinによるスパム対策がオプション対応としてインストールを含めて掲載されています。

ソフトウェアの準備

前述のQmail ToasterのページのDownloadより、日本語に関係するパッチ類を除いてすべて揃っていますので、そこからダウンロードしちゃってください。

なお、Qmail Toasterの現時点での最新版は0.7.7(2005/02/17)ですが、本メモは0.42の頃のものです。
(たぶん、日本語化に際しては問題はないかと思われますが・・・)

上記以外の日本語に必要なものは、以下の通りです。

Courier-Imap TOP LEVEL FOLDERパッチ(Ver2.0.0用)

そもそもCourier-Imapのパーソナルフォルダは、INBOXの下に作るのが基本ですのでできればそのままお使いください。
メールソフト側でフォルダ位置をINBOXにしてもらればOKかと思います。
それでもINBOXと同じレベルであるトップフォルダにパーソナルフォルダを使いたい!という方の為に上記のパッチがあります。
オリジナルのパッチは、http://www.copilotconsulting.com/のMLにて掲載されていたものです。
これをZeRoがVer2.0.0用ソースを元にパッチを生成しました。
なお、なお上記のMLのアーカイブもすでに存在していません(^^;
現在のCourier-ImapはVer3.Xですので、最新版には適用できません。
が、パーソナルフォルダをTOPレベル(受信箱/INBOX)と同じレベルにどうしてもしたい場合には、Ver2.0.0をダウンロードして使ってください。
パッチを適用した際には、imaprcを以下を参考に太字の行を追加するようにしてください。

/usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \ <strong>IMAP_PERSONAL_NAMESPACE_AT_TOP_LEVEL=1; export IMAP_PERSONAL_NAMESPACE_AT_TOP_LEVEL;</strong> /usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \↓ -user=vpopmail -group=vchkpw \↓ : (省略)

インストール

インストール手順もQmail Toaserのhttp://www.shupp.org/toaster/#install ページを参考にしてください。
(常に最新なので、こちらをベースがよいでしょう)
なお、qmailのインストールには日付時刻パッチ(日本用)を充てる必要があります。
makeの前に以下のように日付時刻パッチを充てます。
(もしかするとエラーになるかも知れませんが、その場合は手作業で)

patch -p0 &gt; ../qmail-date-localtime.patch

なお、前回まで記載していた、Redhat9でのerrnoのコンパイルエラーやKerberos関連のエラーは、netqmailのパッチ集及びToasterページのInstallの部分で解決できます(Kerberos周りはよくわかりません)。

ちなみにKerberos周りの部分は、↓のようにすることだそうです。

#  NOTE: RedHat/Fedora users may need to link certain include files for the TLS patch. # Issue the command below only if make fails: ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h /usr/kerberos/include/profile.h /usr/include/
こちらでRedhat9をやったときにはKerberosやめちゃえ作戦で切り抜けました。
そのときのメモは、以下の通りです。
make-compile.shの”$CC”の後ろに-DOPENSSL_NO_KRB5を追加する

Courier-Imap+vpopmailでもCRAM-MD5を使いたい場合

vpopmailとの併用の場合、LOGIN認証はAUTH LOGINが基本です。
そこで、vpopmailでもCRAM-MD5に対応するべく修正をしてみました。(Ver3.0.8に対応しています:2004/10/3時点最新)
以下のパッチファイル(3ファイルあります)をダウンロードして、 パッチ適用後に再コンパイルからやり直してください。
なお、CRAM-MD5を利用する場合にはimap.rcのIMAP_CAPABILITYにAUTH=CRAM-MD5を追加してください。
下記のパッチは、認証レポジトリとしてファイル(通常のスタイル)を利用している場合でのパッチですが、ほかのレポジトリの場合でも内部のパスワードが平文で格納されていれば動くと思われます。(テストしていないので確実ではありません)
なお、Qmail-Toasterで扱っているCourier-Imapのバージョンは、3.0.8ですが、最新版は4.Xです。
最新版を用いる場合には、パッチがあたらないかも知れませんのでご注意ください。

 

プッシュ通知を