一、 安装邮件服务器相关软件包
OS:Red Hat Enterprise5
postfix 发信服务器
dovecot 收信服务器
rpm -ivh postfix-2.1.5-2.3.RHEL4.1.i386.rpm (第三张盘上)
rpm -ivh dovecot-0.99.11-2.EL4.1.i386.rpm (第二张盘)
(建议:因为rpm包的依赖很多,所以建议在安装系统的时候就把postfix安装起。顺便建议不要开防火墙!)
安装dovecot-1.0-1.2.rc15.el5.i386.rpm时提示缺
libmysqlclient.so.152009-03-03 23:34
[root@localhost ~]# rpm -ivh /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm
warning: /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
libmysqlclient.so.15 is needed by dovecot-1.0-1.2.rc15.el5.i386
libmysqlclient.so.15(libmysqlclient_15) is needed by dovecot-1.0-1.2.rc15.el5.i386
解决方案:
如果出现以上提示,需要安装以下两个软件包(均在第二张光盘中):
[root@localhost ~]# rpm -ivh /mnt/Server/perl-DBI-1.52-1.fc6.i386.rpm
warning: /mnt/Server/perl-DBI-1.52-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:perl-DBI ########################################### [100%]
[root@localhost ~]# rpm -ivh /mnt/Server/mysql-5.0.22-2.1.i386.rpm
warning: /mnt/Server/mysql-5.0.22-2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:mysql ########################################### [100%]
有的人可能还会提示:
libpq.so.4 is needed by dovecot-1.0-1.2.rc15.el5.i386
则还需要安装:
[root@localhost ~]# rpm -ivh /mnt/Server/postgresql-libs-8.1.4-1.1.i386.rpm
warning: /mnt/Server/postgresql-libs-8.1.4-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:postgresql-libs ########################################### [100%]
以上3个软件包都在第二张光盘中,安装后即可安装dovecot
[root@localhost ~]# rpm -ivh /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm
warning: /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:dovecot ########################################### [100%]
二、 启动服务
启动dovecot服务:#service dovecot start
启动postfix服务:#service postfix start
(注意:
- 如果postfix服务启动不了,并且无任何提示,则要先停止sendmail服务“service sendmail stop”,然后再启动
postfix服务,最好就是不要安装sendmail或者是删除sendmail。 - 如果出现“listen(995):Address already in use”的错误报告,则可以使用命令“lsof –i:995”来查看使用995的
程序,例如发现是rpc.statd,则可以用“service nfslock stop”来停止。)
三、 修改dovecot配置文件:
#vi /etc/dovecot.conf
将这句注释掉
protocols = imap imaps pop3 pop3s
四、 修改postfix 配置文件:
#vi /etc/postfix/main.cf
去掉下面这些的注释,并填上相应的信息
myhostname =服务器的主机名
(用hostname查看,例如:localhost.localdomain)
mydomain =服务器的域名(就是即将用作服务器的域名,例如:mkdovecot.com) myorigin = myhostname, localhost. mydomain mynetworks = 服务器的ip地址
保存退出
五、 重启服务:
service postfix restart
service dovecot restart
六、 测试服务器(关掉防火墙)
telnet 主机名(或者是服务器IP、127.0.0.1) 25
telnet 主机名(或者是服务器IP、127.0.0.1) 110
查看上面是否显示成功,此服务器已可以正常收发信件,这里已经配置好一台邮件服务器了,只不过是没加密的。要加密的
话,就继续吧
七、 配置安全证书
- 建立服务器密钥
cd /etc/httpd/conf
rm ssl./server.
#mkdir ssl.key ssl.csr ssl.crt
/usr/bin/openssl genrsa -des3 1024 > /etc/httpd/conf/ssl.key/server.key
openssl rsa -in ssl.key/server.key -out ssl.key/server.key
- 建立服务器公钥
/usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key -out /etc/httpd/conf/ssl.csr/server.csr
- 建立服务证书
openssl x509 -in ssl.csr/server.csr -out ssl.crt/server.crt -req -signkey ssl.key/server.key -days 365
- 配置ssl (此项主要是为了验证ssl是否配置成功,可跳过不做)
vi /etc/httpd/conf.d/ssl.conf 把DocumentRoot “/var/www/html” 前注释去掉
- 重启服务
service httpd restart
- 测试apache和安全认证。
在网址处输入:https://localhost或者https://127.0.0.1
八、 配置postfix - 编辑postfix的main.cf
vi /etc/postfix/main.cf 在末尾添加:
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
smtpd_tls_cert_file=/etc/httpd/conf/ssl.crt/server.crt
smtpd_tls_key_file=/etc/httpd/conf/ssl.key/server.key
2) 编辑master.cf
vi /etc/postfix/master.cf 去掉下面三行的注释:
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode = yes
–o smtpd_sasl_auth_enable = yes
把smtp inet n - n - - smtpd注释掉
3) 编辑 dovecot.conf
vi /etc/dovecot.conf
将protocols = imap pop3改成 protocols = imap imaps pop3 pop3s并且去掉注释。
去掉ssl_disable = no的注释使其生效。
修改ssl_cert_file = /etc/httpd/conf/ssl.crt/server.crt
ssl_key_file = /etc/httpd/conf/ssl.key/server.key
九、 开启saslauthd服务
#service saslauthd start(开启此服务为能通过“smtp服务器需要身份验证”) 重启服务和网络。(dovecot,
postfix,networks)
注:smtps的端口是465 pops的端口是995
十、 windows 客户端用Outlook Express 测试
附:
telnet 25号端口出现Connection closed by foreign host的解决方案
将/etc/postfix/main.cf文件里面的mynetworks那一行用#注释掉