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

仮想ドメインとユーザーを持つ完全なメールサーバーソリューション (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - ページ 2

III. MySQLサーバーのインストールと設定 (+PostFixAdminスキーマ)

まず、sql-1.internal.example.comにMySQLサーバーをインストールする必要があります。生活を簡単にするために、MySQLコマンドラインクライアントもインストールします。これは、プロンプトで次のように入力することで実現できます:

# apt-get install mysql-server mysql-client

apt-getがインストールを完了したら、mysqlデータベースへのrootアクセスをロックする必要があります。これはmysqladminツールを使用して行います。

# mysqladmin -u root password "mypassword"

注意: mypasswordを自分の安全なパスワードに変更してください!!!

次に、仮想ユーザーとドメイン用のデータベースとユーザーを作成します。Postfix(およびDovecot)は、このデータベースへのSELECTアクセスのみを必要とすることに注意することが重要です。PostfixAdminはSELECT、UPDATE、およびINSERTを必要とします。

# mysql -uroot -p   
Enter password:   
mysql> CREATE DATABASE virtual_mail;   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-1.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-1.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-2.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-2.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> quit

注意: vmail_user_passwordとvmail_admin_passwordを自分の安全なパスワードに変更してください!!!

次に、Postfix Adminをダウンロードする必要があります。このツール自体は私たちの設定に必須ではありませんが、非常に便利で、使用されるスキーマはよく考えられています。Postfix Adminの配布tarballをダウンロードしたら、次のように解凍します:

# tar xfvz postfixadmin-2.1.0.tgz

生成されたディレクトリ内で、postfixadmin-2.1.0/DATABASE_MYSQL.TXTをお気に入りのテキストエディタで開きます。「Postfix / MySQL」セクションの下のすべての行を削除します。これらの行は初期データベースを作成しますが、私たちはすでにそれを行っています。Postfix Admin 2.1.0の場合、これらは26-39行です。

完了したら、次のコマンドで既存のMySQLテーブルにファイルをロードします:

# mysql -uroot -p virtual_mail < postfixadmin-2.1.0/DATABASE_MYSQL.TXT

注意: “Access denied for user ‘mail’@’localhost’ to database ‘mysql’”というエラーが表示された場合、行を正しくコメントアウトしていない可能性があります。パスワードを入力した後にメッセージが表示されない場合は、すべてが正常に行われました。

IV. NFSファイル共有サーバー

多くのサーバーがユーザーのMaildirフォルダーへのアクセスを必要とするため、生活を簡単にするために、NFSマウントにインストールします。Maildirの利点の1つは、NFSと互換性があることです。一方、メールボックス形式は美しくありません。幸いなことに、DebianでNFSを設定するのは、他のサービスを設定するのと同じくらい簡単です。

まず、files-1.internal.example.comにサービスをインストールします:

# apt-get install nfs-kernel-server nfs-common portmap

NFSエクスポート(共有)は、/etc/exportsファイルによって制御されます。各行は、エクスポートされるディレクトリの絶対ローカルパスで始まり、許可されたクライアントのスペース区切りリストが続きます。NFSは非常に強力ですが、ここでの詳細には触れません。私たちの目的には、次のようにすれば十分です:

/etc/exports:

/vmail mx-1.internal.example.com(ro, insecure) mx-2.internal.example.com(ro, insecure) postman.internal.example.com(rw, no_root_squash) secure-mail.internal.example.com(rw, no_root_squash)

稼働中のNFSサーバーで/etc/exportsに変更を加えた場合、次のコマンドを発行することで変更を有効にできます:

# exportfs -a

私たちのセットアップで仮想マッピングを処理するために、実際のユーザーが必要です。このソリューションでは、ユーザーID150を使用します。このユーザーIDは特別に作成された「仮想メール」ユーザー用です。標準の「mail」グループを使用し、デフォルト(Debian)のgidは8です。次のようにユーザーとディレクトリを作成できます:

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual Mailbox" vmail  
# mkdir /vmail  
# chmod 770 /vmail/   
# chown vmail:mail /vmail/ 

注意: このユーザーは、この共有にアクセスするすべてのサーバー(mx-1、mx-2、postman、files-1、secure-mail)で作成する必要があります。ユーザーが存在しない場合、ファイルアクセスエラーが発生する可能性があります。このユーザーのために単一のホストを作成するためにNISを使用することもできますが、それはこの文書の範囲外です。

Share: X/Twitter LinkedIn

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

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