在安装之前先确认系统中已经有编译安装好的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行去#,指定邮箱目录(在每个人的家目录里)
注意:此时需要有DNS的MX记录,负责解析main.benet.com到主机www.benet.com上面,而www.benet.com的主机记录是安装postfix的IP地址。
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
#cd /usr/src/extman
#/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
-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
#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,使之支持收取数据库邮件,注意内容原文件有,仅需去#符号即可,行号大约为:208,790,899,962行左右。
#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
#tar -xzf DBI
#tar -xzf DBD
#tar -xzf extmail
#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
修改webmail使得该网站可以连接数据库:
#vim /usr/local/apache2/htdocs/extmail/webmail.cf
以下内容行号:2,5,8,112,124,125,126,127,128
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 该行不可输入,否则报错!
该文件的66,67行,需要修改为
User postfix
Group postfix
完成!!!在Windows XP上使用IE浏览器访问,Linux服务器网页即可
默认邮件账户: [email protected], 密码:extmail