メールサーバー · 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-buildpackagedpkg-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.cfmain.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に!)
###
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。