メールサーバー · 1 min read · Sep 28, 2025

Postfix、Courier、MySQLを使用した仮想ユーザーとドメイン (Debian Etch)

Postfix、Courier、MySQLを使用した仮想ユーザーとドメイン (Debian Etch)

Version 1.0
Author: Falko Timme

このチュートリアルは、Falko Timmeによる著作権(c) 2007です。これは、http://workaround.orgで見つけることができるChristoph Haasのチュートリアルに基づいています。このチュートリアルは、クリエイティブ・コモンズライセンス2.5またはそれ以降のバージョンの下で自由に使用できます。

この文書では、Postfixに基づいたメールサーバーをインストールする方法を説明します。これは、仮想ユーザーとドメイン、すなわちMySQLデータベースにあるユーザーとドメインに基づいています。また、Courier(Courier-POP3、Courier-IMAP)のインストールと設定を示し、CourierがPostfixが使用するのと同じMySQLデータベースに対して認証できるようにします。

結果として得られるPostfixサーバーは、SMTP-AUTHTLS、およびクォータをサポートしています(クォータはデフォルトではPostfixに組み込まれていませんので、適切にPostfixをパッチする方法を示します)。パスワードはデータベースに暗号化された形式で保存されます(私が見つけたほとんどの文書はプレーンテキストのパスワードを扱っており、これはセキュリティリスクです)。さらに、このチュートリアルでは、メールがスパムやウイルスのためにスキャンされるように、AmavisdSpamAssassin、およびClamAVのインストールもカバーしています。

このような「仮想」セットアップ(MySQLデータベース内の仮想ユーザーとドメイン)の利点は、「実際の」システムユーザーに基づくセットアップよりもはるかにパフォーマンスが良いことです。この仮想セットアップを使用すると、メールサーバーは数千のドメインとユーザーを処理できます。さらに、新しいユーザー/ドメインを追加したり、既存のものを編集したりする際にMySQLデータベースのみを扱えばよいため、管理が容易です。dbファイルを作成するためのpostmapコマンドや、Postfixの再読み込みは不要です。MySQLデータベースの管理には、phpMyAdminのようなWebベースのツールを使用できます。このhowtoでもインストールされます。3つ目の利点は、ユーザーがユーザー名としてメールアドレスを持つこと(ユーザー名+メールアドレスの代わりに)で、理解しやすく、記憶しやすいことです。

このhowtoは実用的なガイドとして意図されています。理論的な背景はカバーしていません。それらはウェブ上の他の多くの文書で扱われています。

この文書には、いかなる種類の保証もありません!このシステムを設定する唯一の方法ではないことを言いたいです。この目標を達成する方法はたくさんありますが、これが私の取る方法です。これがあなたにとって機能するという保証はありません!

1 予備ノート

このチュートリアルはDebian Etchに基づいているため、このチュートリアルを続ける前に基本的なDebian Etchのインストールを設定する必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、192.168.0.100を私のIPアドレス、server1.example.comをホスト名として使用します。

2 Postfix、Courier、Saslauthd、MySQL、phpMyAdminのインストール

Postfix、Courier、Saslauthd、MySQL、およびphpMyAdminをインストールするには、次のコマンドを実行します。

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql

いくつかの質問が表示されます:

Webベースの管理用のディレクトリを作成しますか? <– いいえ
一般的な構成のタイプは? <– インターネットサイト
メール名は? <– server1.example.com
SSL証明書が必要ですか? <– はい

3 Postfixにクォータパッチを適用する

Postfixのソースを取得し、クォータパッチでパッチを当て、新しいPostfix.debパッケージをビルドしてインストールする必要があります。

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
cd /usr/src  
apt-get source postfix

(次のコマンドで正しいPostfixバージョンを使用していることを確認してください。私の環境にはPostfix 2.3.8がインストールされています。Postfixのバージョンを確認するには、次のコマンドを実行します。

postconf -d | grep mail_version

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

server1:~# 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パッケージをインストールするには、次のコマンドを実行します。

cd ..  
dpkg -i postfix_2.3.8-2_i386.deb  
dpkg -i postfix-mysql_2.3.8-2_i386.deb
Share: X/Twitter LinkedIn

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

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