メールサーバー · 1 min read · Oct 06, 2025

フルメールサーバーソリューション w/ バーチャルドメインとユーザー (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - ページ 3

IV. メール交換サーバーでのPostfix

A. Postfixの再構築

Debian Etchディストリビューションに含まれるPostfixのバージョンは、クォータサポートが壊れています。クォータが機能するように再構築する必要があります。この再構築プロセスは、実際の本番MXサーバーでは行わないでください。ビルドタスクを実行するために、横に別のサーバー(またはXenの別の仮想マシン)を用意してください。このタスク用のサーバーはbuild.internal.example.comです。そのサーバーに必要なビルドツールをインストールします:

# apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev

次に、Postfixパッケージのソースをダウンロードします:

# cd /usr/src   
# apt-get source postfix

注意: 次のコマンドを使用して、正しいPostfixバージョンを使用していることを確認してください!これはPostfix 2.3.8に対して書かれています。現在実行中のPostfixバージョンを確認するには、プロンプトで次のように入力します:

# postconf -d | grep mail_version

出力は次のようになります:

# postconf -d | grep mail_version   
  mail_version = 2.3.8   
  milter_macro_v = $mail_name $mail_version 

すべてが正常で(正しいバージョンを持っている場合)、クォータパッチを取得します:

# wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz

次に、パッチを解凍し、新しいソースコードに適用する必要があります:

# gunzip postfix-2.3.8-vda.patch.gz  
# cd postfix-2.3.8  
# patch -p1 < ../postfix-2.3.8-vda.patch

そして最後に、パッチを適用したパッケージを再構築します:

# dpkg-buildpackage

dpkg-buildpackageコマンドの最後に次のような警告が表示されることがあります:

(Warning: Failed to sign .dsc and .changes file)

このメッセージは無視しても安全です。

この新しい再構築により、複数のパッケージがビルドされます。postfix_2.3.8-1_i386.debとpostfix-mysql_2.3.8-2_i386.debをメールエクスチェンジャー(MX-1およびMX-2)にコピーします。これでインストールの準備が整いました!

B. Postfixのインストール

Debianベースのシステムを使用しているため、Postfixのインストールは簡単です。このサブセクションでは、メールエクスチェンジャー1(mx-1.example.com)で作業していると仮定しています。MX-2で作業している場合は、構成ファイル内のサーバー名を交換するだけで、問題なく進めるはずです。次のコマンドを実行してインストールを開始します:

# dpkg -i postfix_2.3.8-2_i386.deb  
# dpkg -i postfix-mysql_2.3.8-2_i386.deb

自動構成がインストール中にPostfixに関する質問をしてきた場合は、「No Configuration」を選択してください(このガイドを使用しているので、自分で構成します!)

dpkgは、Postfixのすべての構成ファイルを/etc/postfixにインストールしますので、そこに移動し、main.cfファイルを作成します:

# cd /etc/postfix  
# touch main.cf

main.cfファイルは、2つの異なる方法で編集できます。お気に入りのテキストエディタを使用するか、組み込みのPostfixツールpostconfを使用できます。私たちはすでにIV.Aのサブセクションでバージョンを確認するためにpostconfを一度使用しました。

postconfツールの本当の利点は、いくつかの組み込みエラーチェックがあり、キャリッジリターン、改行、奇妙な引用符などによる「奇妙さ」の可能性を排除することです。このガイドではこれを使用しますが、必ずしも必要ではありません。

基本情報を入力することから始めます:

# postconf -e 'myhostname = mx-1.example.com'  
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'  
# postconf -e 'biff = no'  
# postconf -e 'append_dot_mydomain = no'  
# postconf -e 'myorigin = example.com'  
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'  
# postconf -e 'mynetworks = 127.0.0.0/8'   
# postconf -e 'recipient_delimiter = +'  
# postconf -e 'inet_interfaces = all'  
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \  
    $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \  
    $virtual_mailbox_domains $relay_recipient_maps $relay_domains \  
    $canonical_maps $sender_canonical_maps $recipient_canonical_maps \  
    $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

これで、標準のUnixユーザーを使用して完全に機能するメールサーバーを実行するために必要なすべてが揃いました。標準のUnixユーザーを使用したくないので、このファイルはかなり編集することになります。ただし、example.comを自分のドメインに変更することを忘れないでください!(そして、2台目のサーバーではmx-1をmx-2に!)

###

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。