CentOS下Extmail的搭建.docx
- 文档编号:14669395
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:12
- 大小:76.03KB
CentOS下Extmail的搭建.docx
《CentOS下Extmail的搭建.docx》由会员分享,可在线阅读,更多相关《CentOS下Extmail的搭建.docx(12页珍藏版)》请在冰点文库上搜索。
CentOS下Extmail的搭建
关于Error:
xzcompressionnotavailable
2015-05-3023:
56 2067人阅读 评论(0) 举报
找到原因是安装软件时错误安装了CENTOS7版本的软件导致yum不可用。
附上原文:
Your"fix"removestherepositoryentirely.Thecorrectfixistoremovethecachedfilesforepelunder/var/cache/yum/epelandtouninstalltheEPEL*7*versionoftherpmwhichisdesignedtoinstallonCentOS/RHEL7notonCentOS6.
解决方法:
[plain] viewplain copy
print?
1.gedit /root/install.log
域名及主机名
--------------------------------------
Domain:
Hostname:
--------------------------------------
数据库信息
--------------------------------------
Mysql(postfixadmin)
DBNAME===>postfixadmin
user ===>postfix
password===>postfixadmin
--------------------------------------
一、环境部署预备
1、域名及主机名设置
略……
2、配置新yum源(网易)
[root@mail~]# yum-yinstallwget
[root@mail~]# cd/etc/yum.repos.d/
[root@mailyum.repos.d]# mkdirbackup
[root@mailyum.repos.d]# mvCentOS-*backup/
[root@mailyum.repos.d]# wget
//此步骤可选,目的为今后yum安装amavisd-new、clamav等
[root@mail~]# rpm-ivhhttp:
//dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
//清空yum缓存及更新系统
[root@mail~]# yumcleanall;yumupdate-y
3、LAMP环境
[root@mail~]# yum-yinstallhttpdmysqlmysql-develmysql-serverphpphp-pecl-Fileinfophp-mcryptphp-develphp-mysqlphp-commonphp-mbstringphp-gdphp-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcpcrepcre-devel
//配置apache,并让apache支持php
[root@mail~]# vi/etc/httpd/conf/httpd.conf
AddTypeapplication/x-httpd-php.php #添加对php程序的支持
PHPIniDir"/etc/php.ini" #指定php.ini配置文件路径
DirectoryIndexindex.phpindex.html #指定首页文件类型
#取消ServerName前的注释,否则启动httpd时提示 276行
4、配置mysql,为postfixadmin准备好数据库及认证用户
[root@mail~]# servicemysqldstart\q可断开连接
[root@mail~]# chkconfigmysqldon
[root@mail~]# mysql-uroot-p
mysql>createdatabasepostfixcharactersetutf8;
mysql>grantallprivilegesonpostfix.*topostfix@localhostidentifiedby'postfixadmin';
mysql>flushprivileges;
mysql>exit
5、添加邮件虚拟用户vmail
[root@mail~]# useradd-u 2000 -d/var/vmail-c"VirtualMailuser"-s/sbin/nologinvmail
二、配置postfix
[root@mail~]# vi/etc/postfix/main.cf
#################Mainconfigure####################
hostname=
mydomain=
myorigin=$mydomain
inet_interfaces=all
#注意这里,不能设置成与hostname与mydomain一致,不然收不到邮件
mydestination=localhost
mynetworks=127.0.0.0/8
#不对client进行反向域名解析
disable_dns_lookups=yes
#允许对一个目标域名发送的邮件并发数为20个
default_destination_concurrency_limit=20
#邮件的并发进程限制(根据服务器的性能定义)
default_process_limit=50
#只监听ipv4
net_interfaces=ipv4
##################Virtualmailconfigure#######################
virtual_mailbox_domains=proxy:
mysql:
/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps=proxy:
mysql:
/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps=proxy:
mysql:
/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_base=/var/vmail
#注意uid与gid与之前的建立的vmail账号是一致的,可以用#idvmail查询
virtual_uid_maps=static:
2000
virtual_gid_maps=static:
2000
virtual_transport=dovecot
dovecot_destination_recipient_limit=1
proxy_read_maps=$local_recipient_maps$mydestination$virtual_alias_maps$virtual_alias_domains$virtual_mailbox_maps$virtual_mailbox_domains$relay_recipient_maps$relay_domains$canonical_maps$sender_canonical_maps$recipient_canonical_maps$relocated_maps$transport_maps$mynetworks$virtual_mailbox_limit_maps
################SASLSUPPORTFORCLIENTS#######################
smtpd_sasl_auth_enable=yes
smtpd_sasl_type=dovecot
smtpd_sasl_security_options=noanonymous
#以下的两个选项可以任选一个,不过必须要与dovecot一致
#smtpd_sasl_path=/var/run/dovecot/auth-client
smtpd_sasl_path=private/auth
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions=permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_unknown_sender_domain,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination
##################MailQuotaconfigure#######################
#mailtransportmaxsize:
20M
message_size_limit=20480000
#虚拟邮件用户使用的最大容量,需在postfixadmin中启用quota($CONF['used_quotas']='YES';)才生效。
virtual_mailbox_limit_maps=mysql:
/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
#Queuelifetimecontrol
maximal_queue_lifetime=1d
bounce_queue_lifetime=1d
[root@mail~]# vi/etc/postfix/master.cf
#在末尾加入LDA
dovecot unix - n n - - pipe
flags=DRhuuser=vmail:
vmailargv=/usr/libexec/dovecot/dovecot-lda-f${sender}-d${recipient
[root@mail~]# vi/etc/postfix/mysql_virtual_domains_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTdomainFROMdomainWHEREdomain='%s'ANDactive='1'
#optionalquerytousewhenrelayingforbackupMX
#query=SELECTdomainFROMdomainWHEREdomain='%s'ANDbackupmx='0'ANDactive='1'
[root@mail~]# vi/etc/postfix/mysql_virtual_alias_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTgotoFROMaliasWHEREaddress='%s'ANDactive='1'
[root@mail~]# vi/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTquotaFROMmailboxWHEREusername='%s'ANDactive='1'
[root@mail~]# vi/etc/postfix/master.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTCONCAT(domain,'/',maildir)FROMmailboxWHEREusername='%s'ANDactive='1'
三、配置postfixadmin
[root@mail~]# wget
[root@mail~]# tarzxvfpostfixadmin-2.91.tar.gz
[root@mail~]# mvpostfixadmin-2.91postfixadmin
[root@mail~]# mvpostfixadmin/var/www/html/
[root@mailpostfixadmin]# cpconfig.inc.phpconfig.inc.php.bak
[root@mailpostfixadmin]# viconfig.inc.php
$CONF['configured']=true;
$CONF['database_type']='mysql';
$CONF['database_host']='localhost';
$CONF['database_user']='postfix';
$CONF['database_password']='postfixadmin';
$CONF['database_name']='postfix';
#定义doveadm的位置,可以用#whereisdoveadm查询doveadm的位置
$CONF['dovecotpw']="/usr/bin/doveadmpw";
#定义管理员邮箱
$CONF['admin_email']='postmaster@';
#mysql密码加密类型
$CONF['encrypt']='dovecot:
CRAM-MD5';
#使用空间配额
$CONF['used_quotas']='YES';
#密码策略
$CONF['password_validation']=array(
保存,通过web访问:
http:
//yourip/postfixadmin/setup.php
将生成的函数添加到config.inc.php文件末尾中,添加个管理员账号:
比如postmaster@(添加完成后建议将setup.php这个文件进行更名,或者直接删除)
在postfixadmin添加域,以及两个测试用户zhang3、li4.
四、配置dovecot
安装
[root@mail~]# yum-yinstalldovecotdovecot-develdovecot-mysql
#主要配置
[root@vqiu~]# dovecot-n
#2.0.9:
/etc/dovecot/dovecot.conf
#OS:
Linux2.6.32-431.20.3.el6.x86_64x86_64CentOSrelease6.5(Final)ext4
auth_mechanisms=plainlogincram-md5
dict{
quota=mysql:
/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth=no
listen=*
mail_location=maildir:
/var/vmail/%d/%n
mbox_write_locks=fcntl
passdb{
args=/etc/dovecot/dovecot-sql.conf.ext
driver=sql
}
plugin{
quota=dict:
Userquota:
:
proxy:
:
quota
quota_rule=*:
storage=1G
}
postmaster_address=postmaster@
serviceauth{
unix_listener/var/spool/postfix/private/auth{
group=postfix
mode=0666
user=postfix
}
unix_listenerauth-client{
group=postfix
mode=0600
user=postfix
}
unix_listenerauth-userdb{
group=vmail
mode=0600
user=vmail
}
}
servicedict{
unix_listenerdict{
group=vmail
mode=0600
user=vmail
}
}
ssl_cert=
ssl_key=
userdb{
args=/etc/dovecot/dovecot-sql.conf.ext
driver=sql
}
protocollda{
mail_plugins=quota
}
protocolpop3{
mail_plugins=quota
pop3_client_workarounds=outlook-no-nulsoe-ns-eoh
pop3_uidl_format=%08Xu%08Xv
}
[root@mail~]# vi/etc/dovecot/dovecot-dict-sql.conf.ext
connect=host=localhostdbname=postfixuser=postfixpassword=postfixadmin
map{
pattern=priv/quota/storage
table=quota2
username_field=username
value_field=bytes
}
map{
pattern=priv/quota/messages
table=quota2
username_field=username
value_field=messages
}
[root@mail~]# vi/etc/dovecot/dovecot-sql.conf.ext
driver=mysql
connect=host=localhostdbname=postfixuser=postfixpassword=postfixadmin
#与postfixadmin中的要一致,否则出现密码不匹配的现象
default_pass_scheme=CRAM-MD5
user_query=SELECTCONCAT('/var/vmail/',maildir)AShome,2000ASuid,2000ASgid,CONCAT('*:
bytes=',quota)asquota_ruleFROMmailboxWHEREusername='%u'ANDactive='1'
password_query=SELECTusernameASuser,password,CONCAT('/var/vmail/',maildir)ASuserdb_home,2000ASuserdb_uid,2000ASuserdb_gid,CONCAT('*:
bytes=',quota)asuserdb_quota_ruleFROMmailboxWHEREusername='%u'ANDactive='1'
五、客户端测试
[内部互发,注意message_limit_size哦]
[发送至公网]
六、常见问题
Q:
邮件发送正常,无法接收邮件
A:
这个问题我也遇到过最多的,总结如下:
∙main.cf中的mydetination参数不能与myorigin相同;
∙virtual_tranport=dovecot,网上有些教程是virtual;
∙vmail的GID与UID为2000
∙/var/vmail权限问题,日志里会提示
Q:
传输附件失败
A:
没有定义最大邮件传递大小,postfix默认的传递大小查询:
[root@mail~]# postconf|grepmessage_size_limit
message_size_limit=10240000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CentOS Extmail 搭建