基于软件配置高效的邮件器_第1页
基于软件配置高效的邮件器_第2页
基于软件配置高效的邮件器_第3页
基于软件配置高效的邮件器_第4页
基于软件配置高效的邮件器_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

{售后服务}基于系统配置高效的邮件服务器目录摘要3Abstract4前言51.关于邮件系统相关协议61.1SMTP协议61.2POP3协议61.3IMAP4协议61.4HTTP协议和HTML语言61.5MIME协议61.6LDAP协议62.qmail的工作原理和配置文件的设置72.1qmail和相关的服务72.2email投递邮件进程流程72.3qmail环境变量82.4qmail控制文件82.5改变MUA程序接口102.6建立qmailsmtp功能103.Qmail的安装和配置123.1Qmail的前期准备123.1.1系统安装123.1.2设置DNS123.1.3卸载已有的邮件系统123.1.4软件包介绍123.1.5实现的功能133.2软件包的安装133.2.1设置Mysql133.2.2apache的安装133.2.3php的安装133.2.4daemontools的安装143.2.5ucspi-tcp的安装143.2.6qmail的安装143.2.7vpopmail的安装173.2.8iGenus安装193.2.9iGenus_Admin的安装203.2.10SqwebMail的安装213.2.11Autorespond&Ezmlm的安装223.2.12qmailadmin的安装223.2.13Clamav的安装233.2.14测试254.ucspi-tcp的原理和设置265.vpopmail和qmailadmin对用户的管理295.1vpopmail功能简介295.2vpopmail的安装设置295.3vpopmail使用315.4qmailadmin的介绍325.5qmailadmin的使用325.5.1登陆325.5.2邮件账号管理325.5.3别名设立界面325.5.4转发管理界面335.5.5自动回复管理界面336.具体的功能与实现346.1添加域346.2管理者界面356.3管理者对邮件账号管理366.4创建邮件帐号376.5对的用户进行修改376.6普通用户通过sqwebmail进入用户界面366.7总结38结束语39参考文献40致谢41基于Linux系统配置高效的Qmail邮件服务器摘要在深入探索qmailqmail的基础架构是重要的。Qmail经常被仅仅归类为一个邮件服务器软件包这可能只在某一点上是正确的,将qmail考虑为一个邮件分发体系会更加准确,这个体系结构的构建者为这个体系的所有组件深入的提供了一些基础接口。Qmail是非常模块化的——它包含了一系列通过特定且受限的接口来互相沟通的简单程序每个简单的程序都有一个特定且受限的任务需要完成这个体系结构允许每个组件都被容易的替代或让新的程序插入到基础组件之中。本文将是用GNU下的一个著名的自由软件Qmail在Linux平台上配置一套功能完整、高效的邮件系统并通过Web页面轻松完成用户管理和邮件系统的配置工作这里将以qmail作为smtpvpopmail实现实现虚拟域管理用mysqlqmailadmin通过Webezmlmigenus来提供一个友善的webmail界面,Clanav则为此邮件系统提供杀毒模块。关键词:Qmail;mysql;ezmlm;igenus;apache.Themailserver'sbasedontheLinuxsystemconfigurationandefficientAbstractBeforedelvingtoodeeplyintofurtherconfigurationandtailoringofqmail,itisimportanttounderstandthebasicstructureofqmail.Qmailisoftenreferredtoasmerelyamailserversoftwarepackage.Whilethismaybeaccurateinonesense,itismoreaccuratetothinkofqmailasamaildeliveryarchitecturewhosearchitecthasthoughtfullyprovidedabasicimplementationofalltheponentsofthatisverymodular—itconsistsofaseriesofsimpleprogramsmunicatingviaspecificandlimitedinterfaces.Eachsimpleprogramhasaspecificandlimitedtasktoperform.Thisarchitectureallowseachponentprogramtobeeasilyreplacedornewprogramstobeinsertedbetweenthebasicponents.ThepurposeofthistextisusethefreesoftwareonaUNIXplatforminstallapletemailsystemandhowmanageusesqmaiassmtpserver,usesvpopmailaspop3serverandrealizesConjecture,usesezmlmtoofferthesupporttomailrow,WealsousesigenustoofferafriendlywebmailInterface,Clanavmailforthissystemtoprovidetheantivirusmodule.KeyWords:Qmail;mysql;ezmlm;igenus;apache.前言Windows和Exchange的邮件服务器并不是企业级电子邮件系统的最佳选择由于对稳定性安全等性能要求非常高,因此大型电子邮件系统一般都使用UNIX作为服务器的操作系统,例如,Hotmail使用FreeBSD和Solaris,国内163等站点也是采用BSD系列。追求稳定的大型企业可采用FreeBSD和Solaris,普通中小企业可采用Linux。Qmail是可以完全替代Sendmail-binmail体系的新一代UNIX邮件系统,它也是一个基于UNIX操作系统的Internet邮件传输机构(InternetMailTransferAgent简称MTA)。它采用标准的简单邮件传输协议(SimpleMailTransferProtocol简称SMTP)与Internet上其他MTA交换信息为了解决用户邮件存储问题,Qmail提出了Maildir一个文件保存在用户个人的邮件目录下,这就避免了加锁。同时,Qmail支持虚VirtualDomainVirtualUserUNIX系统用户。当前在国内最流行的免费电子邮件系统如163、371等,都是使用网易公司开发的系统。这些系统就是采用Qmail作为基本服务器软件,采用NFS网络文件系统作为用户邮件存储空间,使用Maildir作为邮件存储格式,提供多级目录以支持较大的用户数。与Internet上的免费电子邮件系统相比,大中型企业电子邮件系统用户主要为企业内部用户,虽然数量没有上十万、百万那么多,用户群也相对固定,但对系统的安全性稳定性的要求更高,用户管理工作也更细致、繁琐。如果能采用统一的Web形式建立完善的用户数据库并提供邮件服务和用户管理,则会在方便用户的同时,大大地减轻系统管理员繁琐的工作。Qmail是GNU扩充它的功能,开发了大量的基于Qmail的工具和补丁软件,VmailMgr(VirtualMailManaGeR)就是其中之一。它增强了Qmail虚拟域(VirtualDomain)的功能,提供了大量的命令,以方便建立和管理独立于UNIX系统用户的邮件系统用户,提供软、的虚拟用户也可以通过POP3、IMAP标准协议访问自己的邮箱。特别值得一提的是,VmailMgr还提供一组CGI程序和PHP通过Web页面进行邮箱申请Web页面轻松完成用户管理和邮件系统的配置工作。1.关于邮件系统的相关协议1.1SMTP协议SMTP协议是简单的邮件传输协议(SimpleMailTransferProtocol)的缩写这是最早出现的,也是被普遍使用的最基本Internet邮件服务协议。1.2POP3协议POP协议是邮局协议(PostOfficeProtocol)的缩写,是一种允许用户从邮件服务器收发邮件的协议。与SMTP协议相结合,POP3是目前最常用的电子邮件服务协议。1.3IMAP4协议IMAP协议是Internet消息访问协议(InternetMessageAccessProtocol)的缩写,现在常用的是版本4,它为用户提供了有选择的从邮件服务器接收邮件的功能,基于服务器的信息处理功能和共享信箱功能。IMAP4在用户登录到邮件服务器以后,允许采取多段处理方式查询邮件。首先,用户可以仅读取电子邮箱中的邮件信头(Messageheader);然后,用户可以选择下载指定的邮件或者全部邮件。IMAP4在邮件服务器一端为用户保留邮件。1.4HTTP协议和HTML语言HTTP协议是超级文本传输协议(HyperTextTransferProtocol)的缩写,支持这个协议的邮件服务器,可以提供通过Web的电子邮件收发服务。1.5MIME协议MIME是多用途Internet邮件扩展(MultipurposeInternetMailExtensions)协议的缩写。作为对SMTP协议的扩充,MIME规定了通过SMTP协议传输非文本电子邮件附件的标准。目前,MIME的用途早已经超越了收发电子邮件的范围,成为在Internet上传输多媒体信息的基本协议之一。1.6LDAP协议LDAP协议是轻量目录访问协议(LightweightDirectoryAccessProtocol)的缩写。通过将相关的内容存放在统一的目录之下,目录服务为用户提供了基于客户/服务器工作方式的信息查询手段。2.qmail的工作原理和配置文件的设置2.1qmail和相关的服务qmail提供了mta功能,但是客户要能看到自己的信件,还需要其他协议和软件。两种常见的远程用户取回他们消息的机制是邮政协议(postofficeprotocal,pop3)和互交邮件访问协议(interactivemailaccessprotocol,imap)。综述:qmail系统包括几个可执行程序、配置文件、qmail工具和环境变量,这些彼此互相影响,共同提供邮件服务。2.2email投递邮件进程流程如图3-1图3-1qmail系统中有9qmail-smtpd负责接收来自远程主机的邮件消息并将它们传送给qmail-queue处理qmail-inject程序是用来接收本地产生的邮件消息并传送给qmail-queue程序。qmai-queue程序处一旦消息被成功的放在邮件队列中,就调用qmail-send程序来处理他qmail-send检查邮件队列中每一个消息状态,会再次投递,永久失败将被送递到qmail-clean程序,被删除掉。也就是说,qmail-clean实用来清除永久失败的的邮件消息的。qmail-send调用了qmail-lspawn和qmail-rspawn程序qmail-send判断邮件是发给谁的,发给本地的,就交给qmail-lspawn程序,再由qmail-local投送到本地邮件服务器。要是确定为远程主机,就调用qmail-rspawn程序,qmail-rspawn为每一个邮件消息的接受方决定目的的邮件服务器,再调用qmail-remote程序发送。qmail的进程:qmail-send、sploggerqmail、qmail-lspawn、qmaiil-rspawn、qmail-clean。qmail在任何时候都要求有五个程序在后台运行。这些核心的程序允许qmail扫描新邮件,并将他们发送到适当的目的地。2.3qmail环境变量除了控制文件之外,qmail程序还能使用unix环境变量来控制他们的动作。多数的控制文件的值都能被一个相应设定的环境变量重载如果该环境变量没有设定,就使用控制文件的值。qmail的环境变量是在qmail程序运行前就被设置好的。这是由一个包装程序完成的。常见的是tcpwrapper和tcpserver。本文就是用的tcpserver。2.4qmail控制文件对于管理好qmail控制文件是qmail配置中的中心环节,它控制了qmail的操作性为它位于qmail/control目录下每一个文件包含一个值,这个值定义了相应的qmail可执行程序的变量。qmail控制文件是定义了qmail参数的ASCII文本文件。大多数控制文件要求一个单一的文本值,该值可以在一行中输入也有一些控制文件能包含多个值输入到单独的一行中,每一行以一个标准的UNIX换行符(LF。还有一个要重点注意,就是控制文件的权限问题,推荐root可读写,其他只读。#chmod644qmail*以下将逐一介绍这个控制文件:Badmailfrom规则,要单独一行。而且,不用重起qmail就能生效。Bouncefrom人的消息中,一般都是永久的投递失败消息。Bouncefrom默认值是MAILER-DAEMON,它通常是一个虚拟用户名,是一个真实用户的别名。你要是想给用户的退信消息中用另一个名字,可以用一下命令:#echopostmaster>qmailbouncefrom给改为postmaster.Bouncehost:制定了退信消息中的主机名,默认的值是me文件的主机名。Concurrencylocalqmail能够同时运行的本地投送进程数对于大型的邮件主机,非常重要默认参数是10就是允许多达10个本地邮件投递进程同时运行。这个控制文件的最大值是由qmail源代码中的conf-spawn变异参数设置的,这个编译参数默认值是120,最大值是255。Concurrencyremote:定义了qmail可以同时运行的远程投递进程数,默认值是20。它也是由conf-spawn设置的,默认值是120,最大可设255。但是要载!Defaultdomain:默认域名,如果给本地的邮件用户发信,没有加上域名,qmail-inject会给他添加defaultdomain文件中的域名。如果设置了QMAILDEFAULTDOMAIN环境变量,就会重载defaultdomain控制文件的值。Defaulthost:默认主机名,同一邮件服务器上,给本地用户发邮件,如果收信的用户地址没加域名,就会添加主机名。Databytesqmail-smtpd接受到的邮件消息所允许的最大字节数,也就是发送和接受邮件的大小(本机上给本机用户出发和接受除外)。就是说,远程邮件主机和你用outlookfoxmail等远程的mua默认值是0,表示不限制。#echo0>qmaildatabyte(设置为10m,超过10m,将得到code552,告知:其邮件大小超出了该邮件主机所能容忍的限度)Doublebouncehost。默认是me文件的值Doublebouncetopostmaster。Envnoathost:是qmail-send用来为没有指定主机名的邮件接受方指定他的主机名的,默认是没有这个控制文件的,qmail-send使用me文件定义的Helohost:指定在qmail-remote与远程邮件服务器的smtp会话中用到的主机名。如果helohost控制文件没有给出,qmail-remote使用me文件的值。Idhost:指定了用来在消息中产生message-ID:头字段得主机名,默认qmail-inject用me文件的值。Localiphost:用来为邮件消息指定本地地址的,内容是邮件主机的ip地址。但是它用在dns上就会有问题。建议不要设置。Locals:指定邮件本地地址,不存在,qmail-send就假定me文件的值为邮件主机的唯一可用本地邮件主机。Meqmail将不会运行。me控制文件通常是靠运行qmail配置子目录下的config脚本文件来建立的,config脚本自动判断邮件服务器的dns域名,并产生一个适当的控制文件(me,locals,rcpthhosts。如果某种原因你的邮件服务器无法连通dns服务器,可以手工运行configfast来指定邮件服务器主机名:#qmailconfig-fastPlusdomain:用来将一个域名指定成任何一个以一个加号(+。缺省的情况下,出现在me文件的域名被添加到任何一个以加号结尾的邮件地址中。Queuelifetime:用来指定一个消息在他被删除前,可以在邮件列表中保存的时间秒数。默认是604800,当投递失败的消息超过规定的时间,将被从邮件队列中删除。Rcphostsqmail可以接收消息的主机和域名不过因为rcpthosts中的域名最好不要超过50行,多出的添加到morercpthosts中。Morercpthosts:用来指定qmail将要为其接受消息的额外的主机和域名。SmtpgreetingSMTP连接的欢迎标志,默认是用me文件的主机名。那么建立一个smtp连接的时候将会看到如下信息:Trying198.160.x.x...CEscapecharacteris^].220weleconnecttooutopenrelaymailserver–ESMTPSmtproutes:用来指定能够被用来将邮件投送给特定目的地的静态smtp连接的。Timeoutconnectqmail-remote将要等待的一个时间秒数也就是说等待远程smtp服务器接受本地的一个smtp请求响应的时间,默认是60秒。对于质量不好的网络,可以适当调节。Timeoutremote:用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线1200秒内没有接受到远程SMTP主机的任何信息,那么将关闭这个连接。Timeoutsmtpd:用来指定qmail-smtpd等待远程smtp客户端连接的时间秒数。默认是1200,超过这个时间,连接取消。Virtualdomainsqmail邮件地址,就是常说的虚拟域支持。以上说的一些控制文件,qmail默认不是都有的,只有一些必须要得。根据你的mail不同的使用情况,自己选择来建立和设置。2.5改变MUA程序接口qmail程序包含了一个可执行程序,该程序替代了unix标准的sendmail程序。想用qmail作为mail服务器,必须用qmail的sendmail包装程序替代现有的sendmail程序。#mvsbin/sendmailsbin/#chmod0sbin/#ln–sqmailsendmailsbin/sendmail2.6建立qmailsmtp功能传统上使用inetd程序来监听网络,但是缺点很多。本文中用ucspi-tcp包的tcpserver服务来代替它。参考了iceblood的qmail-setup.1.5.3的脚本文件,是这样完成的:1、建立qmail目录,建立了andpop3.sh启动脚本2、建立了和.cdb文件。具体是这样做的:#echo“qmail/start”>>rc.d/开机执行qmail/start#touchqmail/start建立执行文件#touchqmail/smtp建立smtp脚本文件#touchqmail/pop建立pop脚本文件#touchqmail/建立tcpserver的连接规则文件#echo"csh-cf'qmail/rc&'">qmail/start--开机启动qmail#echo"qmail/">>qmail/start--开机执行smtp脚本内容:localtcpserver-H-R–-t1-c100-v-p-xqmail/.cdb-u502-g5010smtpqmailqmail-smtpdvpopmailvchkpwtrue|qmailsplogger&(注:502and501换成系统上的qmaild与nofiles的uidandgid的值。)pop脚本内容:-U-H-R0pop3qmailqmail-popuptaiyaojiavpopmailvchkpwqmailqmail-pop3dMaildir2>&1|qmailsplogger&脚本内容::allow,RELAYCLIENT="":allow#qmailtcprulesqmail/.cdbqmail/.tmp<qmail/以上配置,可以做到开机自动启动了。3.Qmail的安装和配置3.1Qmail的前期准备3.1.1系统安装操作系统:CentOS6.3分区状况/5GSwap1024MB/home1024MB(因为邮件都储存在vpopmail下,可以根据情况分区)3.1.2设置DNSMX记录和地址反解3.1.3卸载已有的邮件系统确认没有邮件服务在运行:#init.d/psotfixstop#netstat-na|grep25#netstat-na|grep110#netstat-na|grep143#servicesendmailstop删除已有的邮件软件:#rpm–e--nodepspostfix3.1.4软件包介绍Qmail是本文的主角,世界上使用最广的邮件系统之一。此处使用的是netqmail-1.05的补丁集和的Toaster7.0运行脚本。ucspi-tcp是由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序。daemontools是inetd和winetd的代替品,用它来监听qmail-send,qmail-smtpd,qmail-pop3d。Vpopmail是一个以qmail为基础的虚拟域管理包,其允许在一个IP地址添加多个虚拟域。iGenus是大麻兄的作品,PHP编写的Webmail。iGenus_Admin是通过WEB添加域和帐号。Courier-imap是此邮件系统的IMAP模块。Ezmlm是一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置。Autorespond是自动回复程序,可以很好的与qmailadmin配合使用。Qmailadmin是通过WEB管理vpopmail域的极好工具。Vqadmin是通过WEB添加域。Clamav是一个免费的杀毒软件,此邮件系统的杀毒模块。3.1.5实现的功能通过以下安装,构建一个完整、高效的mail邮件服务器。通过Web页面轻松完成用户管理和邮件系统的配置工作这里将以qmail作为smtp服务器,vpopmail实现虚拟域管理用mysqlqmailadmin通过Web来实现管理虚拟域,用ezmlm来提供强大的邮件列表支持,用igenus来提供一个友善的webmail界面,Clanav则为此邮件系统提供杀毒模块。3.2.软件包安装所有所需安装包都放在pkg目录下。在有网络的情况下在安装gcc、mysql、flex和perlyum问题,节省很多时间。3.2.1设置Mysql#yum-yinstallmysql#yum-yinstallmysql-server或者#mkdircdrom创建一个挂载光盘的目录#mountcdromcdromcdrom这个目录时相当于访问cd#cdcdrom/Package#rpm-ivhmysql*安装mysql#rc.d/init.d/mysqldstart启动mysqlserver#mysqladmin-urootpassword516516设置mysqlroot的密码Enterpasswod:(直接回车)mysql的头文件和库文件分别在include/mysql和lib/mysql3.2.2apache的安装功能:全球使用最多的web服务程序。#cdpkg/#tar-zxvfhttpd-2.0.40.#cdhttpd-2.0.40#./configure--prefix=www–enable-modules=so#make#makeinstall3.2.3php的安装功能:是一种服务器端的,嵌入HTML的脚本语言。#cdpkg#tar-zxvfphp4-0.#cdphp4-0#./configure--prefix=www–enable-modules=so#make#makeinstall3.2.4daemontools的安装功能:daemontools是一个收集管理Linux进程的工具。#cdpkg#tar-zxvfdaemontools-0.76.#cdadmin/daemontools-0.76#Patch-p1<pkg/netqmail-1.05daemontools-0.76.#package/install验证daemontools已经正常运行:#sleep5#psax|grepsvscan3.2.5ucspi-tcp的安装ucspi-tcp是有一组软件包组成,它们用来简单的建立客户机与服务器的tcp后台。#cdpkg#tarzxvfucspi-tcp-0.88.#cducspi-tcp-0.88#patch-p1<../ucspi-tcp-0.88.(.patch文件为一个补丁包)#make#makesetupcheck3.2.6qmail的安装功能:本文的主角,世界上使用最广的邮件系统之一。此处使用的是netqmail-1.05补丁集。创建所需要的用户#mkdirqmail#groupaddnofiles#useraddalias-gnofiles-dqmail/alias-snologin#useraddqmaild-gnofiles-dqmail-snologin#useraddqmaill-gnofiles-dqmail-snologin#useraddqmailp-gnofiles-dqmail-snologin#groupaddqmail#useraddqmailq-gqmail-dqmail-snologin#useraddqmailr-gqmail-dqmail-snologin#useraddqmails-gqmail-dqmail-snologin顺便添加vpopmail用户#groupaddvchkpw-g89#useraddvpopmail-u89-gvchkpw准备安装qmail#cdpkg#tar-xzftoaster-scripts-0.7.#cdnetqmail-1.05/netqmail-1.05/#viqmail-smtpd.c(搜索函数straynewline中的451改为553)删除sendmail的链接#rm-rfsbin/sendmailqmail编译安装#make#makesetupcheck注:qmail的补丁在vpopmail安装之后再打。#./config-fasttaiyaojia设置管理员的邮箱地址,发往rootmailer-daemon地址的邮件将会由定义的管理员邮箱接收。#cdqmail/alias#echo"">.qmail-postmaster#echo"">.qmail-mailer-daemon#echo"">.qmail-root#chmod644qmail.qmail*开启SPF设置#echo.>qmaildefaultdelivery#echo3>qmailspfbehavior添加qmail的帮助手册#echoMANPATHqmail/man>>为qmail服务建立监控目录和日志文件:#mkdir–pqmailqmail-send/log#mkdir–pqmailqmail-smtpd/log#mkdir–pqmailqmail-pop3d/log#mkdir–pqmailqmail-pop3ds/log#cppkg/toaster-scripts-0.7/qmailqmail-send/run#cppkg/toaster-scripts-0.7/.runqmailqmail-sendrun#cppkg/toaster-scripts-0.7/qmailqmail-smtpd/run#cppkg/toaster-scripts-0.7/.runqmailqmail-smtpdrun#cppkg/toaster-scripts-0.7/pop3d.runqmailqmail-pop3d/run#cppkg/toaster-scripts-0.7/pop3d.qmailqmail-pop3drun#cppkg/toaster-scripts-0.7/pop3qmailqmail-pop3ds/run#cppkg/toaster-scripts-0.7/pop3.runqmailqmail-pop3dsrun#echo20>qmailconcurrencyining#chmod644qmailconcurrencyining#chmod755qmailqmail-send/run#chmod755qmailqmail-sendrun#chmod755qmailqmail-smtpd/run#chmod755qmailqmail-smtpdrun#chmod755qmailqmail-pop3d/run#chmod755qmailqmail-pop3drun#chmod755qmailqmail-pop3ds/run#chmod755qmailqmail-pop3dsrun#mkdir–plogsmtpd#mkdir–plogpop3d#mkdir–plogpop3ds#chown-Rqmailllog/qmail启动脚本:#cdpkg#cptoaster-scripts-0.7varrc#chmod755qmail/rc#cptoaster-scripts-0.7varbin/#chmod755qmailqmailctl#ln–sqmailqmailctlbin#ln–sqmailsendmailsbin/sendmail#rm–rflib/sendmail#ln–sqmailsendmaillib/sendmail用daemontools来启动qmail-send和qmail-smtpd#ln–sqmailqmail-pop3dqmailqmail-sendqmailqmail-smtpd/service#ln–sqmailqmail-sendqmail-send#ln–sqmailqmail-smtpdqmail-smtpd#ln–sqmailqmail-pop3dqmail-pop3d检查服务#netstat-an|grep25#ps-ef|grepqmail#ps-efl|grep"serviceerrors"|grep-vgrep3.2.7vpopmail的安装功能:vpopmail是一个以qmail为基础的虚拟域创建目录:#mkdir-pvpopmail/etc设置默认域:#echo"taiyaojia">vpopmaildefaultdomain设置smtp规则,关闭openrelays#echo':allow,RELAYCLIENT=""'>vpopmail#cdvpopmail/etc;tcprules.cdb.tmp<设置MySQL信息,第一个vpopmail是帐号,516516为密码,第二个vpopmail是数据库:#echo"localhost|0|vpopmail|516516|vpopmail">vpopmail#chmod640vpopmail#chown-Rvpopmail/etc在MySQL里添加vpopmail的帐号:#mysql–uroot-p516516>CREATEDATABASEvpopmail;>GRANTallONvpopmail.*'taiyaojia';>FLUSHPRIVILEGES;>QUIT安装:#cdpkg/#tarzxvfvpopmail-5.4.10.#cdvpopmail-5.4.10带数据库支持#./configure--enable-incdir=include/mysql--enable-libdir=lib/mysql\--disable-roaming-users--enable-logging=p--disable-passwd--enable-clear-passwd--disable-domain-quotas\--enable-auth-module=mysql--enable-auth-logging--enable-sql-logging--disable-valias--disable-mysql-limits--enable-learn-passwords#make#makeinstall-strip现在打上qmail的补丁:#cdpkg/netqmail-1.05/netqmail-1.05#bunzip2-cpkg/qmail-toaster-|patch-p0#makeclean#make#qmailctlstop#makesetupcheck#chown-Rvpopmail:vchkpwqmail/spam起动qmail#qmailctlstart用daemontools来启动qmail-pop3d和qmail-pop3ds#ln-sqmailqmail-pop3d/service#ln-sqmailqmail-pop3ds/service检查服务#netstat-an|grep110#ps-ef|grepqmail#ps-efl|grep"serviceerrors"|grep-vgrep3.2.8iGenus安装功能:iGenus不是一套独立的邮件系统,只是webmail的接口,由PHP编写而成。#cdpkg#tarzxvfigenus_2.0.2_1_-Cwww/#cdwww/#rm-rf/#mvigenus建temp文件夹#mkdirtemp#chmod-R0755temp#chown-Rvpopmail:vchkpwtemp#mkdirnetdisk#chmod-R0755netdisk#chown-Rvpopmail:vchkpwnetdisk#chmod-R0755www//#chown-Rvpopmail:vchkpwwww//修改#vihttpdUservpopmailGroupvchkpwDocumentRoot"www//"AddDefaultCharsetGB2312更改使默认页面为中文#rc.d/init.d/httpdrestart重启apache,使修改生效修改config_文件#cdwww//config#viconfig_$CFG_BASEPATH="www//";改成你安装的目录$CFG_MYSQL_HOST='localhost';$CFG_MYSQL_USER='vpopmail';vpopmail访问mysql的帐号$CFG_MYSQL_PASS='516516';vpopmail访问mysql的密码$CFG_MYSQL_DB='vpopmail';$CFG_TEMP="temp";删除$CFG_BASEPATH,并修改路径编辑www/#viwww/搜索CREATETABLE`address`,在这行之前加入一行usevpopmail;#运行如下命令导入数据表Mysql-uroot-p516516<www/重启apache:#servicehttpdrestart用vadddomain和vadduser添加新域名和新用户。#vadddomainscihooqscihooq2008##最后打开浏览器,输入/,就可以访问网站了。3.2.9iGenus_Admin的安装功能:一个基于web的vpopmail域和账号管理工具。#cdpkg#tar-xzvfigenus_admin_0.1.tgz-Cwww//设置#viwww/includes/config_$CFG_VPOPMAIL_HOST="localhost";$CFG_VPOPMAIL_USER="vpopmail";改帐号$CFG_VPOPMAIL_PASS="516516";改密码$CFG_VPOPMAIL_PATH="vpopmail";改为vpopmail安装目录//$CFG_VPOPMAIL_PATH="vpopmail";保存退出#touch#chown-Rwww/#chmod-R755www/登录设置页面#sys/#scihooqsys/注:用户:Admin密码Admin来登录.注意A要大写..这个管理帐号密码登录后可以改的登录后,首先点"更新数据库"你就会看见你的域名.然后点"编辑"把"登录权限该域管理员(Postmaster"这一项打勾,确认后,就可以用来登录管理了更新Postmasterscihooq2008系统管理员(admin)scihoo2000scihooq/admin来进行管理。安家网管理员可通过scihooqsys/来进行管理,进行添加、操作、删除等。3.2.10SqwebMail的安装功能:一个基于IMAP客户端的webmail。#cdpkg#tar-xjvfsqwebmail-#cdsqwebmail-5.0.1#./configure--enable-webpass=vpopmail--enable-softtimeout=300--enable-autopurge=10--enable-maxpurge=30--enable-mimecharset=gb2312--with-maxargsize=--with-maxformargsize=--with-maxmsgsize=--without-ispell--without-authshadow--without-authmysql--without-authldap--without-authuserdb--without-authpwd--without-authpam--with-authvchkpw--without-authdaemon--enable-unicode--enable-hardtimeout=14400--enable-softtimeout=3600--enable-webpass=yes#makeconfigure-check#umask220#make#makecheck#makeinstall-strip#makeinstall-configure完成后,启动脚本在locallibexec/,要把它放到init.d,并且让他启动时运行#liblibexec/start#su-c"libshare"#cpliblibexec/init.d/sqwebmaild#chmod755init.d/sqwebmaild#ln–sinit.detc/rc.d/rc3.d/S89sqwebmaild#ln–sinit.detc/rc.d/rc5.d/S89sqwebmaild用"crontab-e"在crontab里增加下面这条,定时清除cache#crontab-e#*/30****su-c"libshare"登录sqwebmail验证是否安装成功。3.2.11Autorespond&Ezmlm的安装功autoorespond是一个自动回复软件,ezmlm是一个快速、强大的邮件列表程序可以通过qmailadmin对其配置。安装autorespond#cdpkg#tar-xvzfautorespond-2.0.5.#cdautorespond-2.0.5#make#makeinstall安装Ezmlm#cdpkg#tar-xvzfezmlm-0.53.#tar-xvzfezmlm-idx-0.42.#cp-rfezmlm-idx-0.42/*ezmlm-0.53/#cdezmlm-0.53#patch<#chmodu+xmakelang#make#makeman汉字GB2312支持#makech_GB#makesetup3.2.12qmailadmin的安装功能:除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理。#cdpkg#tar-xvzfqmailadmin-1.2.3.#cdqmailadmin-1.2.3#./configure--enable-dir=www/--enable-cgibindir=www/cgi-bin--enable-vpopuser=vpopmail--enable-autoresponder-bin=bin--disable-ezmlm-mysql--enable-maxusersperpage=20--enable-maxaliasesperpage=20--enable-modify-quota--enable-domain-autofill#make#makeinstall-strip#cdlocalqmailadmin/lang#mven#cpzh-cnen测试:scihooqqmailadmin3.2.13Clamav的安装功能:一个免费杀毒软件,为此邮件系统提供杀毒模块。添加所需的组和用户#groupaddclamav#useradd-gclamav-sfalseclamav安装软件#cdpkg#tarzxvfclamav-0.92.#cdclamv-0.92#./configure--disable-zlib-vcheck#makecheck#makeinstall测试Clamav#clamscan--recursive--log=扫描当前目录,测试clamscn是否运行#cat更改local文件,去掉下面选项前面的#:#vilocal#Example前面加上#UpdateLogFilelog/去掉前面的#LogSyslog去掉前面的#PidFilerun/去掉前面的#更改local文件,去掉下面选项前面的#:#vilocal#Example前面加上#LogFilelog去掉前面的#???LogFileMaxSize2M去掉前面的#LogTime去掉前面的#PidFilerun/去掉前面的#LogSyslog去掉前面的#ScanMail去掉前面的##touchlog/#chmod644log/#chownclamav:clamavlog/#mkdirlib/clamav#chownclamav:clamavlib/clamav升级clamscan病毒库#freshclam--verbose把freshclam加入crontab定时更新病毒库,自动扫描/home目录#crontab-e#创建freshclam日志记录文件#mkdir-plog/clamav#touchlog#chown-Rlog#chmod644-Rlog创建clamav启动脚本#virc.d/init.d/clamav#!sh##Startup/shutdownscriptforClamAntiviruscase"$1"instart)localclamd&&echo-n'Clamdstarted'localfreshclam-d-c2-llog/echo-n'freshclamstarted';;stop)bin/killallclamd>null2>&1&&echo-n'Clamdstoped'bin/killallfreshclam>null2>&1&&echo-n'freshclamStoped';;*)echo""echo"Usage:`basename$0`{start|stop}"echo""exit64;;esac使其能够执行#chmod755init.d/clamav随开机起动#ln–sinit.detc/rc.d/rc3.d/S88clamav#ln–sinit.detc/rc.d/rc5.d/S88clamav3.2.14测试重起主机系统,你可以设置一下你的outlook或者foxmail.接受邮件了。也可以通过webmail访问你的mail系统了。通过webmail接受你的邮件信息qmailadmin通过web方式管理和添加用户了。4.ucspi-tcp的原理和设置Qmail的开发者danBernstein开发了ucspi-tcp(UNIX客户-服务器程序端口)包来取代inetd程序。Ucspi格式定义了一种程序来交换数据的方法,主要体现出三个优点:1、ucspi端口独立于底层的通讯介质。2、ucspi允许shell脚本程序利用网络的互联。3、ucspi程序建立了unix环境变量,这些变量定义了可以被程序和用户使用的网络信息。Ucspi-tcp使用称为tool的程序在应用程序之间建立连接。有两种类型的ucspitool客户tool(tcpclient)和服务器tool(tcpserver。Ucspi-tcp的tcpserver程序就是替代unix的inetd程序的,有如下优点:1、他能够把来自服务器端的所有输入和输出都记到一个文件中。2、他能提供访问控制特征,拒绝或者允许来自客户端的连接。3、它包含了并发限制,防止使unix系统过载。Tcpserver程序通过使用管理员配置的一个hash规则库提供对访问的控制。Tcpserver命令行的格式是:#tcpserveroptionshostportapplicationhost和prot参数制定了将要运行应用程序的本地服务器的主机名和端口号。Host参数可以是localhos、主机ipaddress、或者是主机的完整域名。Port参数可以是一个数字或者是services文件中的一个tcp端口的名字,例如:smtp。Application是连接建立后要传输给的应用程序。Options参数定义了tcpserver程序的行为。有三种类型的选项:常规选项定义用于ucspitool的选项。连接选项处理到达的连接请求。数据收集选项如何获得在传给应用程序的unix环境变量中使用信息。Tcpserver连接选项:-bn允许n个连接请求的存储-Bbanner在连接建立后将banner写到网络连接上-cn不接受多于n个同时连接-d当主机相应较慢时延迟向远程主机发送数据-D从不延迟向远程主机发送数据-ggid当接受连接准备完成后改变活动组ID为gid-l打印本地端口号到stdout-o在连接的分组中不改变ip选项-uuid当接受连接准备完成后改变活动用户ID为uid-O删除ip选项为分组寻找路径-U相当于-g$GID–uUID-xdb使用hash数据库db中的规则来接受或拒绝远程客户端的访问-X当由-x选项指定的数据库不存在时允许连接tcpserver程序可以使用的数据收集选项:-h使用dns查找远程主机-H不使用dns查找远程主机名。你必须对端口53使用此选项-llocalhost不使用dns查找本地服务器主机名,而使用localhost-p怀疑使用反向dns查找远程主机ip如果不匹配,删除环境变量$tcpremotehost-r试图从远程主机获得$tcpremoteinfi(默认)-R不试图从远程主机获得$tcpremoteinfo数据。你必须为端口53和端口113使用这一选项-tn在n秒之后停止试图连接到$tcpremoteinfo数据。默认26有几个unix环境变量tcpserver试图为其接受数据这些环境变量帮助应用程序处理有关的网络间接信息。Tcpserver的unix环境变量:$PROTO使用的协议(默认为TCP)$TCPLOCALIP本机的IP地址$TCPLOCALPORT本地TCP端口号$TCPLOCALHOST本地主机的DNS查询值$TCPREMOTEIP远程客户端的IP地址$TCPREMOTEPROT远程客户端的TCP端口号$TCPREMOTEHOST远程主机的DNS查询值$TCPREMOTEINFO远程客户端的用户名当接受了一个远程客户端的连接,tcpserver就是图为应用程序提供环境变量,当他不能为一个特定的变量接受信息时,tcpserver不设置变量。Tcprules程序tcprules程序是创建可以限制与应用程序连接的规则。是手工创建规则,来制定接受和拒绝单个地址多个ip地址全部网络地址的访问规则在一个文本cdb数据库格式将其转变成一个hash数据库。这使得tcpserver程序能够在远程客户向服务器请求连接时动态处理规则。规则以这样的格式创建:address:action,varibleaddress是和到达连接的值相匹配的。此参数的几种格式都是基于表(3境变量的,可以使用这些变量的组合来创建有效的地址。下面列出了tcpserver能识别的不同地址:tcpserver规则的地址格式$@[1]$tcpremoteinfo@=$$tcpremoteip1=$部分$tcpremoteip192.168部分$空任何地址action有两个选项:allowanddeny。除了动作以外,其他的以逗号分开的环境变量可以添加到action中,实现tcpserver在特定的远程客户连接请求时设置环境变量这一特性可以实现选择转发等功能。5.vpopmail和qmailadmin对用户的管理5.1vpopmail功能简介在一台邮件服务器的上实现多个域的邮件系统是qmail用户非常关心的问题之一,为了解决这个问题,Inter7开发了遵从GPL版权的vpopmail(vchkpw)来使用户方便地在一台qmail邮件服务器上实现邮件虚拟域和非系统账号。其具有一下特点:1、所有的qmail配置及数据文件都提供了具有详细说明的修改的命令。2、仅仅占用一个系统账号,所有的相关进程运行在单个UID/GID之下。3、支持基于named和IP的虚拟域。安全的使用NFS之上。4通过使用三级平衡树填充技术实现动态的为十个到一千万用户创建邮件目录。5、根据真实世界的管理需求提供了可配置的记录功能。6、支持Oracle,Sybase,Mysql,LDAP,passwd,shadow和缺省的cdb用户认证信息存储方式。7直接传递数据到Maildirqmail-pop3d,.qmail文件或其他任何Maildir程序。不需要为虚拟域提供很多.qmail文件,每个域在vpopmail用户主目录下拥有自己的目录。每个域有独立的密码文件。8、详细说明的命令程序能被用在脚本文件及远程管理。所有的vpopmail特性的C库都有详细的说明文档。而且提供了下面的软件包来增强qmail+vpopmail的特性:1、QmailAdmin基于web的vpopmail管理工具。2vqsignup一个基于vpopmail管理工具的cgiemail账号。3、CourierIMAPIMAP服务器。4、qWebMail基于web的email客户程序。5.2vpopmail的安装设置在安装vpopmail的时候,设置了以下选项:#./configure--enable–default-domain=163.net--enable-passwd=n\--enable-tcprules-prog=localtcprules\--enable–ip–alias-dmains=n\--enable-hardquota=0\--enable–sqwebmail-pass=y\--enable-roaming-users=y\--enable-mysql=y\--enable-indir=include/mysql\--enable-libdir=lib/mysql其中的详细意思是:--enable–default-domain=taiyaojia设定缺省域名为taiyaojia对于缺省域的用户,省用户,则需要将用户名设置为的格式才能通过pop3收取信件。--enable-passwd=n允许或禁止passwd(或shadow)认证动检测系统是使用passwd或shadow密码,通过设置该选项为no,可以禁止所有的passwd账号认证。也可以说,是禁止系统用户为邮件用户。--enable-tcprules-prog=localtcprulestcprules程序的安装位置,缺省为local/bin--enable–ip–alias-dmains=n允许通过反向解析来查看虚拟域字,也就是用户必须在pop3用户名中提供相应的域信息,也就是当然也可以使用enable-default-domain配置选项来覆盖该要求Vpopmail同样支持基于IP地址的虚拟域,若该选项打开则用户不需要在pop3用户名中提供@<virtualdomain>,vpopmail自动对该用户连接的服务器IP地址进行反向解析,若解析得到一个域名,则vpopmail使用该名字作为域,例如:IP:x.x.x.x对应域名,用户设置pop3服务器的IP地址进行反向DNS查询,得到域名,用户使用test作为用户名,vpopmail使用。在这里,我们禁止反向解析来查看虚拟域。--enable-hardquota=0若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制。--enable–sqwebmail-pass=y支持sqwebmail的认证,为了以后也可能用sqwebmail,我选了yes。--enable–roaming-users=y当pop3mailrelay闭的。若设置该选项为y,当某个用户通过了pop3认证,则将其IP地址加入许可通过该邮件服务器进行relay的列表中。一个名为clearopensmtp的cronjob程序可以用来实现在这一段时间以后从允许转发邮件地址列表中将该IP地址清除。这个选项要求以-x.cdb选项来使用tcpserver运行smtp服务器。--enable-mysql=y使用mysql,缺省是no.允许通过将账号存放在mysql数据库中来认证用户。--enable-indir=inc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论