如何使用Postfix,Dovecot,MySQL,phpMyAdmin,TLS / SSL在Centos 5.0上配置虚拟用户/域的ISP邮件服务器
供稿人:Eliufoo C. Mahinda
从精神Minion中解放自己;
只有我们自己才能解放我们的思想。
- 罗伯·马利
致谢:
Babaraleem,如何使用Postifix,Dovecot,MySQL,phpMyAdmin,TLS / SSL在虚拟用户/域上配置ISP邮件服务器的原始作者。
url:http: //www.youcl.com/virtual-users-and-domains-postfix-dovecot-mysql-centos4.5
我决定更新和添加额外的信息,在Babaraleem在线发现的教程,以进一步协助Postfix新手。 当我设置我自己的邮件服务器时,我经历了一个困难的时间跟进一个过时的howto。 我花了很长时间的故障排除,谷歌搜索和阅读其他教程和Postfix文档。 最后的结果是这个howto。
您可能会发现,大多数教程/ howto的在线发现包含关于如何验证和测试服务器配置的非常有限的信息,您将不得不寻找另一个文档来了解如何测试您的服务器。 我希望在这个howto收集的信息将会有所帮助。
本文将介绍如何使用Postfix,Dovecot,RoundCube,Virtual Users / Domain和phpAdmin在Centos 5上设置电子邮件服务器。 我也在Fedora Core 6上做了类似的设置。我最好的建议是首先在工作站上进行设置,然后在设置服务器并进行实时之前先进行测试。
如果您正在寻找有关正在发生的事情的完整解释,那么请阅读每个程序的文档,这个方面的内容并不详细。 这只是一步一步的指导,让你开始运行。 您可以使用apt / yum来安装软件。
此howto的内容分为三个阶段,编译/安装,配置和验证您的配置。
预配置要求:
主机名为mail.example.co.tz
,其IP地址为( 192.168.49.81
)到eth0。 (您可以分配您选择的IP地址和主机名。)
2.创建一个别名eth0:0。 分配IP地址( 192.168.49.81
)。 (您可以分配您选择的IP地址。)
3.在/ etc / hosts
中输入您的主机名和IP。 在我的例子中,我的/ etc / hosts
文件显示
127.0.0.1 localhost.localdomain localhost 192.168.49.80 dns.example.co.tz dns 192.168.49.81 mail.example.co.tz mail
安装所需的软件包:
我们需要安装以下软件包:Cyrus-sasl for SMTP AUTH
说明:基本的SMTP协议不提供验证用户的机制。 由于电子邮件信箱地址容易伪造,您无法知道谁将邮件发送到您的服务器,除非您有可靠的方式来验证客户端。 要允许您的服务器上的邮件转发权限,您需要确保发件人是他们声称是谁,您不能依赖发件人的电子邮件地址作为身份验证。 在本节中,我们将考虑安装和验证简单认证和安全层(SASL)的包装,以此作为控制邮件转发的方式,并通常识别谁正在使用邮件服务器。
yum -y install cyrus*
以下软件包将被安装。
rpm -qa | grep cyrus
cyrus-sasl-sql-2.1.22-4
cyrus-sasl-2.1.22-4
cyrus-sasl-devel-2.1.22-4
cyrus-sasl-md5-2.1.22-4
cyrus-sasl-ntlm-2.1.22-4
cyrus-sasl-ldap-2.1.22-4
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-gssapi-2.1.22-4
cyrus-sasl-lib-2.1.22-4
我们至少需要安装以下软件包才能使Cyrus-SASL和Postfix工作,Postfix可以在需要使用SASL支持进行编译时获得需要的信息:
cyrus-sasl-2.1.22-4
cyrus-sasl-authd-2.1.22-4
cyrus-sasl-devel-2.1.22-4
那么在验证用户时,您必须至少选择以下机制之一:
cyrus-sasl-gssapi-2.1.22-4
cyrus-sasl-md5-2.1.22-4
cyrus-sasl-plain-2.1.22-4
安装用于TLS支持的openssl
描述:
TLS(以前称为SSL)代表传输层安全性。 一旦这个层被建立,它加密两个主机之间的通信。 如果我们使用SMTP AUTH,PLAIN或LOGIN用户名和密码通过互联网发送明文。 这意味着任何人都可以嗅探通信并阅读密码。 如果你不想要这个 - 我确信你没有 - 你可以使用TLS来帮助。
yum install -y openssl openssl-devel mod_ssl
验证所需的软件包是否已安装。
rpm -qa | grep openssl
openssl097a-0.9.7a-9
openssl-0.9.8b-15.fc6
mod_ssl-2.2.6-1.fc6
openssl-perl-0.9.8b-15.fc6
openssl-devel-0.9.8b-15.fc6
安装dovecot
如果您在dovecot之前安装了postfix,那么由于软件包冲突,dovecot将不会安装在您的系统上。
描述:
Dovecot是面向Linux / UNIX的系统的开源IMAP和POP3服务器,主要考虑安全性。 这将安装dovecot以及依赖关系(mysql和postgresql)。
yum install -y dovecot
使用MySQL,TLS和SASL支持(+ LDAP)下载,编译和安装Postfix。
说明:我假设你已经知道postfix是什么,不会解释它是什么。
解压Postfix:
tar zxvf postfix-2.5.2.tar.gz
将目录更改为postfix根目录:
cd postfix-2.5.2/
使用MySQL,TLS,SASL支持编译Postfix:
注意:您需要安装db4-packages。
make makefiles \
CCARGS='-DUSE_SASL_AUTH -DHAS_SSL -DHAS_MYSQL -DHAS_LDAP -DUSE_CYRUS \
-I/usr/include/sasl -I/usr/include/openssl \
-I/usr/include/mysql -I/usr/include' \
AUXLIBS='-L/usr/lib -L/usr/lib/openssl/engines \
-L/usr/lib/mysql -L/usr/lib \
-lsasl2 -lcrypto -lssl -lmysqlclient -lz -lm -lldap -llber \
-Wl,-rpath /usr/lib/mysql -Wl,-rpath /usr/lib \
-Wl,-rpath /usr/lib/openssl/engines'
make install
注意:有关编译器参数的进一步说明,请参阅附录A.
我们将尽快验证功能是否已经用postfix编译。