秀米云香港服务器

之前一直使用Postfix+Courier+Sasl+Extmail 邮件服务器方案,并配置了MailDrop 做邮件转发和Mailman邮件列表,在两年多时间里,运行良好。可是现生产环境使用Nginx 越来越多,为了一个Webmail 单独配置Apache+Perl 资源开销大,Courier+Sasl 配置也相对比较繁琐,抽了两天时间,结合网上一些实例,对邮件服务器做了一些改进。

Dovecot 不仅可以做POP3,IMAP服务器,也可以用来做SMTP验证,省去了Cyrus Sasl,并且效率资源占用也相对Courier 好很多,同时支持LOGIN验证方式,可以满足Outlook,Foxmail 客户端登录访问,本文配置了SMTP发件认证,POP3接收认证,WEBMail功能,邮件转发,防病毒未有进行配置。

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

软件包说明:Postfix-2.8.12.tar.gz Postfix MTA(邮件传输代理)Dovecot-2.1.8.tar.gz IMAP 和 POP3 邮件服务器Postfixadmin-2.3.5.tar.gz 采用PHP编写的开源WEB邮箱及域名账号管理工具Roundcubemail-0.8.1.tar.gz 采用PHP编写的开源IMAP邮件WEB客户端

1.准备工作:安装配置在 CentOS 6.3 x64 最小化安装环境上进行,先安装好 Nginx(Apache)+PHP+MySQL,Roundcube 需要PHP IMAP扩展支持,如果在编译PHP时没开启IMAP支持,可以用下面的方法添加扩展

#yuminstalllibc-client-devellibc-client

安装 php-imap 扩展依赖的的廉包进入到php源码包 imap 扩展库路径下 如 /opt/php-5.3.12/ext/imap 执行

#/usr/local/php/bin/phpize#./configure--with-php-config=/usr/local/php/bin/php-config--with-kerberos--with-imap-ssl

检查系统配置过程中国如果提示出错,可以尝试将libc-client 库做个链接到lib下

#ln-s/usr/lib64/libc-client.so/usr/lib/libc-client.so#make&&makeinstall

安装后修改 php.ini 的 extension_dir路径 ,并加入 extension=”imap.so” 扩展卸载系统自带的sendmail 或 postfix

#yumremovesendmailpostfix

2. 编译安装Postfix

#yum-yinstalldb4-devel//安装依赖的DB4开发包#useradd-M-s/sbin/nologinpostfix#useradd-M-s/sbin/nologinpostdrop//添加Postfix,maildrop用户#tarzxfpostfix-2.8.12.tar.gz#cdpostfix-2.8.12/#makemakefiles'CCARGS=-DHAS_MYSQL-I/usr/local/mysql/include-DUSE_SASL_AUTH-DDEF_SERVER_SASL_TYPE="dovecot"''AUXLIBS=-L/usr/local/mysql/lib-lmysqlclient-lz-lm-lssl-lcrypto'//如果MySQL安装在其他路径,请注意修改MySQLInclude和lib路径#make#makeinstall

安装路径和参数配置install_root:/ //相对目录tempdir: /tmp //临时目录config_directory:/etc/postfix//配置文件位置command_directory /usr/local/postfix/sbin //命令执行路径daemon_directory/usr/local/postfix/libexec //Daemon路径data_directory/var/lib/postfix //邮件数据html_directory no mail_owner postfix //postfix 所有者账号mailq_path /usr/bin/mailq//mailq 位置manpage_directory /usr/local/postfix/man//帮助文档newaliases_path /usr/bin/newaliases//newaliases 位置queue_directory /var/spool/postfix//队列路径readme_directory nosendmail_path /usr/sbin/sendmail //Sendmail 路径setgid_group: postdrop

3.配置Postfix# vi /etc/postfix/main.cf 查找并修改 mynetworks = all 否则SMTP发件认证不生效在最底部添加虚拟邮箱配置和验证设置

#Virtualmailboxsettings.virtual_mailbox_base=/var/vmailvirtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cfvirtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cfvirtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cfvirtual_uid_maps=static:邮件POSTFIX用户IDvirtual_gid_maps=static:邮件POSTFIX组IDvirtual_transport=virtualmessage_size_limit=10240000virtual_mailbox_limit=209715200virtual_create_maildirsize=yesvirtual_mailbox_extended=yesvirtual_mailbox_limit_maps=mysql:/etc/postfix/mysql_virtual_limit_maps.cfvirtual_mailbox_limit_override=yesvirtual_maildir_limit_message=Sorry,theuser'smaildirhasexceededthequota.virtual_overquota_bounce=yes#SASLsettingssmtpd_sasl_auth_enable=yessmtpd_sasl_local_domain=$mydomainsmtpd_sasl_security_options=noanonymoussmtpd_sasl_type=dovecotsmtpd_sasl_path=/var/lib/dovecot/run/dovecot/auth-loginbroken_sasl_auth_clients=yessmtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_invalid_hostname,reject_non_fqdn_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient

virtual_uid_maps 和 virtual_gid_maps 改成postfix 用户的uid和gid 如果不知道ID,可用 id postfix 命令获取

添加数据库查询配置文件,根据需要修改数据库用户名密码,主机名,数据库名配置信息,在后面创建MYSQL数据库,登录用户的时候需要用到。

建立数据库别名查询配置文件vi /etc/postfix/mysql_virtual_alias_maps.cf

user=postfixpassword=postfixpasswordhosts=localhostdbname=postfixtable=aliasselect_field=gotowhere_field=addressadditional_conditions=andactive='1'#query=SELECTgotoFROMaliasWHEREaddress='%s'ANDactive='1'

建立数据库虚拟域查询配置文件vi /etc/postfix/mysql_virtual_domains_maps.cf

user=postfixpassword=postfixpasswordhosts=localhostdbname=postfixtable=domainselect_field=domainwhere_field=domainadditional_conditions=andactive='1'#query=SELECTdomainFROMdomainWHEREdomain='%s'ANDactive='1'

建立数据库邮箱配额查询配置文件vi /etc/postfix/mysql_virtual_mailbox_limit_maps.cf

user=postfixpassword=postfixpasswordhosts=localhostdbname=postfixtable=mailboxselect_field=quotawhere_field=usernameadditional_conditions=andactive='1'#query=SELECTquotaFROMmailboxWHEREusername='%s'ANDactive='1'

建立数据库虚拟邮箱查询配置文件vi /etc/postfix/mysql_virtual_mailbox_maps.cf

user=postfixpassword=postfixpasswordhosts=localhostdbname=postfixtable=mailboxselect_field=CONCAT(domain,'/',maildir)where_field=usernameadditional_conditions=andactive='1'#query=SELECTCONCAT(domain,'/',maildir)FROMmailboxWHEREusername='%s'ANDactive='1'

启动postfix

#/usr/local/postfix/sbin/postfixstart

4.安装 Dovecot

#tarzxfdovecot-2.1.8.tar.gz#cddovecot-2.1.8#./configure--prefix=/usr/local/dovecot--sysconfdir=/etc--localstatedir=/var--with-sql--with-mysql--with-zlib--with-sslLDFLAGS=-L/usr/local/mysql/lib//指定安装及配置文件路径//如果mysql安装在其他位置,需要手动指定mysqllib库路径#make#makeinstallcp-r/usr/local/dovecot/share/doc/dovecot/example-config/*/etc/dovecot///复制配置文件示例到配置文件夹中,此步骤不是必须的,只是方便查阅,后面的配置不会用到这些文件

5. 配置 Doevcotmv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.old如果复制了示例配置,先改名备份vi /etc/dovecot/dovecot.conf建立新配置文件,加入以下内容,此配置文件只适用于 Doevcot 2.x 不能用于1.x

rotocols=pop3imap#开启pop3imaplisten=*default_login_user=postfixdefault_internal_user=postfix#使用postfix用户disable_plaintext_auth=nolog_path=/var/log/dovecot.log#日志路径#info_log_path=/var/log/dovecot.infolog_timestamp="%Y-%m-%d%H:%M:%S"ssl=nomail_location=maildir:/var/vmail/%d/%u#邮件存储路径mail_privileged_group=mailfirst_valid_uid=502#postfix用户UIDprotocolpop3{pop3_uidl_format=%08Xu%08Xv}auth_mechanisms=plainloginpassdb{driver=sqlargs=/etc/dovecot/dovecot-mysql.conf}userdb{driver=sqlargs=/etc/dovecot/dovecot-mysql.conf}#用于SMTP验证serviceauth{unix_listener/var/spool/postfix/private/auth{group=postfixuser=postfixmode=0660}}

建立MYSQL 配置文件,注意修改连接用户名密码,和前面的postfix配置一致vi /etc/dovecot/dovecot-mysql.conf

driver=mysqlconnect=host=localhostdbname=postfixuser=postfixpassword=postfixpassworddefault_pass_scheme=MD5-CRYPTpassword_query=SELECTpasswordFROMmailboxWHEREusername='%u'user_query=SELECTmaildir,502ASuid,502ASgidFROMmailboxWHEREusername='%u'

建立邮箱文件夹,并给予postfix 用户权限mkdir -pv /var/vmailchown -R postfix.postfix /var/vmail

启动服务/usr/local/dovecot/sbin/dovecot

6.安装配置 Postfixadmin解压 postfixadmin.tar.gz 并复制到站点目录下面修改 config.inc.php 文件,参考下面的配置进行,这里的数据库用户名密码均和前面的配置一致

$CONF['configured']=true;$CONF['default_language']='en';$CONF['database_type']='mysql';$CONF['database_host']='localhost';$CONF['database_user']='postfix';$CONF['database_password']='postfixpassword';

登录mysql 控制台建立postfix数据库,并建立一个postifx用户指定对 posfix 数据库本地访问权限

>createdatabasepostfix;>grantallprivilegesonpostfix.*topostfix@localhostidentifiedby'postfix密码';>flushprivileges;>exit

配置完成后执行 http://ip地址/postfixadmin/setup.php 进行安装安装后将 修改配置密码,把得到的 加密 密码字串复制并再次修改config.inc.php 文件$CONF['setup_password'] = ‘密码字串’;然后在页面上输入配置密码,并建立管理员账号,完成后 删除 setup.php登录 http://ip地址/postfixadmin 可以建立虚拟域和邮箱如图所示

7. 配置RoundCube解压 roundclube.tar.gz 并放置在网站目录下登录mysql 控制台建立roundcube数据库,并建立一个roundcube用户指定对 roundcube数据库本地访问权限

>createdatabaseroundcube;>grantallprivilegesonroundcube.*toroundcube@localhostidentifiedby'roundcube密码';>flushprivileges;>exit

打开浏览器 http://yourdomain/webmail/installer/填写配置后将 main.inc.php 配置 和 db.inc.php 配置复制并覆盖 config/ 下对应文件即可

标题:Postfix+Dovecot2.x+Postfixadmin+Roundcube邮件服务器

地址: https://www.yunhk.xyz/25524.html