使用Postfix,Courier和MySQL的虚拟用户和域(Ubuntu 7.10)
版本1.0
作者:Falko Timme
本教程是Falko Timme的版权所有(c)2007。 它来自Christoph Haas的教程,您可以在http://workaround.org找到。 您可以根据知识共享许可2.5或更高版本免费使用本教程。
本文档介绍如何安装基于Postfix的邮件服务器,该邮件服务器基于虚拟用户和域,即MySQL数据库中的用户和域。 我还将展示Courier(Courier-POP3,Courier-IMAP)的安装和配置,以便Courier可以对Postfix使用的相同的MySQL数据库进行身份验证。
所得到的Postfix服务器能够使用SMTP-AUTH和TLS和配额 (默认情况下,配额不会内置到Postfix中),我将显示如何适当修补Postfix。 密码以加密形式存储在数据库中(我发现大多数文档都是处理明文密码,这是一个安全风险)。 除此之外,本教程还介绍了Amavisd , SpamAssassin和ClamAV的安装 ,以便电子邮件扫描垃圾邮件和病毒。
这种“虚拟”设置(MySQL数据库中的虚拟用户和域)的优点是,它比基于“真实”系统用户的设置性能要好得多。 通过此虚拟设置,您的邮件服务器可以处理数千个域和用户。 此外,更容易管理,因为您只需在添加新用户/域或编辑现有的MySQL数据库时处理MySQL数据库。 没有更多的postmap命令来创建数据库文件,不需要再重新加载Postfix等。对于MySQL数据库的管理,您可以使用基于Web的工具,如phpMyAdmin,它也将安装在这个howto中。 第三个优点是用户使用电子邮件地址作为用户名(而不是用户名+电子邮件地址),这更容易理解和记住。
这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
本教程基于Ubuntu 7.10 Server(Gutsy Gibbon),因此您应该在继续本教程之前设置基本的Ubuntu 7.10服务器安装(例如,本教程中的第1-3页: 完美服务器 - Ubuntu Gutsy Gibbon(Ubuntu 7.10) )。 系统应该有一个静态IP地址。 我在本教程中使用192.168.0.100
作为我的IP地址,将server1.example.com
用作主机名。
确保您以root身份登录(输入
sudo su
成为root),因为我们必须以root用户身份运行本教程中的所有步骤。
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-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql
你会被问到几个问题:
MySQL“root”用户的新密码:
< - yourrootsqlpassword
创建基于Web的管理目录?
< - 不
一般类型的邮件配置:
< - 网站
系统邮件名称:
< - server1.example.com
需要SSL证书
< - 好的
Web服务器自动重新配置:
< - apache2
3应用配额补丁到Postfix
我们必须得到Postfix源代码,使用配额补丁进行修补,构建新的Postfix .deb
包并安装这些.deb
包:
apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-server-dev-8.2 po-debconf dpatch libmysqlclient15-dev lsb-release libcdb-dev libdb4.5-dev
cd /usr/src
apt-get source postfix
(请确保在以下命令中使用正确的Postfix版本。我安装了Postfix 2.4.5,您可以通过运行
postconf -d | grep mail_version
输出应如下所示:
root@server1:~# postconf -d | grep mail_version
mail_version = 2.4.5
milter_macro_v = $mail_name $mail_version
root@server1:~#
)
wget http://vda.sourceforge.net/VDA/postfix-2.4.5-vda-ng.patch.gz
gunzip postfix-2.4.5-vda-ng.patch.gz
cd postfix-2.4.5
patch -p1 < ../postfix-2.4.5-vda-ng.patch
dpkg-buildpackage
您可能会在dpkg-buildpackage
命令的末尾看到类似的警告:
(WARNING: Failed to sign .dsc and .changes file)
您可以忽略此消息。
现在我们去一个目录,这就是新的.deb
包的创建地方:
cd ..
命令
ls -l
显示可用包:
root@server1:/usr/src# ls -l
total 5424
drwxr-xr-x 19 root src 4096 2007-11-16 14:33 postfix-2.4.5
-rw-r--r-- 1 root src 222693 2007-11-16 14:30 postfix_2.4.5-3ubuntu1.diff.gz
-rw-r--r-- 1 root src 663 2007-11-16 14:30 postfix_2.4.5-3ubuntu1.dsc
-rw-r--r-- 1 root src 1783 2007-11-16 14:33 postfix_2.4.5-3ubuntu1_i386.changes
-rw-r--r-- 1 root src 1123668 2007-11-16 14:33 postfix_2.4.5-3ubuntu1_i386.deb
-rw-r--r-- 1 root src 2934634 2007-08-03 19:53 postfix_2.4.5.orig.tar.gz
-rw-r--r-- 1 root src 57055 2007-08-02 01:13 postfix-2.4.5-vda-ng.patch
-rw-r--r-- 1 root src 38078 2007-11-16 14:33 postfix-cdb_2.4.5-3ubuntu1_i386.deb
-rw-r--r-- 1 root src 133642 2007-11-16 14:33 postfix-dev_2.4.5-3ubuntu1_all.deb
-rw-r--r-- 1 root src 826202 2007-11-16 14:33 postfix-doc_2.4.5-3ubuntu1_all.deb
-rw-r--r-- 1 root src 44340 2007-11-16 14:33 postfix-ldap_2.4.5-3ubuntu1_i386.deb
-rw-r--r-- 1 root src 40118 2007-11-16 14:33 postfix-mysql_2.4.5-3ubuntu1_i386.deb
-rw-r--r-- 1 root src 39956 2007-11-16 14:33 postfix-pcre_2.4.5-3ubuntu1_i386.deb
-rw-r--r-- 1 root src 40190 2007-11-16 14:33 postfix-pgsql_2.4.5-3ubuntu1_i386.deb
root@server1:/usr/src#
选择postfix
和postfix-mysql
包,并安装它们如下所示:
dpkg -i postfix_2.4.5-3ubuntu1_i386.deb
dpkg -i postfix-mysql_2.4.5-3ubuntu1_i386.deb