马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS并不包含封闭源代码软件。
设置装备摆设一个postfix邮件体系,远比我先前的想象庞杂。此次共设置装备摆设2个postfix体系,花了很多精神,其间也阅历很多费事,还好,最初都做成了!在设置装备摆设过程当中,参考了《postfix威望指南》和网上其别人写的文章,但在现实的设置装备摆设中,完整依照这些文档照样不容易顺遂完成。如今此行文表露我做这个工作的全体进程,愿望对人人的任务有所赞助。
◆运转情况
操作体系是centos5,其下载地址为http://www.centoscn.com/CentosSoft/iso/2013/0720/363.html,它是redhatas5最好的替换品(缘由:开源且收费下载);postfix应用的版本是postfix-2.2.10.tar.gz,postfix(www.postfix.org)以后的稳固版本是2.4,因为2.4不支撑SASL,所以我选了老一点的版本。其他所需的软件鄙人表列出:
称号
用处
下载地址
Apache(httpd-2.2.0)
Web方法治理邮件
www.apache.org
Php(php-5.2.3)
Php说明器,与apache一路应用
www.php.org
Mysql(mysql-5.0.41)
用数据库存储用户信息
www.mysql.com
Postfixadmin(postfix-2.1.0)
邮件帐号后台web治理对象
http://sourceforge.net/projects/postfixadmin/
SASL(cyrus-sasl-2.1.21.tar.gz)
验证办法
http://ftp.andrew.cmu.edu/pub/cyrus-mail/
Authlib(courier-authlib-0.59.3.tar.bz2)
与SASL一路做验证
http://www.courier-mta.org/download.php
Postfix
邮件体系主法式
http://www.postfix.org
Courier-imap(courier-imap-4.1.3.tar.bz2)
Pop3及IMAP办事
http://www.courier-mta.org/
Perl(perl-5.8.8)
说明器
http://www.cpan.org
Maildrop(maildrop-2.0.4.tar.bz2)
邮件送达署理,直不雅的讲就是把收到的邮件转发到用户的邮箱目次
http://www.courier-mta.org/
Clamav(clamav-0.91.2.tar.gz)
杀毒软件
http://www.clamav.org/
amavisd-new(amavisd-new-2.5.2.tar.gz)
扫描邮件病毒
http://www.ijs.si/software/amavisd
Spamassassin(SpamAssassin3.2.3)
防渣滓邮件
http://spamassassin.apache.org/
Pcre(pcre-7.2.tar.bz2)
装置Imap须要--Perl兼容正则表达式
http://www.pcre.org
Extmail(extmail-1.0.1.tar.gz)
webmail
http://www.extmail.org
◆预备任务
1、下载所需的软件:照下面给出的地址找到下载URL,然后用wget下载。因为办事器普通不装置xwindow如许的桌面情况,那如何晓得下载文件的url呢?用windows呢,经由过程securecrt如许的ssh对象衔接和治理长途linux办事器,如许就很轻易办到了。在现实的任务中,我习气把文件下载到/root目次,缘由是通俗用户看不见我下载的器械。
2、清算体系:不论你喜不爱好,装置体系时sendmail这个邮件办事软件曾经装置上去了,可是一山不容二虎,既然我们选定了功效壮大的postfix,那末sendmail就一边歇着吧。运转敕令rpm-e-nodepssendmail就到达这个目标了。第2个须要卸载的软件是SASL,为何要卸载它呢?由于体系自带的版本不太轻易与authlib正常合营,所以须要把它删除失落。第3个要删除的是perl.本盘算用体系自带的perl,可是在履行敕令perl-MCPAN-eshell时竟然涌现"segmentfault",招致许多功效不克不及应用,看来也只好删了重装一个。上面总结一下这个进程:
1、SASL
(1)列出包
rpm-qa|grepsasl
cyrus-sasl-2.1.19-5.EL4
cyrus-sasl-gssapi-2.1.19-5.EL4
cyrus-sasl-devel-2.1.19-5.EL4
cyrus-sasl-ntlm-2.1.19-5.EL4
cyrus-sasl-md5-2.1.19-5.EL4
cyrus-sasl-sql-2.1.19-5.EL4
cyrus-sasl-plain-2.1.19-5.EL4
(2)删除包
rpmCeCnodepscyrus-sasl-2.1.19-5.EL4cyrus-sasl-gssapi-2.1.19-5.EL4cyrus-sasl-devel-2.1.19-5.EL4//把下面查查来的全体列在这前面全卸载失落。nodeps后面是两”-“!
然落后目次/usr/lib查一下lsCal/usr/lib|grepsasl应当没有目次sasl及sasl2了。
2、Perl
(1)列出包
rpm-qa|grepperl
perl-DateManip-5.42a-3
perl-XML-Encoding-1.01-26
perl-LDAP-0.31-5
perl-XML-LibXML-Common-0.13-7
groff-perl-1.18.1.1-3
openssl-perl-0.9.7a-43.1
…………(省略若干)
perl-suidperl-5.8.5-12.1.1
(2)删除包
rpmCeCnodepsperl-DateManip-5.42a-3//照下面的例子删除所以的包。因为包太多,用一个//rpm敕令前面带的参数太长,建议一个一个整理。注:用yumremoveperl删除更便利
履行完删除敕令后,再运转敕令perlCv,假如涌现“-bash:perl:commandnotfound”则注解曾经把perl清算失落了。
3、创立邮件体系运转时所需的用户和组:创立用户和组毫不仅仅是为了演习userad和groupadd这两个敕令,由于平安方面的缘由,一些软件不克不及以root用户来运转,乃至在装置过程当中,假如没无为该软件事后创立用户,装置将不克不及停止下去,是以,我们在这里先创立这些运转postfix体系所需的用户和组。对centos或redhat等刊行版而言,用敕令useradd创立用户时也就创立了一个同名的组,而别的一些linux刊行版(如debian)或unix(如solaris10),创立用户时其实不会同时创立同名的组,这须要手动履行敕令零丁创立所需的组。上面我用表格的方法列出postfix体系所须要创立的用户及组的情形:
用户名
组名
感化
备注
mysql
Mysql
数据库mysql运转用户
vmail
Vmail
Postfix虚拟邮件帐号所应用的用户及组
uid,gid:1001,1001
postfix
Postfix
Postfix主法式应用的帐号和组
Postdrop
Postfixsetgid_group
setgid_group=postdrop
amavis
Amavis
邮件扫描
clamav
Clamav
病毒扫描
这里有2个值得留意的处所,它们是vmail用户、组及postdrop组。在postfix邮件体系中,有好几个法式是以vmail来运转的(这些情形将在前面逐一解释);postdrop这个组,我看了许多人写的文档,无一破例的都有创立这个组的操作,但没有任何人解释这个组是干甚么用的,给人很突兀的感到,是以我在这里特殊把它列出来了-它的感化是setgid_group-在postfix的主设置装备摆设文件main.cf里标清楚明了的。
[root@mail~]#greppostdrop/etc/postfix/main.cf
setgid_group=postdrop
◆装置apache,mysql和php
1、apache
tarzxvfhttpd-2.2.0.tar.gz
cdhttpd-2.2.0
./configure-prefix=/usr/local/apache-enable-so//选项prefix,enanle后面是两个"-"
make
makeinstall
上述步调履行终了后,将生成目次/usr/local/apache,进入这个目次检讨一下,看相干的文件和目次能否存在?下图是一个准确装置apache后的目次构造:
履行敕令/usr/local/apache/bin/httpd-l检讨编译出去的模块有哪些。最重要的是mod_so模块。即上面最初一个mod_so.c。如许做的目标是为了以模块方法加载php.如今我们先不忙着设置装备摆设apache,比及前面再做这个任务。
2、mysql
tarzxvfmysql-5.0.41.tar.gz
cdmysql-5.0.41
./configure-prefix=/usr/local/mysql
make,makeinstall//装置完成
useraddmysql
cpsupport-files/my-medium.cnf/etc/my.cnf
cd/usr/local/mysql
/usr/local/mysql/bin/mysql_install_db--user=mysql//初始化数据库
chown-Rroot.
chown-Rmysqlvar
chgrp-Rmysql.
echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
ldconfig
echo"exportPATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source/etc/profile
白色字体这几行敕令假如不在此处履行的话,今后在装置courier-authlib将涌现很多费事,切记!!设置mysql路径的目标是未来须要应用mysql-config文件.
3、php
cd//进/roor目次
tarzxvfphp-5.2.3.tar.gz
cdphp-5.2.3
./configure-prefix=/usr/local/php-with-apxs2=/usr/local/apache/bin/apxs-with-mysql=/usr/local/mysql//假如不先装置mysql,这一步将不克不及停止下去
make;makeinstall
cpphp.ini-dist/usr/local/php/lib/php.ini
在设置装备摆设过程当中,除指定装置目次外,还有-with-apxs2和-with-mysql这两个选项。-with-apxs2的感化是与apache的对象apxs合营,发生模块文件到目次/usr/local/apache/modules/,同时在apache的设置装备摆设文件中写入一行"LoadModulephp5_modulemodules/libphp5.so";
[root@myestmodules]#ll
total12212
-rw-r--r--1rootroot8873Jul3014:55httpd.exp
-rwxr-xr-x1rootroot12473318Jul3109:29libphp5.so
选项-with-mysql的感化异常主要,假如不加这个,今后在应用web治理对象postfixadmin时将涌现不克不及衔接数据库的毛病。接着我们须要把php与apache整合在一路,这个进程很简略,因为在装置php时曾经完成了一部门任务,接上去只需在apache的设置装备摆设文件httpd.conf加上"AddTypeapplication/x-httpd-php.php"这么一行就好了(留意:.php后面有一个空格)。在目次/usr/local/apache/htdocs下创立一个最简略的php测试文件,其内容为:
vitest.php
<?
phpinfo();
?>
检讨一下apache设置装备摆设文件能否准确(/usr/local/apache/bin/apachectl-t),输入"SyntaxOK"后就能够启动apache办事(/usr/local/apache/bin/apachectlstart)。在其余机械的阅读器输出我们设置装备摆设的这个办事器的url,正常的话,将获得相似下图的页面:
下面几个软件的装置绝对来讲照样比拟轻易操作的,这里我满是用GNU源码定制装置,这相对2进制包的装置方法罢了,有几个利益:①软件的互相依附性较小(装置过rpm包的人对这个应当有深入的熟悉)。②跨平台。如许的装置方法实用各类unix/linux体系。③保护便利。应用了选项-prefix指定装置目次,一切的文件目次都集中在这个装置目次里,保护起来异常便利。是以,在这里激烈推举人人实用GNU源码方法装置。
◆装置和设置装备摆设SASL、Authlib
最好先装置courier-authlib。为何呢?由于前面设置装备摆设SASL验证smtp时须要authlib的socket路径。
1、装置和设置装备摆设courier-authlib
1)装置
tarjxvfcourier-authlib-0.59.3.tar.bz2
cdcourier-authlib-0.59.3
./configure--with-redhat--with-authmysql=yes--with-mailuser=vmail--with-mailgroup=vmail--with-mysql-libs=/usr/local/mysql/lib/mysql--with-mysql-includes=/usr/local/mysql/include/mysql
--prefix=/usr/local/authlib--without-stdheaderdir
make
makeinstall
makeinstall-configure
普通情形下,anthlib的装置应当是轻易完成的。装置完成后,我们先找出设置装备摆设文件中authdaemonvar的设置,这个值是干甚么用的呢?它是前面SASL验证SMTP所必需的,是以须要先把它找出来,以便前面的设置装备摆设可以或许精确无误。关于这个成绩的经验,在设置装备摆设sasl的时刻再做解释。在我的装置中,authdaemonvar的设置以下:
[root@mail~]#grep"authdaemonvar"/usr/local/authlib/etc/authlib/authdaemonrc
##NAME:authdaemonvar:2
#authdaemonvarishere,butisnotuseddirectlybyauthdaemond.Its
authdaemonvar=/usr/local/authlib/var/spool/authdaemon
(2)设置装备摆设authlib.在目次/usr/local/authlib/etc/authlib中,修正文件authdaemonrc及authmysqlrc。
vi/usr/local/authlib/etc/authlib/authdaemonrc
authmodulelist="authmysql"
authmodulelistorig="authmysql"
DEBUG_LOGIN=2
修正下面3项,其他的项坚持未便。这个修正前2行表现用mysql认证模块;把DEBUG_LOGIN的值有默许的“0”改成“2”的意图是运转postfix时有更多的信息输入,经由过程生成的日记以赞助排错。
vi/usr/local/authlib/etc/authlib/authmysqlrc
MYSQL_SERVERlocalhost
MYSQL_USERNAMEpostfix
MYSQL_PASSWORDpostfix
MYSQL_DATABASEpostfix
MYSQL_SOCKET/tmp/mysql.sock
MYSQL_USER_TABLEmailbox
#MYSQL_CRYPT_PWFIELDpassword
MYSQL_CLEAR_PWFIELDpassword
DEFAULT_DOMAINsery.com
MYSQL_UID_FIELD1001
MYSQL_GID_FIELD1001
MYSQL_LOGIN_FIELDusername
MYSQL_HOME_FIELD/var/mailbox/
MYSQL_NAME_FIELDname
MYSQL_MAILDIR_FIELDmaildir
MYSQL_QUOTA_FIELDconcat(quota,’S’)
MYSQL_WHERE_CLAUSEactive=1
照下面的格局修正,这是比拟轻易失足的处所,要特殊当心。我已经把MYSQL_USER_TABLEmailbox这一项的mailbox写成mailbov招致sasl验证一向没法经由过程!特殊留意MYSQL_UID_FIELD和MYSQL_GID_FIELD字段的值,这里是‘1001’,也能够是其它的,但必定要与vmail用户及组相分歧(idvmail可以得出这2者的值)
2、装置和设置装备摆设SASL.
(1)装置
tarzxvfcyrus-sasl-2.1.21.tar.gz
cdcyrus-sasl-2.1.21
./configure--disable-anon-enable-plain--enable-login--enable-sql--with-mysql=/usr/local/mysql--with-mysql-includes=/usr/local/mysql/include/mysql--with-mysql-libs=/usr/local/mysql/lib/mysql--with-authdaemond
make
makeinstall
假如在编译进程(make)涌现毛病,如“client.c:64:error:staticdeclarationofglobal_callbacksfollowsnon-staticdeclarationsaslint.h:112…”,须要加一个补钉法式,然后再履行编译进程。弥补:假如应用cyrus-sasl-2.1.21这个版本,则不会涌现这个成绩.
用vi在以后地位创立补钉文件,起名为sasl.patch,其内容包含:
---cyrus-sasl-2.1.20/lib/client.c~2003-11-1111:26:06.000000000-0500
+++cyrus-sasl-2.1.20/lib/client.c2005-05-3122:34:14.000000000-0400
@@-61,7+61,7@@
staticcmech_list_t*cmechlist;/*globalvarwhichholdsthelist*/
-staticsasl_global_callbacks_tglobal_callbacks;
+sasl_global_callbacks_tglobal_callbacks;
staticint_sasl_client_active=0;
ln-s/usr/local/lib/sasl2/usr/lib/sasl2//sasl的装置目次是/usr/local/lib/sasl
echo"/usr/local/lib">>/etc/ld.so.conf//指定静态衔接库的地位
ldconfig//同享静态链接库失效
(2)设置装备摆设
创立文件/usr/local/lib/sasl2/smtpd.conf,并参加以下内容:
pwcheck_method:authdaemond
mech_list:PLAINLOGIN
log_level:3
authdaemond_path:/usr/local/authlib/var/spool/authdaemon/socket
最初一行authdaemond_paeth的设置来自anthlib的设置装备摆设文件authlibdaemonrc,万万不要把这个弄错了,我现在的smtp验证一向通不外就是因为这个缘由。经由过程检查过程也能够晓得这个路径(条件是authlib正常运转了),以下图所示:
Sasl2须要应用文件/usr/local/authlib/var/spool/authdaemon/socket,但默许情形下,其属性是744,须要把它加上履行权限,以便文件属组(主)而外的其它用户可以履行。运转敕令
chmod+x/usr/local/authlib/var/spool/authdaemon
便可,假如不如许处置,smtp验证无一破例会掉败的。那末这里所说的其它用户是甚么用户呢?答:postfix。
◆装置和设置装备摆设postfixadmin
Postfixadmin是postfix邮件体系的web治理对象,有了这个对象,治理和保护用户帐号就便利多了。假设不消对象,就须要手动修正数据库,谁情愿如许做?装置postfixadmin比拟简略,解压包postfixadmin-2.2.11.tar.gz,然后把它挪动到某个目次下,其进程以下:
cd/root
tarzxvfpostfixadmin-2.2.11.tar.gz
mvpostfixadmin-2.2.11/var/www/postfixadmin
如今postfixadmin的目次是/var/www/postfixadmin,为了可以或许让它依照我们的志愿任务,须要用敕令chown-Rvmail:vmail/var/www/postfixadmin更改属主。如许,postfixadmin的装置就算完成了。接着我们来设置装备摆设它,这个进程要庞杂一点,我在这里分几步停止。
(1)修正相干的设置装备摆设文件。Postfixadmin第一个须要修正设置装备摆设文件是config.inc.php,但现实上却没有这个文件,没关系,把config.inc.php.sample搬过去就是了(cpconfig.inc.php.sampleconfig.ini.php),再来看一下目次构造:
[root@mailserv2postfixadmin]#pwd
/var/www/postfixadmin
[root@mailserv2postfixadmin]ll
total236
drwxr-xr-x2vmailvmail4096Sep1616:06ADDITIONS
drwxr-xr-x2vmailvmail4096Sep1619:31admin
-rw-r--r--1vmailvmail1195Sep1616:06BACKUP_MX.TXT
-rw-r--r--1vmailvmail10155Sep1616:06CHANGELOG.TXT
-rw-r-----1vmailvmail4700Sep1616:14config.inc.php
-rw-r--r--1vmailvmail4694Sep1616:06config.inc.php.sample
-rw-r-----1vmailvmail3774Sep1616:06create-alias.php
-rw-r-----1vmailvmail7379Sep1619:24create-mailbox.php
-rw-r--r--1vmailvmail4910Sep1616:06DATABASE_MYSQL.TXT
-rw-r--r--1vmailvmail4955Sep1616:06DATABASE_PGSQL.TXT
-rw-r-----1vmailvmail2497Sep1619:30delete.php
-rw-r-----1vmailvmail1727Sep1616:06edit-active.php
-rw-r-----1vmailvmail3013Sep1616:06edit-alias.php
-rw-r-----1vmailvmail4026Sep1616:06edit-mailbox.php
-rw-r-----1vmailvmail25031Sep1616:06functions.inc.php
drwxr-xr-x2vmailvmail4096Sep1616:06images
-rw-r-----1vmailvmail3994Sep1616:06index.php
-rw-r--r--1vmailvmail2655Sep1616:06INSTALL.TXT
drwxr-xr-x2vmailvmail4096Sep1616:06languages
-rw-r--r--1vmailvmail1651Sep1616:06LANGUAGE.TXT
-rw-r--r--1vmailvmail5375Sep1616:06LICENSE.TXT
-rw-r-----1vmailvmail1743Sep1616:06login.php
-rw-r-----1vmailvmail494Sep1616:06logout.php
-rw-r-----1vmailvmail869Sep1616:06main.php
-rw-r--r--1vmailvmail981Sep1616:06motd-admin.txt.orig
-rw-r--r--1vmailvmail262Sep1616:06motd.txt
-rw-r--r--1vmailvmail262Sep1616:06motd-users.txt
-rw-r-----1vmailvmail4827Sep1616:06overview.php
-rw-r-----1vmailvmail2314Sep1616:06password.php
-rwxr-xr-x1vmailvmail392Sep1616:08postfix_chmod.sh
-rw-r-----1vmailvmail3233Sep1616:06search.php
-rw-r-----1vmailvmail2119Sep1616:06sendmail.php
-rw-r-----1vmailvmail5506Sep1616:06setup.php
-rw-r-----1vmailvmail4204Sep1616:06stylesheet. CSS
-rw-r--r--1vmailvmail456Sep1616:06TABLE_BACKUP_MX.TXT
-rw-r--r--1vmailvmail3737Sep1616:06TABLE_CHANGES.TXT
drwxr-xr-x2vmailvmail4096Sep1616:06templates
-rw-r--r--1vmailvmail2303Sep1616:06UPGRADE.TXT
drwxr-xr-x2vmailvmail4096Sep1616:06users
-rw-r-----1vmailvmail1949Sep1616:06variables.inc.php
-rw-r-----1vmailvmail1965Sep1616:06viewlog.php
drwxr-xr-x2vmailvmail4096Sep1616:06VIRTUAL_VACATION
在下面的目次输入中,我将要处置的文件或目次用了粗字体来标识了,先从config.ini.php着手吧。
[root@mailserv2postfixadmin]#moreconfig.inc.php
//
//PostfixAdmin
//byMischaPeters
//Copyright(c)2002-2005High5!
//
//File:config.inc.php
//
if(ereg("config.inc.php",$_SERVER[PHP_SELF]))
{
header("Location:login.php");
exit;
}
//PostfixAdminPath
//SetthelocationtoyourPostfixAdmininstallationhere.
$CONF[postfix_admin_url]=;
$CONF[postfix_admin_path]=;
//Languageconfig
//Languagefilesarelocatedin./languages.
$CONF[default_language]=cn;
//DatabaseConfig
//mysql=MySQL3.23and4.0
//mysqli=MySQL4.1
//pgsql=PostgreSQL
$CONF[database_type]=mysql;
$CONF[database_host]=localhost;
$CONF[database_user]=postfixadmin;
$CONF[database_password]=postfixadmin;
$CONF[database_name]=postfix;
$CONF[database_prefix]=;
…………………………省略若干……………………………………….
//Mailboxes
//IfyouwanttostorethemailboxesperdomainsetthistoYES.
//Example:/usr/local/virtual/domain.tld/username@domain.tld
$CONF[domain_path]=YES;
//IfyoudontwanttohavethedomaininyourmailboxsetthistoNO.
//Example:/usr/local/virtual/domain.tld/username
$CONF[domain_in_mailbox]=NO;
…………………………省略若干……………………………………….
//DefaultDomainValues
//Specifyyourdefaultvaluesbelow.QuotainMB.
$CONF[aliases]=1000;
$CONF[mailboxes]=1000;
$CONF[maxquota]=1000;
…………………………省略若干……………………………………….
//Quota
//WhenyouwanttoenforcequotaforyourmailboxuserssetthistoYES.
$CONF[quota]=NO;
//Youcaneitheruse1024000or1048576
$CONF[quota_multiplier]=1024000;
…………………………省略若干……………………………………….
?>
被修改过的内容用白色粗体标志出来了,这些值可依据现实情形作修正。下一个须要修正的文件是create-mailbox.php:
[root@mailserv2postfixadmin]#morecreate-mailbox.php
//
//PostfixAdmin
//byMischaPeters
//Copyright(c)2002-2005High5!
……………………………………省略若干…………………………………….
$tQuota=$CONF[maxquota];
system("sudo/usr/sbin/maildirmake.sh$fDomain".$_POST[fUsername]);
if($fMail=="on")
……………………………………省略若干…………………………………….
?>
白色字体那行是须要拔出的,它的地位在210行,不要把地位放错了,由于文件中有2行是"$tQuota=$CONF[maxquota];"必定要把它放在第209行的谁人"$tQuota=$CONF[maxquota];"的前面才会有感化。在这里,很有需要说明一下拔出这行的感化--在php剧本中履行体系的shell剧本--直接的效果就是创立用户的邮箱目次,这与履行在linux下履行敕令行sudo/usr/sbin/maildirmake.shsery.comsey相当。接上去我们修正文件delete.php:
[root@mailserv2postfixadmin]#videlete.php
……………………………………….省略许多………………………………
require("./variables.inc.php");
require("./config.inc.php");
require("./functions.inc.php");
include("./languages/".check_language().".lang");
$SESSID_USERNAME=check_session();
……………………………………….省略许多………………………………$result=db_query("SELECT*FROMmailboxWHEREusername=$fDeleteANDdomain=$fDomain");
$userarray=explode("@",$fDelete);
$user=$userarray[0];
$domain=$userarray[1];
system("sudo/usr/sbin/maildirdel.sh$domain$user");
……………………………………….省略许多………………………………
?>
白色字体标示的那4行是须要拔出的,地位也是相当主要的,不克不及弄错。到了这一步,照样没有完成,还须要进目次admin里修正2个同名文件admin/create-mailbox.php和admin/delete.php,修正的办法是一样的,只是拔出地位的行号分歧(如admin/create-mail在200行的地位拔出),见上面的截图:
这里有一个困惑:为何在分歧的目次下有雷同的文件呢?这是出于平安方面的缘由。Postfixadmin把治理员分红2种:超等邮件体系治理员和普通邮件体系治理员,在admin目次里的是超等治理员的目次,而通俗的邮件体系治理员在/var/www/postfixadmin这个目次。在上述过程当中,我们应用了2个shell剧本/usr/sbin/maildirdel.sh及/usr/sbin/maildirmake.sh,这些剧本的内容和感化将在前面装置设置装备摆设maildrop时一并给出。
(2)在mysql中创立postfix所需的数据库。
[root@mailserv2~]#cd/var/www/postfixadmin
[root@mailserv2~]#mysql-uroot<DATABASE_MYSQL.TXT
(3)测试postfixadmin。先修正apache的设置装备摆设文件/usr/local/apache/conf/httpd.conf,参加以下内容:
Alias/postfixadmin/var/www/postfixadmin
<Directory/var/www/postfixadmin>
OptionsIndexesFollowSymLinks
AllowOverrideNone
Orderallow,deny
Allowfromall
</Directory>
<Directory"/var/www/postfixadmin/admin">
AuthTypeBasic
OptionsNone
AllowOverrideNone
Orderallow,deny
Allowfromall
AuthName"sery.mailAccess"
AuthUserFile/usr/local/apache/conf/htpasswd
Requirevalid-user
</Directory>
保留后重起apache办事(/usr/local/apache/bin/apachectlrestart),然后在其余机械的阅读器输出邮件办事器的url如:http://mail.sery.com/postfixadmin
点击链接setup,假如涌现的都是ok,则注解postfixadmin设置装备摆设准确。
默许情形下,很有能够没有装置pcre(PerlCompatibleRegularExpressions)这个软件包。这个包是必需的,假如没有这个包,装置courier-maildrop将不克不及正常停止,关于pcre的装置,我们把它放到maildrop装置这一部门。
◆Postfix装置和设置装备摆设
这是邮件体系的焦点部门,是以装置和设置装备摆设是比拟庞杂的,特殊是做设置装备摆设时要非分特别当心,有时还须要重复修正,重复测试。
(1)装置postfix.
[root@mailserv2~]#cd
[root@mailserv2~]#tarzxvfpostfix-2.2.11.tar.gz
[root@mailserv2~]#cdpostfix-2.2.11
[root@mailserv2postfix-2.2.11]#make-fMakefile.initmakefilesCCARGS=-DHAS_MYSQL-I/usr/local/mysql/include/mysql-DUSE_SASL_AUTH-I/usr/local/include/saslAUXLIBS=-L/usr/local/mysql/lib/mysql-lmysqlclient-lz-lm-L/usr/local/lib-lsasl2
假如没成心外,make这一步很快就履行完了,接上去就是装置,应用的敕令是:
[root@mailserv2postfix-2.2.11]#makeinstall
法式先主动履行一阵子,然后会进入交互状况,期待用户的输出,普通情形下,一路回车便可完成一切的装置。
(2)设置装备摆设postfix。Postfix有自己有2个须要修正的设置装备摆设文件/etc/postfix/main.cf和/etc/postfix/master.cf,由于我们要用mysql虚拟帐号,是以须要手动加一些设置装备摆设文件,上面挨个来做这些设置装备摆设。
①main.cf。这个文件有许多行正文,观察起来不是很便利,先用敕令[root@mailserv2postfix]#sed-n/^#/!p/etc/postfix/main.cf>/etc/postfix/main.cf.new去失落正文行并生成新文件/etc/postfix/main.cf.new,然后再把它笼罩到/etc/postfix/main.cf(cp/etc/postfix/main.cf.new/etc/postfix/main.cf)。修正后的文件以下所示:
[root@mailserv2postfix]#moremain.cf
config_directory=/etc/postfix
readme_directory=no
sample_directory=/etc/postfix
sendmail_path=/usr/sbin/sendmail
html_directory=no
setgid_group=postdrop
command_directory=/usr/小知识:Linux发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。 |