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 �Czxvf 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 �Cwith-suexec-caller=daemon �Cwith-suexec-docroot=/usr/local/apache2/htdocs)
2.安装mysql:
[root@localhost mail]# useradd �CM �Cs /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服务整合成功
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服务整合成功
至此环境搭建完成
二 安装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)
以上显示表示补丁已经打上。
[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:[email protected] 发信人地址
250 2.1.0 ok
RCPT TO: [email protected] 收信人地址
250 2.1.5 ok
DATA 标记开始写信
354 End data with <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: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by mail.test.com (Postfix) with SMTP id 3EA2E2CEB07
for <[email protected]>; Wed, 11 Apr 2012 11:12:15 +0800 (CST)
subject:this is a test!
Message-Id: <[email protected]>
Date: Wed, 11 Apr 2012 11:12:15 +0800 (CST)
From: [email protected]
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: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by mail.test.com (Postfix) with SMTP id 3EA2E2CEB07
for <[email protected]>; Wed, 11 Apr 2012 11:12:15 +0800 (CST)
subject:this is a test!
Message-Id: <[email protected]>
Date: Wed, 11 Apr 2012 11:12:15 +0800 (CST)
From: [email protected]
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)
即可看见下图:
到此我们的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 <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 [email protected] extmail
Authentication succeeded. 成功提示信息
Authenticated: [email protected] (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 �CWeb 界面的邮件系统管理
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
<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的登录界面了。
在客户端访问:
http://mail.test.com/extman 就可以看见Extman后台管理登录界面了
默认管理员账户:[email protected]
默认密码:extmail*123*
登录后界面如下:
十三 设置邮件系统的图形化日志信息[root@localhost ~]# ln �Csf
/usr/local/apache2/htdocs/extman/addon/mailgraph_ext/mailgraph-init
/usr/sbin/
[root@localhost ~]# ln �Csf
/usr/local/apache2/htdocs/extman/addon/mailgraph_ext/qmonitor-init
/usr/sbin/
[root@localhost ~]# cp �Ca
/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” >> /etc/rc.d/rc.local
[root@localhost ~]# echo “/usr/sbin/qmoonitor-init start” >> /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
[email protected] 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 [email protected]
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 �CR postfix.postfix /var/spool/MailScanner/incoming
[root@localhost ~]# chown �CR 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 �Civh 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 �Clevel 35 spamassassin on
5.3 安装并配置F-Port 病毒查杀软件1) 安装F-Port 软件包安装过程中出现提示是按回车键接受默认设置
[root@localhost mail]# tar -zxvf fp-Linux-i686-ws.tar.gz �CC /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 �Ce (计划任务)
00 8 * * * /opt/f-prot/fpupdate
[root@localhost f-prot]# service crond start
[root@localhost f-prot]# chkconfig �Clevel 35 crond on
邮件的收发测试:
用我新建立的用户[email protected]给用户[email protected]发送一封邮件
用户[email protected]收到邮件:
如果输入的用户名不存在则拒绝发送。
具体根据自己的喜好来改变设置,来获得相应功能。