在安装之前先确认系统中已经有编译安装好的LAMP架构

  编译安装postfix

由于系统中有rpm安装的postfix,需要将其卸载掉,并且停止掉sendmail服务,然后才能够开始安装。

service  sendmail  stop     当前关闭

chkconfig  sendmail  off    永久关闭

1)、从官方站点http://mirror.postfixchina.org下载源码包,postfix-2.4.6.tar.gz,并从站点http://vda.sourceforge.org下载补丁包postfix-2.4.6-vda-ng.patch.gz

创建postfix的用户和组:

#groupadd  -g  1200  postdrop
#groupadd  -g  1000  postfix
#useradd   -u  1000  -g  postfix  -G  postdrop  postfix

  2)、解压并释放源码包

#tar zxvf postfix-2.4.6.tar.gz –C /usr/src
#gunzip postfix-2.4.6-vda-ng.patch.gz
#cd postfix-2.4.6
#patch  -p1  <  /补丁所在目录 /postfix-2.4.6-vda-ng.patch

  3)、预编译配置参数

[root@mail postfix-2.4.6]# make makefiles \

> 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \

> -DUSE_SASL_AUTH \

> -DUSE_CYRUS_SASL -I/usr/include/sasl' \

> 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient  -lz  -lm  \

> -L/usr/lib/sasl2  -lsasl2 '

注意:“\”是命令换行标记,因为命令太长,所以用“\”换行输入

l  CCARGS参数:C语言编译器提供额外的参数(C-language Compiler Arguments ),-I选项(字母i的大写)指出额外的头文件的存放目录

l  AUXLIBS参数:指出位于标准位置之外的额外/辅助的函数库(Auxiliaries Libraries),-lmysqlclient-lz-lm-lsasl2中的”l“为字母L的小写

 

4)、make编译,make install 安装

执行安装的时候,期间会遇到一些设置参数,直接按回车即可。

 

三、      修改配置文件

Postfix的主配置文件位于/etc/postfix/main.cf,不过在修改之前,我们最好先备份一下它,执行下面的命令:
     #cd /etc/postfix
   #cp main.cf main.cf.bak
   #postfix –n > main.cf

      然后,再执行vim main.cf修改配置文件

69行去#符号,myhostname = mail.benet.com
93行去#      myorigin = $mydomain //本机发送的邮件后缀[email protected]
77行去#mydomain = benet.com
154行去#mydestination = $myhostname, $mydomain 可以收取的邮件
409行去#,指定邮箱目录(在每个人的家目录里)

 

注意:此时需要有DNSMX记录,负责解析main.benet.com到主机www.benet.com上面,而www.benet.com的主机记录是安装postfixIP地址。

 

Postfix的配置文件中也可以有几个选项:

mynetworks = 192.168.0.0/24  //仅允许192.168.0.0网段访问

message_size_limit = 10484760   //设置邮件大小上限为10M

mailbox_size_limit=209715200    //设置邮箱空间的上限为200M

 

设置完毕以后,就可以启动postfix服务了

      echo “/usr/sbin/postfix start” >> /etc/rc.local

   postfix start

 

四、      编译安装Dovecot

由于postfix只支持SMTP协议,所以它只能发邮件,不能接邮件。为了使用POP3协议和IMAP4协议接邮件,我们需要软件dovecot。在安装dovecot之前,我们需要为dovecot创建一个同名用户

Useradd –M –s /sbin/nologin dovecot

    安装dovecot,依次执行以下命令
   tar zxvf dovecot-1.1.4.tar.gz –C /usr/src
   cd /usr/src/dovecot-1.1.4
   ./configure –sysconfdir=/etc
   make && make install
   cp /etc/dovecot-example.conf /etc/dovecot.conf

 

然后修改配置文件:vim /etc/dovecot.conf

  23,protocols = pop3  imap
  47行,disable_plaintext_auth = no
  87行,ssl_disable = yes        禁用加密
  208行去#符号

 

创建验证文件:

vim  /etc/pam.d/dovecot


auth   required  pam_nologin.so
auth   include   system-auth
account include   system-auth
session include   system-auth

:wq   保存退出

启动服务:/usr/local/sbin/dovecot  -c  /etc/dovecot.conf


安装好了dovecot,并和postfix同时启动以后,还需要配置邮件的认证:

#cp  /usr/lib/sasl2/Sendmail.conf   /usr/lib/sasl2/smtpd.conf

#vim  /usr/lib/sasl2/smtpd.conf    

内容如下:

pwcheck_method:sasluthd

 

启动服务: service  saslauthd  start

 


搭建完成的WEB界面,并支持Postfix虚拟用户

 

安装extman,并修改配置文件

#tar  -xzf  extman   -C  /usr/src

#cd  /usr/src/extman/docs

#/usr/local/mysql/bin/mysql  -u  root  < extmail.sql

#/usr/local/mysql/bin/mysql  -u  root  < init.sql

 

二、修改配置文件

 

#vim  /etc/postfix/main.cf

其中mydestination那行,原文件有仅需要添加#符号即可

余下所有行需要手动添加至文件末尾


#mydestination = $mydomain, $myhostname
virtual_mailbox_base = /mailbox
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000

 

 

复制数据库文件:

#cp  mysql_virtual_*   /etc/postfix/

  安装courier,该软件可以验证数据库中的用户与密码

#cd  /media/20
#tar  -xjf  courier    -C   /usr/src
#cd  /usr/src/courier
#./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with
-authmysql --with-redhat --with-mysql-libs=/usr/local/mysql/lib/mysql/ --with-
mysql-includes=/usr/local/mysql/include/mysql/

#make && make install

#make install-configure

  #vim  /etc/ld.so.conf   

在该文件末尾添加一行

/usr/local/courier-authlib/lib/courier-authlib

保存退出后,执行命令ldconfig

 

修改第一个配置文件:

#vim  /usr/local/courier-authlib/etc/authlib/authdaemonrc

27行改为:authmodulelist="authmysql"

34行改为:authmodulelistorig="authmysql"

 

修改一下权限:

#chmod  -R  755  /usr/local/courier-authlib/var/spool/authdaemon/

 

修改第二个配置文件:

#vim  /usr/local/courier-authlib/etc/authlib/authmysqlrc

备注:参数分别位于,26,27,28,49,68,83,92,113,119,128,133,139,150行。
MYSQL_SERVER            localhost
MYSQL_USERNAME          extmail
MYSQL_PASSWORD          extmail
MYSQL_SOCKET            /tmp/mysql.sock
MYSQL_DATABASE          extmail
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         uidnumber
MYSQL_GID_FIELD         gidnumber
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        concat('/mailbox/',homedir)
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     concat('/mailbox/',maildir)

 

拷贝启动脚本:

#cp  /usr/src/courier/courier-authlib.sysvinit   /etc/init.d/courier-authlib
#chmod  755  /etc/init.d/courier-authlib

 

#service  courier-authlib  start


#cp  /usr/lib/sasl2/Sendmail.conf   /usr/lib/sasl2/smtpd.conf
#vim  /usr/lib/sasl2/smtpd.conf
pwcheck_method:authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket

 

配置Dovecot,使之支持收取数据库邮件,注意内容原文件有,仅需去#符号即可,行号大约为:208790899962行左右。

 

#vim  /etc/dovecot-mysql.conf (该文件默认不存在,需要手动创建)内容如下:


driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox
WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox
WHERE username = '%u'

 

 

创建目录,并修改其权限

#mkdir  -p   /mailbox/extmail.org/postmaster/Maildir/

#chown  -R  postfix:postfix  /mailbox

 

最后,部署Extmail邮件系统(支持使用浏览器收发邮件)

 

#cd  /media/20

#tar  -xzf  Unix-Sys   -C  /usr/src

#tar  -xzf  DBI    -C  /usr/src

#tar  -xzf  DBD    -C /usr/src

#tar  -xzf   extmail   -C  /usr/src

#PATH=$PATH:/usr/local/mysql/bin/

 

#cd  /usr/src/Unix

#perl  Makefile.PL

#make  &&  make  install

 

#cd  /usr/src/DBI

#perl  Makefile.PL

#make  &&  make  install

 

#cd  /usr/src/DBD

#perl  Makefile.PL

#make  &&  make  install

 

 

#mv  /usr/src/extmail   /usr/local/apache2/htdocs/extmail将网站拷贝到apache目录下发布网站。

 

修改webmail使得该网站可以连接数据库

#vim  /usr/local/apache2/htdocs/extmail/webmail.cf   

以下内容行号:258112124125126127128

 

SYS_CONFIG = /usr/local/apache2/htdocs/extmail/

SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang

SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html

SYS_MAILDIR_BASE = /mailbox

SYS_MYSQL_USER = extmail

SYS_MYSQL_PASS = extmail

SYS_MYSQL_DB = extmail

SYS_MYSQL_HOST = localhost

SYS_MYSQL_SOCKET = /tmp/mysql.sock

 

#vim  /usr/local/apache2/conf/httpd.conf

NameVirtualHost *:80

 

    DocumentRoot "/usr/local/apache2/htdocs/extmail/html/"

    ServerName mail.example.com

    ScriptAlias /extmail/cgi/ /usr/local/apache2/htdocs/extmail/cgi/

    Alias /extmail /usr/local/apache2/htdocs/extmail/html/

    ScriptAlias /extman/cgi /usr/local/apache2/htdocs/extman/cgi

    Alias /extman /usr/local/apache2/htdocs/extman/html/

!!注意:SuexecUserGroup  postfix  postfix   该行不可输入,否则报错!

该文件的6667行,需要修改为

User  postfix

Group postfix

完成!!!在Windows XP上使用IE浏览器访问,Linux服务器网页即可

默认邮件账户: [email protected], 密码:extmail