postfix全功能邮件服务器配置 1.postfix所需软件包及存放目录

httpd-2.2.9.tar.gz 安装源码包apache

mysql-5.0.56.tar.gz 安装源码包mysql

php-5.2.6.tar.bz2 安装php软件

postfix-2.6.2.tar.gz postfix主程序

postfix-2.6.2-vda-ng.patch.gz postfix的补丁包

dovecot-1.1.4.tar.gz IMAP和POP3邮件服务器软件

squirrelmail-1.4.13.tar.bz2 web界面邮件管理

zh_CN-1.4.13-20071220.tar.bz2 汉化包

extman-0.2.5.tar.gz 邮件后台管理程序

extmail-1.0.5.tar.gz web界面邮件管理

courier-authlib-0.62.4.tar.bz2 SMTP发信认证

Unix-Syslog-1.1.tar.gz

DBI-1.616.tar.gz

DBD-mysql-4.020.tar.gz 以上三个包为extmail的倚赖包

GD-2.46.tar.gz

File-Tail-0.99.3.tar.gz

rrdtool-1.2.23-3.el5.i386.rpm

rrdtool-perl-1.2.23-3.el5.i386.rpm 以上四个包为extman的倚赖包

fp-Linux-i686-ws.tar.gz

MailScanner-4.84.3-1.rpm.tar.gz

Mail-SpamAssassin-3.3.2.tar.gz

你可以把这些软件包放在同一个目录下,这样方便查找安装,本实验我把这些软件包放在了root的家目录下的mail目录下([root@localhost mail]#)

一 安装环境

1.安装apache:

通常情况下我们都把开源软件包都安装在/usr/local/src/下,这样方便管理和维护

[root@localhost mail]#tar –zxvf httpd-2.2.9.tar.gz -C /usr/local/src/ //解压软件包到/usr/local/src/

[root@localhost mail]#cd /usr/local/src/httpd-2.2.9 //切换到解压后的目录中

[root@localhost httpd-2.2.9]#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite //编译 ./configure 后面根据具体情况加入相应参数

#make //编辑

#make install //安装

这里我们并没有将Suexec编译进apache中去,提到这个的原因是因为后面我们装postfix时候的后台管理extman是通过CGI的方式来调用程序的,如果不启用Suexec的话那么就会限制其他用户调用CGI程序,但考虑到启用Suexec的风险我们在此就不启用它了。(启用方式:--enable-suexec –with-suexec-caller=daemon –with-suexec-docroot=/usr/local/apache2/htdocs)

2.安装mysql:

[root@localhost mail]# useradd –M –s /sbin/nologin mysql //添加mysql用户,如果安装系统时候已经装过mysql会提示用户已存在,建议在安装前先卸载掉系统自带的mysql,卸载完成后必须重启,否则新装的mysql会无法启动,提示错误信息3306端口被占有

[root@localhost mail]#tar -zxvf mysql-5.0.56.tar.gz -C /usr/local/src

[root@localhost mail]#cd /usr/local/src/mysql-5.0.56

[root@localhost mysql-5.0.56]#./configure --prefix=/usr/local/mysql

[root@localhost mysql-5.0.56]# make

[root@localhost mysql-5.0.56]# make install

配置mysql

[root@localhost mysql-5.0.56]#cp support-files/my-medium.cnf /etc/my.cnf 复制主配置文件

[root@localhost mysql-5.0.56]#/usr/local/mysql/bin/mysql_install_db --user=mysql 初始化

[root@localhost mysql-5.0.56]#chown -R root:mysql /usr/local/mysql

[root@localhost mysql-5.0.56]#chown -R mysql /usr/local/mysql/var

[root@localhost mysql-5.0.56]#echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf 添加库文件路径

[root@localhost mysql-5.0.56]#ldconfig 刷新库文件搜索路径

[root@localhost mysql-5.0.56]#/usr/local/mysql/bin/mysqld_safe --user=mysql & 后台安全启动 (如果显示启动并且卡住不动按回车)

#cd /usr/local/src/mysql-5.0.56

[root@localhost mysql-5.0.56]#cp support-files/mysql.server /etc/init.d/mysqld 复制启动脚本

[root@localhost mysql-5.0.56]#chmod +x /etc/init.d/mysqld 赋予脚本执行权限

[root@localhost mysql-5.0.56]#chkconfig --add mysqld 添加到系统自动启动服务中

[root@localhost mysql-5.0.56]#chkconfig mysqld on 默认启动mysql

[root@localhost mysql-5.0.56]#chkconfig --list mysqld 查看mysql在什么级别启动或者关闭

[root@localhost mysql-5.0.56]#echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile 设置系统全局的环境变量PATH值,方便使用mysql数据库命令

3.安装php:

[root@localhost mail]#tar -jxvf php-5.2.6.tar.bz2 -C /usr/local/src

[root@localhost mail]#cd /usr/local/src/php-5.2.6

[root@localhost php-5.2.6]#./configure --prefix=/usr/local/php5 --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5

[root@localhost php-5.2.6]# make

[root@localhost php-5.2.6]# make test

[root@localhost php-5.2.6]# make install

[root@localhost php-5.2.6]# cp php.ini-dist /usr/local/php5/php.ini 复制配置文件

[root@localhost php-5.2.6]# vim /usr/local/apache2/conf/httpd.conf 修改apache服务的主配置文件使其支持php

修改如下内容:

LoadModule php5_module modules/libphp5.so 确认这行的存在,如果没有就重新编译php

AddType application/x-httpd-php .php 添加这行记录

DirectoryIndex index.php index.html 在这行添加关于php格式的首页

然后保存退出

4.测试php是否与apache整合成功

[root@localhost ~]# vim /usr/local/apache2/htdocs/test.php

<?php

phpinfo();

?>

在浏览器中输入http://192.168.2.100/test.php 看到下图表示跟apache服务整合成功

clip_image002

Mysql测试

[root@localhost ~]# vim /usr/local/apache2/htdocs/testdb.php

<?php

$link=mysql_connect( 'localhost','test','');

If (!$link) echo "sorry It is Failed !!!";

else echo "Good It is OK !!!";

mysql_close();

?>

在IE浏览器中输入网址http://192.168.2.100/testdb.php 看到下图表示跟mysql服务整合成功

clip_image004

至此环境搭建完成

二 安装postfix 软件

1. 安装postfix之前首先停止掉系统自带的sendmail软件

[root@localhost mail]#service sendmail stop

[root@localhost mail]#chkconfig --level 2345 sendmail off

2.添加组和用户

[root@localhost mail]#groupadd -g 1200 postdrop

[root@localhost mail]#groupadd -g 1000 postfix

[root@localhost mail]#useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix

不创建宿主目录 附属组

3.安装postfix软件及依赖包

[root@localhost mail]#tar -zxvf postfix-2.6.2.tar.gz -C /usr/local/src

[root@localhost mail]#cp postfix-2.6.2-vda-ng.path.gz /usr/local/src 补丁文件,用以支持虚拟用户设置配额

[root@localhost mail]#cd /usr/local/src

[root@localhost src]#gunzip postfix-2.6.2-vda-ng.path.gz

[root@localhost src]# cd postfix-2.6.2

[root@localhost postfix-2.6.2]# patch -p1 <../postfix-2.6.2-vda-ng.patch 打补丁(注意此处-p1,后面是数字1而不是字母l)

clip_image005

以上显示表示补丁已经打上。

[root@localhost postfix-2.6.2]# 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'

[root@localhost postfix-2.6.2]# make

[root@localhost postfix-2.6.2]# make install

安装过程中会出现互动提问,直接选择默认设置即可。

4.postfix主配置文件修改

[root@localhost postfix-2.6.2]#vim /etc/postfix/main.cf

需要修改和添加的内容如下:

Inet_interfaces = all 默认设置

myhostname = mail.test.com 主机名

mydomain = test.com 邮件域名

myorigin = $mydomain 外发邮件时发件人地址中的邮件域名

mydestination = $mydomain,test.com ,$myhostnam , mail.test.com 可接收的邮件地址中的域名

home_mailbox = Maildir/ 邮件存储位置格式

[root@localhost postfix-2.6.2]#postfix check 检查配置

[root@localhost postfix-2.6.2]#postconf -m //查看是否支持mysql查询

[root@localhost postfix-2.6.2]#postfix start //启动服务

5.smtp发送邮件测试

[root@localhost postfix-2.6.2]#groupadd mailusers //添加mailusers组

[root@localhost postfix-2.6.2]#useradd -g mailusers -s /sbin/nologin wamgshuai //添加用户

[root@localhost postfix-2.6.2]#useradd -g mailusers -s /sbin/nologin test //添加用户

[root@localhost postfix-2.6.2]#passwd wangshuai //给用户wangshuai设置密码

[root@localhost postfix-2.6.2]#passewd test //给用户test设置密码

SMTP发送邮件测试

[root@localhost postfix-2.6.2]#telnet localhost 25 连接本地的SMPT端口

Tring 127.0.0.1..

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

220 mail.test.com ESMTP Postfix

Hello localhost 宣告客户端主机地址

250 mail.test.com

MAIL FROM:wangshuai@test.com 发信人地址

250 2.1.0 ok

RCPT TO: test@test.com 收信人地址

250 2.1.5 ok

DATA 标记开始写信

354 End data with &lt;CR><LF>.<CR><LF>

Subject: this is a test! 信件题目

Hello!

This is a test mail.

. “点”表示信件结束

250 2.0.0. ok:queued as 2F9AD787DA

quit 退出

221 2.0.0 Bye

Connection closed by foreign host.

查看接收到的邮件

[root@localhost~]#cat /home/test/Maildir/new/ 按tab键

看到的内容如下:

[root@localhost~]#cat /home/test/Maildir/new/1334114036.V803Ie48bM117168.localhost.localdomain

Return-Path: <wangshuai@test.com>

X-Original-To: test@test.com

Delivered-To: test@test.com

Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])

by mail.test.com (Postfix) with SMTP id 3EA2E2CEB07

for <test@test.com>; Wed, 11 Apr 2012 11:12:15 +0800 (CST)

subject:this is a test!

Message-Id: <20120411031250.3EA2E2CEB07@mail.test.com>

Date: Wed, 11 Apr 2012 11:12:15 +0800 (CST)

From: wangshuai@test.com

To: undisclosed-recipients:;

test one !!!

可以看见刚才发的那封邮件,说明SMPT没有问题。

三 安装Dovecot邮局软件 (提供pop3/imap4协议)

1.安装Dovecot

[root@localhost mail]# useradd -M -s /sbin/nologin dovecot

[root@localhost mail]# tar -zxvf dovecot-1.1.4.tar.gz -C /usr/local/src

[root@localhost mail]# cd /usr/local/src/dovecot-1.1.4

[root@localhost dovecot-1.1.4]#./configure --sysconfdir=/etc --with-mysql

[root@localhost dovecot-1.1.4]# make

[root@localhost dovecot-1.1.4]# make install

2.配置Dovecot

[root@localhost dovecot-1.1.4]#cp /etc/dovecot-example.conf /etc/dovecot.conf 复制主配置文件

[root@localhost dovecot-1.1.4]#vim /etc/dovecot.conf

修改及添加内容如下:

ssl_disable = yes 禁用SSL机制

protocols = pop3 imap 指定邮局协议

disable_plaintext_auth = no 允许明文密码认证

mail_location = maildir:~/Maildirf 设置邮件存储格式和位置

[root@localhost dovecot-1.1.4]#vim /etc/pam.d/dovecot 创建pam认证文件

添加如下内容:

auth required pam_nologin.so

auth include system-auth

account include system-auth

session include system-auth

[root@localhost dovecot-1.1.4]#/usr/local/sbin/dovecot -c /etc/dovecot.conf 启动

3.pop3邮件接收测试

[root@localhost dovecot-1.1.4]# telnet localhost 110

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

+OK Dovecot ready.

user test //输入用户名

+OK

pass 12test //输入密码

+OK Logged in.

list //列出邮件列表

+OK 1 messages:

1 481

.

retr 1 //查看第一封邮件

+OK 481 octets

下面显示邮件内容,测试完成

Return-Path: <wangshuai@test.com>

X-Original-To: test@test.com

Delivered-To: test@test.com

Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])

by mail.test.com (Postfix) with SMTP id 3EA2E2CEB07

for <test@test.com>; Wed, 11 Apr 2012 11:12:15 +0800 (CST)

subject:this is a test!

Message-Id: <20120411031250.3EA2E2CEB07@mail.test.com>

Date: Wed, 11 Apr 2012 11:12:15 +0800 (CST)

From: wangshuai@test.com

To: undisclosed-recipients:;

test one !!!

.

输入quit退出

四 安装Webmail软件

1.squirrelmail安装

[root@localhost mail]# tar -jxvf squirrelmail-1.4.13.tar.bz2 -C /usr/local/apache2/htdocs

[root@localhost mail]# cd /usr/lcaol/apache2/htdocs/

[root@localhost htdocs]# mv squirrelmail-1.4.13 webmail

[root@localhost mail]# tar -jxf zh_CH-1.4.13.tar.gz -C /usr/local/apache2/htdocs/webmail 解压汉化软件

2.配置webmail

[root@localhost htdocs]#cd webmail

[root@localhost webmail]# mkdir -p attach data

[root@localhost webmail]# chown -R daemon:daemon attach/ data/

[root@localhost webmail]# chmod 730 attache/

[root@localhost webmail]# cp config/config_default.php config/config.php 创建配置文件

[root@localhost webmail]# vim config/config.php

添加或修改内容如下:

$squirrelmail_default_language = ‘zh_CN’;

$default_charset = ‘zh_CN.UTF-8’;

$domain = ‘test.com’;

$smtpServerAddress = ‘localhost’; 设置发信服务器地址

$smtpPort = 25; 设置发信服务器端口

$imap_server_type = 'dovecot'; 设置收信服务器软件

$imapPort = 143; 设置收信服务器端口

$data_dir = '/usr/local/apache2/htdocs/webmail/data/';

$attachment_dir = '/usr/local/apache2/htdocs/webmail/attach/';

#/usr/local/apache2/bin/apachectl restart 重启 apache 服务

客户端IE地址栏中输入 http://mail.test.com/webmail (前提mail.test.com可以被解析即安装有DNS服务器,否则用ip:http://192.168.2.100/webmail)

即可看见下图:

clip_image007

到此我们的postfix+webmail已经安装完成,但是为了使我们更好的管理维护邮件服务器的前端与后台接下来我们来安装extmail和extman以便实现我们的需求。

五 初始化extmail软件

数据库脚本设置

[root@localhost mail]# service mysqld restart

[root@localhost mail]# tar -zxvf extman-0.2.5.tar.gz -C /usr/local/src

[root@localhost mail]# cd /usr/local/src/extman-0.2.5/docs

[root@localhost docs]# mysql -u root -p < extmail.sql

[root@localhost docs]# mysql -u root -p &lt;init.sql //脚本导入数据库的时候会询问密码,默认情况下root用户密码为空

六 配置postfix

1.修改配置文件

[root@localhost docs]#vim /etc/postfix/main.cf

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

设置postfix服务器可以接收的虚拟邮件域的域名

virtual_uid_maps = static:1000 设置所有虚拟邮件用户映射的本地用户的UID号

virtual_gid_maps = static:1000 设置所有虚拟邮件用户映射的本地组的GID 号

[root@localhost docs]#cp mysql_virtual_* /etc/postfix/ 在上面的三行配置中指定了这三个文件

七 为虚拟用户设置SMTP发信认证

1.安装软件

注意:确认系统中的rpm格式的mysql 软件被卸载

[root@localhost mail]# tar -jxvf courier-authlib-0.62.4.tar.bz2 -C /usr/local/src

[root@localhost mail]# cd /usr/local/src/courier-authlib-0.62.4/

[root@localhost courier-authlib-0.62.4]#./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

[root@localhost courier-authlib-0.62.4]# make

[root@localhost courier-authlib-0.62.4]# make install

[root@localhost courier-authlib-0.62.4]# make install-configure 生成默认配置文件authmysqlrc 和 authdaemonrc

2.添加courier-authlib的库文件路径

[root@localhost courier-authlib-0.62.4]#vim /etc/ld.so.conf

加入下面内容:

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

[root@localhost courier-authlib-0.62.4]#ldconfig //重新读取配置文件

3 修改authdaemonrc主配置文件

[root@localhost courier-authlib-0.62.4]#cd /usr/local/courier-authlib/etc/authlib

[root@localhost authlib]# cp authdaemonrc authdaemonrc.bak

[root@localhost authlib]# vim authdaemonrc

修改如下内容:

authmodulelist=”authmysql”

authmodulelistorig=”authmysql”

[root@localhost authlib]# chmod -R 755 /usr/local/courier-authlib/var/spool/authdaemon

4 修改authmysqlrc 文件

[root@localhost authlib]# cp authmysqlrc authmysqlrc.bak

[root@localhost authlib]# vim authmysqlrc

修改或添加如下内容:

MYSQL_SERVER localhost 数据库服务器位置

MYSQL_USERNAME extmail 数据库管理员账户

MYSQL_PASSWORD extmail 数据库管理员账户密码

MYSQL_SOCKET /tmp/mysql.sock 文件位置

MYSQL_DATABASE extmail 虚拟用户数据库

MYSQL_USER_TABLE mailbox 从mailbox表获得邮件账户信息

MYSQL_CRYPT_PWFIELD password 从password字段获得账户密码

MYSQL_UID_FIELD uidnumber 从uidnumber字段获得映射的本地用户UID

MYSQL_GID_FIELD gidnumber 从gidnumber字段获得映射的本地组GID

MYSQL_LOGIN_FIELD username 从username字段获得账户名称,带@后缀

MYSQL_HOME_FIELD concat('/mailbox/',homedir)合并出用户的宿主目录路径

MYSQL_NAME_FIELD name 从name 字段获得账户名称,不带@后缀

MYSQL_MAILDIR_FIELD concat('/mailbox/',maildir)合并出用户的邮件存储路径

5 复制脚本,启动服务

[root@localhost authlib]# cd /usr/local/src/courier-authlib-0.62.4/

[root@localhost courier-authlib-0.62.4]# cp courier-authlib.sysvinit /etc/init.d/courier-authlib

[root@localhost courier-authlib-0.62.4]#chmod 755 /etc/rc.d/init.d/courier-authlib

[root@localhost courier-authlib-0.62.4]#chkconfig --level 35 courier-authlib on

[root@localhost courier-authlib-0.62.4]#service courier-authlib start

八 修改Cyrus sasl设置

[root@localhost ~]# vim /usr/lib/sasl2/smtpd.conf

加入如下内容:

pwcheck_method:authdaemond

authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

九 修改 Dovecot配置

1.修改Dovecot的主配置文件

[root@localhost ~]#vim /etc/dovecot.conf

mail_location = maildir:/mailbox/%d/%n/Maildir

…………………………………………………………………….省略号表示文件中原有的内容

auth default {

mechanisms = plain

passdb sql {

args = /etc/dovecot-mysql.conf

}

userdb sql {

args = /etc/dovecot-mysql.conf

}

……………………………………………………………………...省略号表示文件中原有内容

2 建立数据查询配置文件

[root@localhost ~]#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’ 查询用户身份语句

十 建立虚拟用户

1 建立邮箱目录并调整权限

[root@localhost ~]#mkdir -p /mailbox/extmail.org/postmaster/Maldir

[root@localhost ~]#cd /mailbox/extmail.org/postmaster/Maildir

[root@localhost Maldir]# chown -R postfix:postfix /mailbox

[root@localhost Maldir]# dovecot 启动服务

2 虚拟用户测试

确认authlib服务

[root@localhost Maldir]# /usr/local/courier-authlib/sbin/authtest -s login postmaster@extmail.org extmail

Authentication succeeded. 成功提示信息

Authenticated: postmaster@extmail.org (uid 1000, gid 1000)

Home Directory: /mailbox/extmail.org/postmaster

Maildir: /mailbox/extmail.org/postmaster/Maildir/

Quota: (none)

Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0

Cleartext Password: extmail

Options: (none)

十一 ExtMail平台

基于Perl 语言开发的中文Webmail管理平台

套件:ExtMail --Web 界面的邮件操作

Extman –Web 界面的邮件系统管理

1平台安装

3个倚赖包

[root@localhost mail]# tar -zxvf Unix-Syslog-1.1.tar.gz -C /usr/local/src

[root@localhost mail]# cd /usr/local/src/Unix-Syslog-1.1

[root@localhost Unix-Syslog-1.1]# perl Makefile.PL

[root@localhost Unix-Syslog-1.1]# make

[root@localhost Unix-Syslog-1.1]# make install

[root@localhost mail]# tar -zxvf DBI-1.616.tar.gz -C /uar/local/src

[root@localhost mail]# cd /usr/local/src/DBI-1.616

[root@localhost DBI-1.616]# perl Makefile.PL

[root@localhost DBI-1.616]# make

[root@localhost DBI-1.616]# make install

[root@localhost mail]# tar -zxvf DBD-mysql-4.020.tar.gz -C /usr/local/src

[root@localhost mail]# cd /usr/loca/src/DBD-4.020

[root@localhost DBD-mysql-4.020]# perl Makefile.PL

[root@localhost DBD-mysql-4.020]# make

[root@localhost DBD-mysql-4.020]# make install

注意以上三个包在编译安装过程可能会提示警告信息 隐式函数 计算出的变量值未被使用等,只要没有error信息就一切ok

安装ExtMail

[root@localhost mail]# tar -zxvf extmail-1.0.5.tar.gz -C /usr/local/apache2/htdocs

[root@localhost mail]# cd /usr/local/apache2/htdocs

[root@localhost htdocs]# mv extmail-1.0.5 extmail

[root@localhost htdocs]# cd extmail

[root@localhost extmail]# chown -R postfix:postfix cgi

[root@localhost extmail]# cp webmail.cf.default webmail.cf

2 修改配置文件

[root@localhost extmail]#vim webmail.cf

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 访问mysql数据库的用户

SYS_MYSQL_PASS = extmail 访问mysql数据库的用户的密码

SYS_MYSQL_DB = extmail 使用数据库的名称

SYS_MYSQL_HOST = localhost 数据库服务器地址

SYS_MYSQL_SOCKET = /tmp/mysql.sock 数据库套接文件位置

3 修改apache服务,添加虚拟主机

[root@localhost extmail]#vim /usr/local/apache2/conf/httpd.conf

添加如下内容:

NameVirtualHost *:80

&lt;VirtualHost *:80>

ServerName mail.wisefund.com

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

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

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

</VirtualHost>

User postfix 找到 User 该用户为postfix

Group postfix 找到 Group 该组为postfix

这里由于前面我们并没有启用Suexec 所以我们没有在虚拟主机中添加 SuexecUerGroup postfix postfix

[root@localhost extmail]#/usr/local/apache2/bin/apachectl restart //重启服务

十二 Extman平台 1安装包

5个倚赖包

[root@localhost mail]# tar -zxvf GD-2.46.tar.gz -C /usr/local/src

[root@localhost mail]# cd /usr/local/src/GD-2.46

[root@localhost GD-2.46]# perl Makefile.PL

[root@localhost GD-2.46]# make

[root@localhost GD-2.46]# make install

[root@localhost mail]# tar -zxvf File-Tail-0.99.3.tar.gz -C /uar/local/src

[root@localhost mail]# cd /usr/local/src/File-Tail-0.99.3

[root@localhost File-Tail-0.99.3]# perl Makefile.PL

[root@localhost File-Tail-0.99.3]# make

[root@localhost File-Tail-0.99.3]# make install

[root@localhost mail]# rpm -ivh rrdtool-1.2.23-3.el5.i386.rpm

[root@localhost mail]# rpm -ivh rrdtool-perl-1.2.23-3.el5.i386.rpm

Extman 套件

[root@localhost mail]# tar -zxvf extman-0.2.5.tar.gz -C /usr/local/apache2/htdocs

[root@localhost mail]# cd /usr/local/apache2/htdocs

[root@localhost htdocs]# mv extman-0.2.5 extman

[root@localhost htdocs]# cd extman

[root@localhost extman]# chown -R postfix:postfix cgi

[root@localhost extman]# mkdir /tmp/extman // 临时回话保存目录

[root@localhost extman]# chown -R postfix:postfix /tmp/extman

2 修改配置文件

[root@localhost extman]# vim /usr/local/apache2/htdocs/extman/webman.cf

修改如下内容:

SYS_CONFIG = /usr/local/apache2/htdocs/extman/ 程序根目录

SYS_LANGDIR = /usr/local/apache2/htdocs/extman/lang 语言包文件目录

SYS_TEMPLDIR = /usr/local/apache2/htdocs/extman/html 系统模版目录

SYS_MAILDIR_BASE = /mailbox 邮件数据存放路径

SYS_MYSQL_USER = webman 访问mysql数据库的用户

SYS_MYSQL_PASS = webman 访问mysql数据库的用户的密码

SYS_MYSQL_DB = extmail 使用的数据库名称

SYS_MYSQL_HOST = localhost 数据库服务器地址

SYS_MYSQL_SOCKET = /tmp/mysql.sock 数据库套接文件位置

3 调整apache主配文件。添加extman相关目录别名

[root@localhost extman]# vim /usr/local/apache2/conf/httpd.conf

修改内容如下:

NameVirtualHost *:80

<VirtualHost *:80>

ServerName mail.wisefund.com

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

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/"

</VirtualHost>

#/usr/local/apache2/bin/apachectl restart

现在在客户端访问:

http://mail.test.com 就可以看见ExtMail的登录界面了。

clip_image009

在客户端访问:

http://mail.test.com/extman 就可以看见Extman后台管理登录界面了

clip_image011

默认管理员账户:root@extmail.org

默认密码:extmail*123*

登录后界面如下:

clip_image013

十三 设置邮件系统的图形化日志信息

[root@localhost ~]# ln –sf

/usr/local/apache2/htdocs/extman/addon/mailgraph_ext/mailgraph-init

/usr/sbin/

[root@localhost ~]# ln –sf

/usr/local/apache2/htdocs/extman/addon/mailgraph_ext/qmonitor-init

/usr/sbin/

[root@localhost ~]# cp –a

/usr/local/apache2/htdocs/extman/addon/mailgraph_ext

/usr/local

[root@localhost ~]# mailgraph-init start

[root@localhost ~]# qmonitor start

[root@localhost ~]# echo “/usr/sbin/mailgraph-init start” &gt;&gt; /etc/rc.d/rc.local

[root@localhost ~]# echo “/usr/sbin/qmoonitor-init start” &gt;&gt; /etc/rc.d/rc.local

十四 垃圾邮件过滤 1 根据客户端的主机名/地址过滤邮件

[root@localhost ~]# vim /etc/postfix/main.cf

smtpd_client_restrictions = check_client_access hash:/etc/postfix/access

[root@localhost ~]# vim /etc/postfix/access

192.168.4 REJECT

192.168.4.1 OK

bbc.com REJECT

[root@localhost ~]# postmap /etc/postfix/access //读取配置

2 根据客户机HELO 信息中的主机名地址过滤邮件

[root@localhost ~]# vim /etc/postfix/main.cf

smtpd_helo_required = yes //允许helo答复

smtpd_helo_restrictions = reject_invalid_hostname //拒绝无效主机

[root@localhost ~]# postfix reload //重新读取配置文件

3 根据发件人的地址过滤邮件

[root@localhost ~]# vim /etc/postfix/mail.cf

smtpd_sender_login_maps =

mysql:/etc/postfix/mysql_virtual_sender_maps.cf, //mysql中存在的用户

mysql:/etc/postfix/mysql_virtual_alias_maps.cf //mysql 中存在的用户别名

smtpd_sender_restrictions =

permit_mynetworks, //允许本机发送邮件

reject_sender_login-mismatch, //拒绝发送者在$smtpd_sender_owner_maps中所匹配的用户名和SASL登录名不一致的连接

reject_non_fqdn_sender, //拒绝发送者邮件的域不是FQDN格式的连接

reject_unknown_sender_domain, //拒绝发送者的域没有DNS的A记录或MX记录的连接

check_sender_access hash:/etc/postfix/sender_access

[root@localhost ~]# vim /etc/postfix/sender_access

ads@xxxx.com REJECT

marketing@ REJECT

fake.aptech.com REJECT

[root@localhost ~]# postmap /etc/postfix/sender_access

4 根据收件人的地址过滤邮件

[root@localhost ~]# vim /etc/postfix/main.cf

smtpd_recipient_restrictions =

permit_mynetworks,

permit_sasl_authenticated,

reject_unauth_destination,

reject_non_fqdn_ recipient,

reject_unknown_recipient_domain

[root@localhost ~]# postfix restart

5 基于邮件内容的过滤 5.1安装并配置MailScanner 扫描调度工具

1) 安装MailScanner 扫描调度工具

[root@localhost ~]# tar -zxvf MailScanner-4.84.3-1.rpm.tar.gz

[root@localhost ~]# cd MailScanner-4.84.3-1

[root@localhost MailScanner-4.84.3-1]# ./install.sh

2) 修改配置文件MailScanner

[root@localhost ~]# vim /etc/MailScanner/MailScanner.conf

修改如下内容:

Run As User = postfix

Run As Group = postfix

Incoming Queue Dir = /var/spool/postfix/hold

Outgoing Queue Dir = /var/spool/postfix/incoming

MTA =postfix

Required SpamAssassin Score =7

High SpamAssassin Score = 10

Spam Actions = deliver header “X-Spam-Status: Yes”

High Soring Spam Actions = delete forward spam@extmail.org

3) 配置Postfix 支持调用MailScanner

[root@localhost ~]# vim /etc/postfix/main.cf

header_checks = regexp: /etc/postfix/header_checks

[root@localhost ~]# vim /etc/postfix/header_checks

加入下列内容:

/^Received:/HOLD

4) 调整邮件过滤队列的目录属主、属组,并启动MailScanner 服务程序

[root@localhost ~]# chown –R postfix.postfix /var/spool/MailScanner/incoming

[root@localhost ~]# chown –R postfix.postfix /var/spool/MailScanner/quarantine

[root@localhost ~]# service MailScanner start

[root@localhost ~]# chkconfig --level 35 MailScanner on

5.2 安装并配置SpamAssassin 垃圾邮件过滤器

1) 安装并配置SpamAssassin 垃圾邮件过滤器

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

[root@localhost ~]# cd /mnt/cdrom/Server

[root@localhost media]# rpm –ivh spamassassin-3.2.5-1.e15.i386.rpm

2) 修改配置文件local.cf

(位于“/etc/mail/spamassassin/local.cf”,一般不需要进行任何修改,保持默认设置即可)

3) 启动SpamAssassin 服务

[root@localhost ~]# service spamassassin start

[root@localhost ~]# chkconfig –level 35 spamassassin on

5.3 安装并配置F-Port 病毒查杀软件

1) 安装F-Port 软件包安装过程中出现提示是按回车键接受默认设置

[root@localhost mail]# tar -zxvf fp-Linux-i686-ws.tar.gz –C /opt/

[root@localhost mail]# cd /opt/f-prot/

[root@localhost f-prot]# ./install-f-prot.pl

2) 升级F-Port 病毒库(服务器要能够访问Internet 互联网)

[root@localhost f-prot]# /opt/f-prot/fpupdate

[root@localhost f-prot]# crontab –e (计划任务)

00 8 * * * /opt/f-prot/fpupdate

[root@localhost f-prot]# service crond start

[root@localhost f-prot]# chkconfig –level 35 crond on

邮件的收发测试:

用我新建立的用户2@test.com给用户1@test.com发送一封邮件

clip_image015

用户1@test.com收到邮件:

clip_image017

如果输入的用户名不存在则拒绝发送。

具体根据自己的喜好来改变设置,来获得相应功能。

clip_image019