前言:
本人之前已经做过这个实验,只是版本不同,今天本来想用全新版本的源码包做实验,但是以httpd-2.4.2.tar.gz的源码包在配置虚拟主机这一块我不知道如何配置,按照以前的配置总是报错:AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/apache2/conf/httpd.conf:491,在此纠结了很久,最终未果,就换了httpd-2.2.9的源码包做的实验,一路下来偶尔出点小插曲,但差不多都解决了,但是在登录webmail界面的时候我的图片不能正常显示,检查了配置文件,仍然没有解决,请大家多多指教一下,下面是我在虚拟机上的配置过程:
先把我实验的包大概说一下:
下面是实验过程
[root@mail ~]# uname -a //检查系统环境
Linux mail 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux
[root@mail ~]#
[root@mail ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost localhost.localdomain
192.168.10.170 mail.chenkui.com //添加主机解析记录
::1 localhost6.localdomain6 localhost6
[root@mail ~]#
[root@mail ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=mail 修改主机名
GATEWAY=192.168.10.1
[root@mail ~]# init 6 //在此修改主机名要重启才能生效
构建本地DVD yum源
安装createrepo软件包//在系统光盘中自带有此软件包
手动挂载光驱:mount /dev/cdrom /mnt Or /dev/dhc /mnt 这个时候,进入/mnt就可以看到光盘上的文件了
[root@mail ~]# rpm -ivh /mnt/Server/createrepo-0.4.11-3.el5.noarch.rpm
warning: /mnt/Server/createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:createrepo ########################################### [100%]
[root@mail ~]#
然后修改/etc/yum.repos.d/rhel-debuginfo.repo,把里面的内容修改成如下:
[root@mail mnt]# vi /etc/yum.repos.d/rhel-debuginfo.repo
[Cluster]
enabled = 1 //1表示repo中定义的源是启用的,0为禁用
name = Cluster //目录名称可自定义,在此我就把它定义为光盘中软件的目录名称
baseurl = file:///mnt/Cluster //把光盘挂载在哪个目录下面,此处就定义哪个目录
gpgcheck = 0 //表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的,一般在此不启用
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release//定义用于校验的gpg密钥,当不启用的时候可以不定义该
url
[Server]
enabled = 1
name = Server
baseurl = file:///mnt/Server
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
enabled = 1
name = ClusterStorage
baseurl = file:///mnt/ClusterStorage
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
enabled = 1
name = VT
baseurl = file:///mnt/VT
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
保存退出
构建DNS域名服务
有了以上的yum本地源,可以直接使用yum安装相关包
[root@mail ~] yum install bind-* -y //-y表示默认确定安装,不加-y后面会有交互式的提示
安装缓存包,用于创建 named.conf 主配置文件
[root@mail ~] cd /var/named/chroot/etc/
[root@mail etc]# rpm -ivh /mnt/Server/caching-nameserver-9.3.6-16.P1.el5.i386.rpm
Preparing... ########################################### [100%]
1:caching-nameserver ########################################### [100%]
[root@mail etc]# ll
总计 16
-rw-r--r-- 1 root root 405 05-10 21:03 localtime
-rw-r----- 1 root named 1230 2010-12-03 named.caching-nameserver.conf
-rw-r----- 1 root named 955 2010-12-03 named.rfc1912.zones
-rw-r----- 1 root named 113 05-15 15:50 rndc.key
[root@mail etc]# cp -p named.caching-nameserver.conf named.conf //-p表示复制文件的属性
[root@mail etc]# vi named.conf
options {
directory "/var/named";
};
zone "chenkui.com" IN {
type master;
file "chenkui.zone";
};
zone "10.168.192.in-addr.arpa" in {
type master;
file "chenkui.zero";
};
[root@mail etc]# named-checkconf named.conf //检查配置文件有没有语法错误,如果没有任何输出结果表示没有错误
[root@mail etc]# //在此没有输出结果
[root@mail etc]# cd ../var/named/
[root@mail named]# ll
总计 36
drwxrwx--- 2 named named 4096 2004-08-26 data
-rw-r----- 1 root named 198 2010-12-03 localdomain.zone
-rw-r----- 1 root named 195 2010-12-03 localhost.zone
-rw-r----- 1 root named 427 2010-12-03 named.broadcast
-rw-r----- 1 root named 1892 2010-12-03 named.ca
-rw-r----- 1 root named 424 2010-12-03 named.ip6.local
-rw-r----- 1 root named 426 2010-12-03 named.local
-rw-r----- 1 root named 427 2010-12-03 named.zero
drwxrwx--- 2 named named 4096 2004-07-27 slaves
[root@mail named]# cp -p localhost.zone chenkui.zone //创建区域数据库文件
[root@mail named]# vi chenkui.zone
$TTL 86400
@ IN SOA chenkui.com. root.chenkui.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS www.chenkui.com.
www IN A 192.168.10.170
mail IN A 192.168.10.170
IN MX 10 mail.chenkui.com.
* IN A 192.168.10.170
pop3 IN CNAME mail
smtp IN CNAME mail
:wq //保存退出
[root@mail named]# cp -p chenkui.zone chenkui.zero //创建反向解析文件
[root@mail named]# vi chenkui.zero
$TTL 86400
@ IN SOA chenkui.com. root.chenkui.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS www.chenkui.com.
170 IN PTR www.chenkui.com.
170 IN PTR mail.chenkui.com.
:wq //保存退出
[root@mail ~]# cd /var/named/chroot/var/named/
[root@mail ~]# named-checkzone chenkui.com chenkui.zone
zone chenkui.com/IN: loaded serial 42
OK
[root@mail named]# // named-checkzone通过检查句法的正确性来检查区带(zone)文件的正确性。named-checkzone如果没有检查到错误,会返回一个简单的“OK”字
符。
[root@mail ~]# vi /etc/resolv.conf
nameserver 192.168.10.170 //修改DNS指向自己
[root@mail etc]# nslookup 192.168.10.170 //验证反向解析
Server: 192.168.10.170
Address: 192.168.10.170#53
170.10.168.192.in-addr.arpa name = www.chenkui.com.
170.10.168.192.in-addr.arpa name = mail.chenkui.com.
[root@mail etc]# nslookup mail.chenkui.com
Server: 192.168.10.170
Address: 192.168.10.170#53
Name: mail.chenkui.com
Address: 192.168.10.170
[root@mail etc]#
[root@mail etc]# chkconfig named on //添加为随系统启动
[root@mail etc]# chkconfig --add named //添加到系统服务列表
[root@mail etc]# rndc reload
server reload successful
构建LAMP平台
在此我使用的是httpd-2.2.9的源码包,安装之前需要安装apr-1.4.6.tar.gz、apr-util-1.4.1.tar.gz、pcre-8.30.zip等软件包支持http
[root@mail etc]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail etc]# cd /mnt
[root@mail mnt]# ll
总计 64272
-r-xr-xr-x 1 root root 982243 04-29 11:49 apr-1.4.6.tar.gz
-r-xr-xr-x 1 root root 774770 04-29 11:50 apr-util-1.4.1.tar.gz
-r-xr-xr-x 1 root root 5583905 04-29 15:23 cmake-2.8.6.tar.gz
-r-xr-xr-x 1 root root 5616185 04-29 11:02 httpd-2.4.2.tar.gz
-r-xr-xr-x 1 root root 875425 05-09 14:59 libmcrypt-2.5.8.tar.bz2
-r-xr-xr-x 1 root root 471915 05-09 15:10 mcrypt-2.6.8.tar.gz
-r-xr-xr-x 1 root root 655906 05-09 15:08 mhash-0.9.9.9.tar.bz2
-r-xr-xr-x 1 root root 24475686 05-25 11:43 mysql-5.5.22.tar.gz
-r-xr-xr-x 1 root root 1285776 04-29 12:37 pcre-8.10.tar.gz
-r-xr-xr-x 1 root root 1409751 04-29 12:34 pcre-8.10.zip
-r-xr-xr-x 1 root root 11707402 04-29 18:44 php-5.3.10.tar.bz2
-r-xr-xr-x 1 root root 11439508 05-09 14:30 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 531360 05-22 21:00 squirrelmail-webmail-1.4.22.tar.bz2
[root@mail mnt]# tar zxvf apr-1.4.6.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/apr-1.4.6/
[root@mail apr-1.4.6]# ./configure --prefix=/usr/local/apr
[root@mail apr-1.4.6]# make && make install
2、
[root@mail mnt]# tar -zxvf apr-util-1.4.1.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/apr-util-1.4.1/
[root@mail apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@mail apr-util-1.4.1]# make && make install
3、
unzip pcre-8.30.zip -d /usr/src
cd /usr/src/pcre-8.30
./configure --prefix=/usr/local/pcre
make && make install
uzip解压参数
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
4、
[root@mail mnt]# tar -zxvf httpd-2.2.9.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/httpd-2.2.9
[root@mail httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
[root@mail httpd-2.2.9]# make && make install
[root@mail httpd-2.2.9]# vi /usr/local/apache2/conf/httpd.conf
ServerName mail.chenkui.com
[root@mail httpd-2.2.9]# vi /etc/profile
56 PATH=$PATH:/usr/local/apache2/bin/
[root@mail httpd-2.2.9]# . /etc/profile //重新载入环境变量
[root@mail apache2]# echo $PATH //此时已经有apache的变量路径存在
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache2/bin/
[root@mail apache2]# apachectl -t
Syntax OK
[root@mail apache2]# vi /etc/ld.so.conf/
/usr/local/apache2/lib/ //添加apache的库文件搜索路径
[root@mail apache2]# ldconfig //重新加载库文件搜索路径
[root@mail apache2]# apachectl start
httpd (pid 21702) already running
[root@mail apache2]# netstat -nplt | grep httpd
tcp 0 0 :::80 :::* LISTEN 21702/httpd
[root@mail apache2]#
安装Mysql5.5.22
现在的5.5版本以上的MySQL都使用Cmake进行编译安装,所以在安装MySQL之前我们首先要把Cmake装在我们的系统。
我们所需要的软件源码包有以下:
cmake-2.8.6.tar.gz
mysql-5.5.22.tar.gz
1、安装Cmake
#安装所需依赖关系
yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel
freetype-devel libXpm-devel gettext-devel pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel libicu libicu-devel
libmcrypt libmcrypt-devel mcrypt libmhash libmhash-devel
[root@mail mnt]# tar -jxvf libmcrypt-2.5.8.tar.bz2 -C /usr/src/
[root@mail libmcrypt-2.5.8]# ./configure
[root@mail libmcrypt-2.5.8]# make && make install
[root@mail mnt]# tar -zxvf mhash-0.9.9.tar.gz -C /usr/src
[root@mail mnt]# cd /usr/src/
[root@mail mhash-0.9.9]# ./configure
[root@mail mhash-0.9.9]# make && make install
[root@mail mnt]# tar -zxvf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/mcrypt-2.6.8/
[root@mail mcrypt-2.6.8]# ln -s /usr/local/libmcrypt/lib/libmcrypt.la /usr/lib/libmcrypt.la
[root@mail mcrypt-2.6.8]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so /usr/lib/libmcrypt.so
libmcheck.a libmcop_mt.la libmcop_mt.so.1 libmcop.so libmcop.so.1.0.0
libmcop.la libmcop_mt.so libmcop_mt.so.1.0.0 libmcop.so.1 libmcrypt.la
[root@mail mcrypt-2.6.8]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so /usr/lib/libmcrypt.so
[root@mail mcrypt-2.6.8]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
[root@mail mcrypt-2.6.8]# ln -s /usr/local/libmcrypt/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
[root@mail mcrypt-2.6.8]#
[root@mail mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
[root@mail mcrypt-2.6.8]# ./configure
[root@mail mcrypt-2.6.8]# make && make install
安装cmake
[root@mail mnt]# tar zxvf cmake-2.8.6.tar.gz -C /usr/src
[root@mail mnt]# cd /usr/src/cmake-2.8.6/
[root@mail mnt]# ./configure && make && make install
2、编译安装配置MySQL
创建所需目录mkdir -pv /usr/local/mysql/data //同时创建mysql和data两个目录并输出创建信息
创建mysql组 groupadd mysql
创建mysql用户 useradd -M -g ysql -s /sbin/nologin mysql //创建mysql用户并加入mysql组,并不能登录到系统
解压源码
[root@mail mnt]# tar -zxvf mysql-5.5.22.tar.gz -C /usr/src/ /本人一般解压在此目录下面
[root@mail mnt]# cd /usr/src/mysql-5.5.22
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8-
DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -
DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径
[root@mail mysql-5.5.22]# make && make install
#复制配置文件
[root@mail mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
#设置权限
[root@mail mysql-5.5.22]# chmod +x /usr/local/mysql/
[root@mail mysql-5.5.22]# chown -R mysql.mysql /usr/local/mysql/
[root@mail mysql-5.5.22]# chown -R mysql.mysql /usr/local/mysql/data/
[root@mail mysql-5.5.22]#
#配置开机自动启动
[root@mail mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mail mysql-5.5.22]# chmod +x /etc/rc.d/init.d/mysqld
[root@mail mysql-5.5.22]# chkconfig mysqld on
[root@mail mysql-5.5.22]# chkconfig --add mysqld
[root@mail mysql-5.5.22]#
#修改配置文件
vim /etc/my.cnf
#在[mysqld]中添加:
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mail.pid //(此处的pid文件名称要与主机名称一致)
user = mysql
tmpdir = /tmp
#保存退出
初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
手动启动MySQL
service mysqld start //第一次我在这里启动失败,查看日志,提示字符集无效,修改my.cnf配置文件,添加下面设置,后来就没的错误了
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
保存退出后重新初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
测试MySQL是否启动
[root@mail mysql-5.5.22]# service mysqld restart
MySQL server PID file could not be found! [失败]
Starting MySQL..... [确定]
[root@mail mysql-5.5.22]# netstat -nuptl | grep 3306
tcp 0 0 :::3306 :::* LISTEN 3430/mysqld
[root@mail mysql-5.5.22]# export PATH=$PATH:/usr/local/mysql/bin
[root@mail mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mail mysql-5.5.22]# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
[root@mail mysql-5.5.22]# mysqladmin version
mysqladmin Ver 8.42 Distrib 5.5.22, for Linux on i686
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.5.22-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 11 sec
Threads: 1 Questions: 1 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.007
[root@mail mysql-5.5.22]#
到此MySQL编译安装完成
第一次登录默认为空密码
mysql -u root //以管理员身份登录mysql数据库
修改root登录数据库的密码
mysqladmin -u root password "自定义的密码"
安装PHP
[root@mail php-5.3.10]# tar -jxvf php-5.3.10.tar.bz2 -C /usr/src
[root@mail php-5.3.10]# cd /usr/src/php-5.3.10
[root@mail php-5.3.10]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --
enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache2/bin/apxs
--with-mcrypt
[root@mail php-5.3.10]# make && make install
为php提供配置文件:
[root@mail php-5.3.10]# cp php.ini-production /usr/local/php/lib/php.ini
编辑apache配置文件httpd.conf,以apache支持php
[root@mail php-5.3.10]# vim /usr/local/apache2/htdocs/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
#确认的存php5_module存在,如果没有就重新编译php
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
至此LAMP搭建成功:
可在APACHE文档目录下面添加下面测试页
vim /index.php
<?php
phpinfo();
?>
在浏览器中输入网站网址,如果出现php的版本信息页面说明php与apahce整合成功
安装Postfix // 这里我交所有软件打包成一个postfix.iso的文件,放入光驱中
确定系统里没有安装Sendmail,安装了卸载。
[root@mail ~]# rpm -qa sendmail
sendmail-8.13.8-8.el5
[root@mail ~]# rpm -e --nodeps sendmail
[root@mail ~]# rpm -qa sendmail
[root@mail ~]#
[root@mail ~]# groupadd -g 1200 postdrop
[root@mail ~]# groupadd -g 1000 postfix
[root@mail ~]# useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix
[root@mail ~]# yum -y install mysql-devel-* //挂载系统光盘安装安装mysql-devel-*,否则在后面会提示找不到mysql.h
[root@mail ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail ~]# cd /mnt
[root@mail mnt]# ll
[root@mail mnt]# tar -zxvf postfix-2.8.2.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/postfix-2.8.2/
[root@mail postfix-2.8.2]# cp /usr/local/mysql/lib/* /usr/lib/ //复制Mysql的库文件,否则后面安装Postfix提示库文件找不到
[root@mail postfix-2.8.2]# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH -I/usr/local/include/sasl'
'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2'
[root@mail postfix-2.8.2]#
[root@mail postfix-2.8.2]# make
[root@mail postfix-2.8.2]# make install
[root@mail postfix-2.8.2]# newaliases // 生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低
[root@mail postfix-2.8.2]# postconf -a //有Dovecot说明支持Dovecot验证
dovecot
[root@mail postfix-2.8.2]# postconf -m
btree
cidr
environ
hash
internal
mysql //有Mysql说明支持Mysql验证
nis
pcre
proxy
regexp
static
tcp
texthash
unix
[root@mail postfix-2.8.2]#
[root@mail postfix-2.8.2]#
[root@mail postfix-2.8.2]# cp /etc/postfix/main.cf /etc/postfix/main.cf.bak //将配置文件做一个备份
[root@mail postfix-2.8.2]# vim /etc/postfix/main.cf
76 myhostname = mail.chenkui.com
83 mydomain = chenkui.com
99 myorigin = $mydomain
113 inet_interfaces = all
162 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain, ftp.$mydomain
259 mynetworks = 192.168.10.0/24, 127.0.0.0/8
[root@mail postfix-2.8.2]# postfix start
postfix/postfix-script: starting the Postfix mail system
[root@mail postfix-2.8.2]# postfix check
[root@mail postfix-2.8.2]# service postfix restart //此时提示postfix: 未被识别的服务,那么下面我们来制作postfix的启动文件
[root@mail postfix-2.8.2]# mkdir /tmp/postfix
[root@mail postfix-2.8.2]# cd /tmp/postfix/
[root@mail postfix]# umount /mnt
[root@mail postfix]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail postfix]# cp /mnt/Server/postfix-2.3.3-2.1.el5_2.i386.rpm ./
[root@mail postfix]#
[root@mail postfix]# ll
总计 3652
-r--r--r-- 1 root root 3734257 05-27 20:46 postfix-2.3.3-2.1.el5_2.i386.rpm
[root@mail postfix]#
[root@mail postfix]# rpm2cpio postfix-2.3.3-2.1.el5_2.i386.rpm |cpio -id
16333 blocks
[root@mail postfix]# ll
总计 3664
drwxr-xr-x 5 root root 4096 05-27 20:47 etc
-r--r--r-- 1 root root 3734257 05-27 20:46 postfix-2.3.3-2.1.el5_2.i386.rpm
drwxr-xr-x 7 root root 4096 05-27 20:47 usr
drwxr-xr-x 3 root root 4096 05-27 20:47 var
[root@mail postfix]# ll etc/rc.d/init.d/
总计 4
-rwxr-xr-x 1 root root 2404 05-27 20:47 postfix
[root@mail postfix]# cp etc/rc.d/init.d/postfix /etc/rc.d/init.d/
[root@mail postfix]# service postfix restart
关闭 postfix: [确定]
启动 postfix: [确定]
[root@mail postfix]#
[root@mail postfix]# chkconfig --add postfix
[root@mail postfix]# chkconfig postfix on
[root@mail postfix]# chkconfig --list postfix
postfix 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@mail postfix]#
[root@mail postfix]# useradd user1 //增加两个用户用于后面测试
[root@mail postfix]# useradd user2
[root@mail postfix]# echo "123456" |passwd --stdin user1 //给user1赋值初始密码
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[root@mail postfix]# echo "123456" |passwd --stdin user2
Changing password for user user2.
passwd: all authentication tokens updated successfully.
[root@mail postfix]#
[root@mail postfix]# service mysqld restart
Shutting down MySQL. [确定]
Starting MySQL.. [确定]
[root@mail postfix]# service named restart
停止 named: [确定]
启动 named: [确定]
[root@mail postfix]# //下面来进行telnet smtp的25号端口进行测试能否进行发送邮件
[root@mail postfix]# telnet mail.chenkui.com 25
Trying 192.168.10.170...
Connected to mail.chenkui.com (192.168.10.170).
Escape character is '^]'.
220 mail.chenkui.com ESMTP Postfix
ehlo mail.chenkui.com
250-mail.chenkui.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:user1@chenkui.com //从user1发往到user2,这个过程测试成功说明可以正常发送邮件。
250 2.1.0 Ok
rcpt to:user2@chenkui.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
this is a test E-mail,user1 to user2
.
250 2.0.0 Ok: queued as 80546275AA5
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@mail postfix]#
[root@mail postfix]#/检查user2是否收到
[root@mail postfix]# su - user2
[user2@mail ~]$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/user2": 1 message 1 new
>N 1 user1@chenkui.com Sun May 27 20:59 13/500 //这里user2收到一封来自user1的邮件,序号为1
& 1
Message 1:
From user1@chenkui.com Sun May 27 20:59:38 2012
X-Original-To: user2@chenkui.com
Delivered-To: user2@chenkui.com
Date: Sun, 27 May 2012 20:58:04 +0800 (CST)
From: user1@chenkui.com
this is a test E-mail,user1 to user2 //刚才测试的内容
& quit
Saved 1 message in mbox
[user2@mail ~]$
[user2@mail ~]$ su - root /切换回root用户,在此处一定要加上 - 否则root的shell环境不一样。
口令:
[root@mail ~]#
上面我们只是安装了smtp发送服务器,下面我们来安装接收服务器,并使用dovecot软件。
[root@mail ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail ~]# cd /mnt
[root@mail mnt]# groupadd dovecot //建立dovecot组
[root@mail mnt]# useradd -M -g dovecot -s /sbin/nologin dovecot //建立dovecot用户并加入dovecot组,并不允许登录到系统
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# tar -zxvf dovecot-1.1.4.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/dovecot-1.1.4/
[root@mail dovecot-1.1.4]# ./configure --sysconfdir=/etc --with-mysql
[root@mail dovecot-1.1.4]# make && make install
[root@mail dovecot-1.1.4]# cp /etc/dovecot-example.conf /etc/dovecot.conf //建立主配置文件
[root@mail dovecot-1.1.4]# vi /etc/dovecot.conf
23 protocols = pop3 imap
47 disable_plaintext_auth = no
87 ssl_disable = yes
208 mail_location = maildir:~/Maildir
[root@www dovecot-1.1.4]# vim /etc/postfix/main.cf
414 home_mailbox = Maildir/
建立认证文件
vim /etc/pam.d/dovecot
auth required pam_nologin.so
auth include system-auth
account include system-auth
session include system-auth
将此脚本加入到开机时自动启动
[root@mail dovecot-1.1.4]# /usr/local/sbin/dovecot -c /etc/dovecot.conf
测试dovecot
[root@mail dovecot-1.1.4]#
[root@mail dovecot-1.1.4]# telnet mail.chenkui.com 110
Trying 192.168.10.170...
Connected to mail.chenkui.com (192.168.10.170).
Escape character is '^]'.
+OK Dovecot ready.
user user2
+OK
pass 123456
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
[root@mail dovecot-1.1.4]#
安装squirrelmail-webmail
[root@mail mnt]# tar -zxvf squirrelmail-webmail-1.4.22.tar.gz -C /usr/local/apache2/htdocs/
[root@mail mnt]# cd /usr/local/apache2/htdocs/
[root@mail htdocs]# ll
总计 12
-rw-r--r-- 1 root root 45 2007-06-12 index.html
-rw-r--r-- 1 root root 20 05-26 21:58 index.php
drwxr-xr-x 16 root root 4096 2011-07-13 squirrelmail-webmail-1.4.22
[root@mail htdocs]# mv squirrelmail-webmail-1.4.22/ webmail
[root@mail htdocs]#
[root@mail htdocs]# cd webmail/
[root@mail webmail]# mkdir -pv data/ attach/
mkdir: 已创建目录 “attach”
[root@mail webmail]# ll
总计 72
drwxr-xr-x 2 root root 4096 05-27 21:36 attach
drwxr-xr-x 5 root root 4096 2011-07-13 class
drwxrwxr-x 2 root root 4096 2011-07-13 config
-rwxr-xr-x 1 root root 102 2005-08-03 configure
drwxr-xr-x 3 root root 4096 2011-07-13 contrib
drwxrwxr-x 2 root root 4096 2011-07-13 data
drwxr-xr-x 3 root root 4096 2011-07-13 doc
drwxr-xr-x 4 root root 4096 2011-07-13 functions
drwxr-xr-x 3 root root 4096 2011-07-13 help
drwxr-xr-x 2 root root 4096 2011-07-13 p_w_picpaths
drwxr-xr-x 3 root root 4096 2011-07-13 include
-rw-r--r-- 1 root root 671 2011-01-06 index.php
drwxr-xr-x 2 root root 4096 2011-07-13 locale
drwxr-xr-x 19 root root 4096 2011-07-13 plugins
drwxr-xr-x 2 root root 4096 2011-07-13 po
-rw-r--r-- 1 root root 56 2009-03-27 README
drwxr-xr-x 2 root root 4096 2011-07-13 src
drwxr-xr-x 3 root root 4096 2011-07-13 themes
[root@mail webmail]#
[root@mail webmail]# chown -R daemon.daemon attach/ data/
[root@mail webmail]#
[root@mail webmail]# chmod 730 attach/
[root@mail webmail]# cp config/config_default.php config/config.php
[root@mail webmail]# vi config/config.php
118 $domain = 'chenkui.com';
146 $smtpServerAddress = 'localhost';
151 $smtpPort = 25;
210 $imapPort = 143;
231 $imap_server_type = 'dovecot';
499 $data_dir = '/usr/local/apache2/htdocs/webmail/data/';
517 $p_w_upload_dir = '/usr/local/apache2/htdocs/webmail/attach/';
[root@mail webmail]# /usr/local/apache2/bin/apachectl restart //重启apache服务
打开浏览器输入:http://mail.chenkui.com/webmail/src/login.php此时可以打开squirrelMail的首页
安装Extman
[root@mail mnt]# tar -zxvf extman-1.1.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/extman-1.1/docs/
[root@mail docs]# ll
总计 76
-rw-r--r-- 1 test test 1250 2006-04-23 backport
-rw-r--r-- 1 test test 11180 2007-02-28 extmail.schema
-rw-r--r-- 1 test test 5141 2008-03-30 extmail.sql
-rw-r--r-- 1 test test 2671 2008-03-19 init.ldif
-rw-r--r-- 1 test test 1478 2008-04-04 init.sql
-rw-r--r-- 1 test test 201 2006-04-24 ldap_virtual_alias_maps.cf
-rw-r--r-- 1 test test 210 2005-12-15 ldap_virtual_domains_maps.cf
-rw-r--r-- 1 test test 195 2005-12-15 ldap_virtual_limit_maps.cf
-rw-r--r-- 1 test test 202 2005-11-04 ldap_virtual_mailbox_maps.cf
-rw-r--r-- 1 test test 190 2007-03-07 ldap_virtual_sender_maps.cf
-rw-r--r-- 1 test test 166 2005-12-15 mysql_virtual_alias_maps.cf
-rw-r--r-- 1 test test 168 2007-02-25 mysql_virtual_domains_maps.cf
-rw-r--r-- 1 test test 170 2005-12-15 mysql_virtual_limit_maps.cf
-rw-r--r-- 1 test test 172 2005-12-15 mysql_virtual_mailbox_maps.cf
-rw-r--r-- 1 test test 173 2007-03-07 mysql_virtual_sender_maps.cf
-rw-r--r-- 1 test test 1337 2005-12-16 README.postfix
[root@mail docs]# vi extmail.sql
查找/替换,将数据库文件内的所有TYPE=MyISAM修改为ENGINE=MyISAM,保存退出;//:%s/TYPE/ENGINE 使用此替换
[root@mail docs]# mysql -u root -p < extmail.sql
Enter password: //默认密码是空的,如果修改过使用修改的密码
[root@mail docs]# mysql -u root -p < init.sql
Enter password:
[root@mail docs]#
配置Postfix
[root@mail ~]# vi /etc/postfix/main.cf //并添加651-656这几行
162 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain, ftp.$mydomain //注释掉该行
651 virtual_mailbox_base = /mailbox
652 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
653 virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
654 virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
655 virtual_uid_maps = static:1000
656 virtual_gid_maps = static:1000
[root@mail ~]# cd /usr/src/extman-1.1/docs/
[root@mail docs]# cp mysql_virtual_* /etc/postfix/
[root@mail docs]#
虚拟用户设置SMTP发信认证
[root@mail mnt]# tar -jxvf courier-authlib-0.62.4.tar.bz2 -C /usr/src/
[root@mail mnt]# cd /usr/src/courier-authlib-0.62.4
[root@mail courier-authlib-0.62.4]# vi /etc/ld.so.conf
ldconfig: /usr/lnflibmysqlclient.so.18 is not a symbolic link
[root@mail courier-authlib-0.62.4]# ln -sf /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
[root@mail courier-authlib-0.62.4]# ./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authmysql --with-redhat --with-mysql-
libs=/usr/local/mysql/lib/ --with-mysql-includes=/usr/local/mysql/include/mysql // 在此也要注意mysql的链接库路径
[root@mail courier-authlib-0.62.4]# make && make install && make install-configure//最后一个参数是表示生成默认配置文件authmysqlrc 和 authdaemonrc
[root@mail courier-authlib-0.62.4]# vi /etc/ld.so.conf
/usr/local/courier-authlib/lib/courier-authlib //添加库文件搜索路径
[root@mail courier-authlib-0.62.4]# ldconfig //重新加载库文件
[root@mail courier-authlib-0.62.4]# cd /usr/local/courier-authlib/etc/authlib/
[root@mail authlib]# ll
总计 56
-rw-rw---- 1 daemon daemon 3704 05-27 22:38 authdaemonrc
-rw-rw---- 1 daemon daemon 3704 05-27 22:38 authdaemonrc.dist
-rw-rw---- 1 daemon daemon 8229 05-27 22:38 authldaprc
-rw-rw---- 1 daemon daemon 8229 05-27 22:38 authldaprc.dist
-rw-rw---- 1 daemon daemon 8812 05-27 22:38 authmysqlrc
-rw-rw---- 1 daemon daemon 8812 05-27 22:38 authmysqlrc.dist
[root@mail authlib]#
[root@mail authlib]# cp authdaemonrc authdaemonrc.bak //做一个备份
[root@mail authlib]# cp authmysqlrc authmysqlrc.bak
[root@mail authlib]#
[root@mail authlib]# vi authdaemonrc
修改
27 authmodulelist="authmysql"
34 authmodulelistorig="authmysql"
75 DEBUG_LOGIN=2 //设置登录记录调试,输出错误日志记录
:wq
[root@mail authlib]# chmod -R 755 /usr/local/courier-authlib/var/spool/authdaemon/
[root@mail authlib]# vi authmysqlrc
26 MYSQL_SERVER localhost
27 MYSQL_USERNAME extmail
28 MYSQL_PASSWORD extmail
49 MYSQL_SOCKET /var/lib/mysql/mysql.sock
56 MYSQL_PORT 3306
68 MYSQL_DATABASE extmail
83 MYSQL_USER_TABLE mailbox
92 MYSQL_CRYPT_PWFIELD password
113 MYSQL_UID_FIELD uidnumber
119 MYSQL_GID_FIELD gidnumbe
128 MYSQL_LOGIN_FIELD username
133 MYSQL_HOME_FIELD concat('/mailbox',homedir)
139 MYSQL_NAME_FIELD name
150 MYSQL_MAILDIR_FIELD concat('/mailbox',maildir)
[root@mail authlib]# cd /usr/src/courier-authlib-0.62.4/
[root@mail courier-authlib-0.62.4]# cp courier-authlib.sysvinit /etc/init.d/courier-authlib//复制为系统启动文件
[root@mail courier-authlib-0.62.4]# chmod 755 /etc/init.d/courier-authlib
[root@mail courier-authlib-0.62.4]# chkconfig --add courier-authlib
[root@mail courier-authlib-0.62.4]# chkconfig --level 2345 courier-authlib on
[root@mail courier-authlib-0.62.4]# chkconfig --list courier-authlib
courier-authlib 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@mail ~]# service courier-authlib start
Starting Courier authentication services: authdaemond
[root@mail ~]# cd /usr/src/courier-authlib-0.62.4
[root@mail courier-authlib-0.62.4]# cp /tmp/postfix/usr/lib/sasl2/smtpd.conf /usr/lib/sasl2/
[root@mail courier-authlib-0.62.4]# vi /usr/lib/sasl2/smtpd.conf //在这里没有这个文件,我查找后在/tmp/postfix/usr/lib/sasl2/smtpd.conf复制过来的
pwcheck_method: authdaemond
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
:wq
[root@mail courier-authlib-0.62.4]# vim /etc/dovecot.conf
208 mail_location = maildir:/mailbox/%d/%n/Maildir
795 mechanisms = plain
828 #passdb pam {
857 #}
899 passdb sql {
900 # Path for SQL configuration file, see doc/dovecot-sql-example.conf
901 args = /etc/dovecot-mysql.conf
902 }
962 userdb sql {
963 # Path for SQL configuration file, see doc/dovecot-sql-example.conf
964 args = /etc/dovecot-mysql.conf
965 }
:wq
[root@mail courier-authlib-0.62.4]# vim /etc/postfix/main.cf
414 home_mailbox = Maildir/ //此处之前已经修改
建立数据查询配置文件,手动产生/etc/dovecot-mysql.conf文件
[root@mail courier-authlib-0.62.4]# vi /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'
[root@mail ~]# mkdir -p /mailbox/extmail.org/postmaster/Maildir/
[root@mail ~]# cd /mailbox/extmail.org/postmaster/Maildir/
[root@mail Maildir]# chown -R postfix:postfix /mailbox/
[root@mail Maildir]#dovecot
[root@mail Maildir]# /usr/local/courier-authlib/sbin/authtest -s login postmaster@extmail.org extmail //测试虚拟用户认证,下面已经看到认证成功
Authentication succeeded.
Authenticated: postmaster@extmail.org (uid 1000, gid 1000)
Home Directory: /mailboxextmail.org/postmaster
Maildir: /mailboxextmail.org/postmaster/Maildir/
Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
Options: (none)
[root@mail ~]#
搭建 Extmail平台
基于Perl 语言开发的中文Webmail管理平台
套件:ExtMail --Web 界面的邮件操作
Extman –Web 界面的邮件系统管理
[root@mail mnt]# tar -zxvf Unix-Syslog-1.1.tar.gz -C /usr/src/
Unix-Syslog-1.1/
Unix-Syslog-1.1/README
Unix-Syslog-1.1/Changes
Unix-Syslog-1.1/test.pl
Unix-Syslog-1.1/Artistic
Unix-Syslog-1.1/Makefile.PL
Unix-Syslog-1.1/META.yml
Unix-Syslog-1.1/Syslog.pm
Unix-Syslog-1.1/Syslog.xs
Unix-Syslog-1.1/MANIFEST
[root@mail mnt]#
[root@mail mnt]# cd /usr/src/Unix-Syslog-1.1/
[root@mail Unix-Syslog-1.1]# ll
总计 60
-rw-r--r-- 1 user1 bin 8902 2007-10-03 Artistic
-rw-r--r-- 1 user1 bin 3659 2008-05-19 Changes
-rw-r--r-- 1 user1 bin 463 2008-05-19 Makefile.PL
-rw-r--r-- 1 user1 bin 152 2008-05-19 MANIFEST
-rw-r--r-- 1 user1 bin 296 2008-05-19 META.yml
-rw-r--r-- 1 user1 bin 5642 2007-10-03 README
-rw-r--r-- 1 user1 bin 9287 2008-05-19 Syslog.pm
-rw-r--r-- 1 user1 bin 3928 2008-05-18 Syslog.xs
-rw-r--r-- 1 user1 bin 7108 2008-02-28 test.pl
[root@mail Unix-Syslog-1.1]#
[root@mail Unix-Syslog-1.1]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Unix::Syslog
[root@mail Unix-Syslog-1.1]# make && make install
[root@mail Unix-Syslog-1.1]# cd -
/mnt
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# tar -zxvf DB
DBD-mysql-4.020.tar.gz DBI-1.616.tar.gz
[root@mail mnt]# tar -zxvf DBI-1.616.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/DBI-1.616/
[root@mail DBI-1.616]# ll
总计 976
-rw-r--r-- 1 mysql mysql 106959 2010-12-30 Changes
-rw-r--r-- 1 mysql mysql 3139 2009-02-25 dbd_xsh.h
-rw-r--r-- 1 mysql mysql 1937 2009-09-02 dbilogstrip.PL
-rw-r--r-- 1 mysql mysql 308284 2010-12-22 DBI.pm
-rw-r--r-- 1 mysql mysql 174680 2010-07-30 dbipport.h
-rw-r--r-- 1 mysql mysql 6784 2009-09-14 dbiprof.PL
-rw-r--r-- 1 mysql mysql 5967 2009-09-14 dbiproxy.PL
-rw-r--r-- 1 mysql mysql 3747 2006-02-08 dbi_sql.h
-rw-r--r-- 1 mysql mysql 2016 2005-03-26 dbivport.h
-rw-r--r-- 1 mysql mysql 193557 2010-12-22 DBI.xs
-rw-r--r-- 1 mysql mysql 24174 2010-12-22 DBIXS.h
-rw-r--r-- 1 mysql mysql 148 2010-12-22 dbixs_rev.h
-rw-r--r-- 1 mysql mysql 1533 2007-07-16 dbixs_rev.pl
-rw-r--r-- 1 mysql mysql 22333 2010-07-30 Driver.xst
-rw-r--r-- 1 mysql mysql 3716 2009-09-14 Driver_xst.h
drwxr-x--- 2 mysql mysql 4096 05-28 19:24 ex
drwxr-x--- 6 mysql mysql 4096 05-28 19:24 lib
-rw-r--r-- 1 mysql mysql 13371 2010-09-03 Makefile.PL
-rw-r--r-- 1 mysql mysql 5456 2010-12-30 MANIFEST
-rw-r----- 1 mysql mysql 1078 2010-12-30 META.yml
-rw-r--r-- 1 mysql mysql 1677 2009-11-03 Perl.xs
-rw-r--r-- 1 mysql mysql 5594 2010-08-26 README
drwxr-x--- 2 mysql mysql 4096 05-28 19:24 t
-rwxr-xr-x 1 mysql mysql 5479 2009-02-25 test.pl
-rw-r--r-- 1 mysql mysql 21306 2009-05-02 TODO_2005.txt
-rw-r--r-- 1 mysql mysql 2718 2009-06-08 TODO_gofer.txt
-rw-r--r-- 1 mysql mysql 64 2005-04-11 typemap
[root@mail DBI-1.616]# perl Makefile.PL
[root@mail DBI-1.616]# make && make install
[root@mail DBI-1.616]# cd -
/mnt
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# tar -zxvf DBD-mysql-4.020.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/DBD-mysql-4.020/
[root@mail DBD-mysql-4.020]# ll
总计 356
-rwxr-xr-x 1 mysql games 61258 2011-08-21 ChangeLog
-rwxr-xr-x 1 mysql games 1948 2011-08-19 constants.h
-rwxr-xr-x 1 mysql games 146213 2011-08-21 dbdimp.c
-rwxr-xr-x 1 mysql games 10623 2011-08-21 dbdimp.h
drwxr-xr-x 2 mysql games 4096 2011-08-21 eg
-rwxr-xr-x 1 mysql games 29285 2011-08-21 INSTALL.html
drwxr-xr-x 4 mysql games 4096 2011-08-21 lib
-rwxr-xr-x 1 mysql games 31297 2011-08-21 Makefile.PL
-rw-r--r-- 1 mysql games 713 2011-08-19 Makefile.PL.embedded
-rwxr-xr-x 1 mysql games 1240 2011-08-19 MANIFEST
-rwxr-xr-x 1 mysql games 41 2011-08-19 MANIFEST.SKIP
-rw-r--r-- 1 mysql games 697 2011-08-21 META.yml
-rwxr-xr-x 1 mysql games 1709 2011-08-19 myld
-rwxr-xr-x 1 mysql games 22505 2011-08-21 mysql.xs
-rwxr-xr-x 1 mysql games 3387 2011-08-19 README
drwxr-xr-x 2 mysql games 4096 2011-08-21 t
-rw-r--r-- 1 mysql games 896 2011-08-19 TODO
[root@mail DBD-mysql-4.020]# perl Makefile.PL
[root@mail DBD-mysql-4.020]# make && make install //三个包在编译安装过程提示的 警告信息 隐式函数 计算出的变量值未被使用等,只要没有error信息就一切ok
[root@mail DBD-mysql-4.020]# cd -
/mnt
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# tar -zxvf extmail-1.2.tar.gz -C /usr/local/apache2/htdocs/
[root@mail mnt]# cd /usr/local/apache2/htdocs/
[root@mail htdocs]# ll
总计 16
drwxr-xr-x 7 test test 4096 2009-12-25 extmail-1.2
-rw-r--r-- 1 root root 45 2007-06-12 index.html
-rw-r--r-- 1 root root 20 05-26 21:58 index.php
drwxr-xr-x 17 root root 4096 05-27 21:36 webmail
[root@mail htdocs]#
[root@mail htdocs]# mv extmail-1.2/ extmail
[root@mail htdocs]# cd extmail/
[root@mail extmail]# ll
总计 168
-rw-r--r-- 1 test test 410 2007-01-26 AUTHORS
drwxr-xr-x 2 test test 4096 2009-11-07 cgi
-rw-r--r-- 1 test test 61170 2009-12-18 ChangeLog
-rw-r--r-- 1 test test 900 2006-02-20 CREDITS
-rwxr-xr-x 1 test test 14477 2009-11-07 dispatch.fcgi
-rwxr-xr-x 1 test test 1743 2009-11-07 dispatch-init
-rwxr-xr-x 1 test test 234 2007-10-09 dispatch_lig.sh
-rw-r--r-- 1 test test 1305 2007-10-09 FAQ
-rw-r--r-- 1 test test 90 2008-06-09 globabook.cf
drwxr-xr-x 5 test test 4096 2007-10-09 html
-rw-r--r-- 1 test test 3728 2008-02-24 INSTALL
drwxr-xr-x 2 test test 4096 2009-12-18 lang
drwxr-xr-x 7 test test 4096 2009-11-10 libs
-rw-r--r-- 1 test test 2771 2009-11-07 README
-rw-r--r-- 1 test test 12677 2008-10-13 README.fcgi
-rw-r--r-- 1 test test 1263 2009-11-07 README.filter
-rw-r--r-- 1 test test 2281 2007-02-15 README.vpopmail
drwxr-xr-x 2 test test 4096 2009-11-07 tools
-rw-r--r-- 1 test test 4 2009-12-25 Version
-rw-r--r-- 1 test test 6808 2009-12-18 webmail.cf.default
[root@mail extmail]#
[root@mail extmail]# chown -R postfix.postfix cgi/
[root@mail extmail]# cp webmail.cf.default webmail.cf
[root@mail extmail]# vi webmail.cf
2 SYS_CONFIG = /usr/local/apache2/htdocs/extmail/
5 SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang
8 SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html/
127 SYS_MAILDIR_BASE = /mailbox
139 SYS_MYSQL_USER = extmail
140 SYS_MYSQL_PASS = extmail
141 SYS_MYSQL_DB = extmail
142 SYS_MYSQL_HOST = localhost
143 SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
配置虚拟主机
[root@mail extmail]# vi /usr/local/apache2/conf/httpd.conf
157 User postfix
158 Group postfix
//下面的内容是在最后添加进去的
491 NameVirtualHost *:80
492 <VirtualHost *:80>
493 ServerName mail.chenkui.com
494 DocumentRoot /usr/local/apache2/htdocs/extmail/html/
495 ScriptAlias /extmail/cgi/ "/usr/local/apache2/htdocs/extmail/cgi/"
496 Alias /extmail/ /usr/local/apache2/htdocs/extmail/html/
497 </VirtualHost>
[root@mail extmail]# /usr/local/apache2/bin/apachectl restart
打开浏览器输入:http://mail.chenkui.com,此时可以看到extmail的界面了!!!!!
//美中不足的是我这里web界面图片无法显示,查看了图片路径指向的是正常的,但不知为何,希望大家帮忙看看,如有错误请指出,谢谢!
安装Extman
[root@mail htdocs]# cd /mnt
[root@mail mnt]# ll
[root@mail mnt]# tar -zxvf GD-2.46.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/GD-2.46/
[root@mail GD-2.46]# ll
总计 224
drwxr-xr-x 2 postfix postfix 4096 2011-05-02 bdf_scripts
-rw-r--r-- 1 postfix postfix 7122 2011-05-02 ChangeLog
drwxr-xr-x 2 postfix postfix 4096 2011-05-02 demos
drwxr-xr-x 2 postfix postfix 4096 2011-05-02 GD
-rw-r--r-- 1 postfix postfix 60602 2011-05-02 GD.pm
-rw-r--r-- 1 postfix postfix 48735 2009-01-12 GD.xs
-rw-r--r-- 1 postfix postfix 11758 2011-02-06 Makefile.PL
-rw-r--r-- 1 postfix postfix 1438 2011-05-02 MANIFEST
-rw-r--r-- 1 postfix postfix 543 2011-05-02 META.yml
-rw-r--r-- 1 postfix postfix 32810 2001-12-07 qd.pl
-rw-r--r-- 1 postfix postfix 17139 2011-02-06 README
-rw-r--r-- 1 postfix postfix 467 2001-12-07 README.QUICKDRAW
-rw-r--r-- 1 postfix postfix 2221 2001-12-07 README.unix
drwxr-xr-x 2 postfix postfix 4096 2011-05-02 t
-rw-r--r-- 1 postfix postfix 66 2001-12-07 typemap
[root@mail GD-2.46]# perl Makefile.PL
[root@mail GD-2.46]# make && make install
[root@mail GD-2.46]# cd -
/mnt
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# tar -zxvf File-Tail-0.99.3.tar.gz -C /usr/src/
[root@mail mnt]# cd /usr/src/File-Tail-0.99.3/
[root@mail File-Tail-0.99.3]# ll
总计 92
-rw-r--r-- 1 10008 dip 4812 2005-09-14 Changes
-rwxr-xr-x 1 10008 dip 1381 1999-11-03 logwatch
-rw-r--r-- 1 10008 dip 2471 2000-10-17 Makefile.PL
-rw-r--r-- 1 10008 dip 198 2005-09-14 MANIFEST
-rw-r--r-- 1 10008 dip 452 2005-09-14 META.yml
-rw-r--r-- 1 10008 dip 2143 1999-02-03 README
-rwxr-xr-x 1 10008 dip 1101 1999-02-03 select_demo
drwxr-xr-x 2 10008 dip 4096 2005-09-14 t
-rw-r--r-- 1 10008 dip 25308 2005-09-14 Tail.pm
-rw-r--r-- 1 10008 dip 27991 2005-09-14 Tail.pm.debug
[root@mail File-Tail-0.99.3]#
[root@mail File-Tail-0.99.3]# perl Makefile.PL
File::Tail will be installed without debugging information.
This information isn't usefull unless you intend to tinker
with the code. To install with debugging enabled, use:
perl Makefile.PL LOGIT
Checking if your kit is complete...
Looks good
Writing Makefile for File::Tail
[root@mail File-Tail-0.99.3]# make && make install
[root@mail File-Tail-0.99.3]# cd -
/mnt
[root@mail mnt]# ll
总计 42163
-r-xr-xr-x 1 root root 2175238 03-21 21:36 courier-authlib-0.62.4.tar.bz2
-r-xr-xr-x 1 root root 137736 03-21 21:37 DBD-mysql-4.020.tar.gz
-r-xr-xr-x 1 root root 576803 03-21 21:37 DBI-1.616.tar.gz
-r-xr-xr-x 1 root root 2314155 03-21 21:38 dovecot-1.1.4.tar.gz
-r-xr-xr-x 1 root root 541279 12-21 19:34 extmail-1.2.tar.gz
-r-xr-xr-x 1 root root 586234 12-21 19:35 extman-1.1.tar.gz
-r-xr-xr-x 1 root root 22800 03-21 21:37 File-Tail-0.99.3.tar.gz
-r-xr-xr-x 1 root root 14420771 03-21 21:42 fp-Linux-i686-ws.tar.gz
-r-xr-xr-x 1 root root 260989 03-21 21:37 GD-2.46.tar.gz
-r-xr-xr-x 1 root root 5864320 03-21 21:45 MailScanner-4.84.3-1.rpm.tar.gz
-r-xr-xr-x 1 root root 11439508 03-02 04:34 php-5.4.0.tar.bz2
-r-xr-xr-x 1 root root 3644570 2011-03-24 postfix-2.8.2.tar.gz
-r-xr-xr-x 1 root root 474709 03-21 21:37 rrdtool-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 34075 03-21 21:37 rrdtool-perl-1.2.23-3.el5.i386.rpm
-r-xr-xr-x 1 root root 664076 04-10 17:53 squirrelmail-webmail-1.4.22.tar.gz
-r-xr-xr-x 1 root root 13738 03-21 21:37 Unix-Syslog-1.1.tar.gz
[root@mail mnt]# rpm -ivh rrdtool-1.2.23-3.el5.i386.rpm
warning: rrdtool-1.2.23-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing... ########################################### [100%]
1:rrdtool ########################################### [100%]
[root@mail mnt]# rpm -ivh rrdtool-perl-1.2.23-3.el5.i386.rpm
warning: rrdtool-perl-1.2.23-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing... ########################################### [100%]
1:rrdtool-perl ########################################### [100%]
[root@mail mnt]#
[root@mail mnt]# tar -zxvf extman-1.1.tar.gz -C /usr/local/apache2/htdocs/
[root@mail mnt]# cd /usr/local/apache2/htdocs/
[root@mail htdocs]# ll
总计 20
drwxr-xr-x 7 test test 4096 05-28 19:39 extmail
drwxr-xr-x 11 test test 4096 2009-12-24 extman-1.1
-rw-r--r-- 1 root root 45 2007-06-12 index.html
-rw-r--r-- 1 root root 20 05-26 21:58 index.php
drwxr-xr-x 17 root root 4096 05-27 21:36 webmail
[root@mail htdocs]#
[root@mail htdocs]# mv extman-1.1/ extman/
[root@mail htdocs]# cd extman/
[root@mail extman]# ll
总计 100
drwxr-xr-x 3 test test 4096 2009-05-03 addon
-rw-r--r-- 1 test test 140 2005-10-22 AUTHORS
drwxr-xr-x 2 test test 4096 2009-05-09 cgi
-rw-r--r-- 1 test test 20812 2009-12-24 ChangeLog
drwxr-xr-x 2 test test 4096 2009-12-24 contrib
drwxr-xr-x 3 test test 4096 2009-12-24 daemon
drwxr-xr-x 2 test test 4096 2009-11-07 docs
drwxr-xr-x 5 test test 4096 2009-12-24 html
-rw-r--r-- 1 test test 3860 2007-02-13 INSTALL
drwxr-xr-x 2 test test 4096 2009-11-08 lang
drwxr-xr-x 6 test test 4096 2009-07-20 libs
-rw-r--r-- 1 test test 2112 2007-03-06 README
-rw-r--r-- 1 test test 13723 2008-09-25 README.fcgi
drwxr-xr-x 2 test test 4096 2009-12-24 tools
-rw-r--r-- 1 test test 4 2009-12-24 Version
-rw-r--r-- 1 test test 5046 2009-11-08 webman.cf.default
[root@mail extman]#
[root@mail extman]# chown -R postfix.postfix cgi/
[root@mail extman]# mkdir /tmp/extman
[root@mail extman]# chown -R postfix.postfix /tmp/extman/
[root@mail extman]# cp webman.cf.default webman.cf
[root@mail extman]# vi webman.cf
2 SYS_CONFIG = /usr/local/apache2/htdocs/extman/
5 SYS_LANGDIR = /usr/local/apache2/htdocs/extman/lang
8 SYS_TEMPLDIR = /usr/local/apache2/htdocs/extman/html
12 SYS_MAILDIR_BASE = /mailbox
127 SYS_MYSQL_USER = webman
128 SYS_MYSQL_PASS = webman
129 SYS_MYSQL_DB = extmail
130 SYS_MYSQL_HOST = localhost
131 SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
:wq
[root@mail extman]# vi /usr/local/apache2/conf/httpd.conf
491 NameVirtualHost *:80
492 <VirtualHost *:80>
493 ServerName mail.chenkui.com
494 DocumentRoot /usr/local/apache2/htdocs/extmail/html/
495 ScriptAlias /extmail/cgi/ "/usr/local/apache2/htdocs/extmail/cgi/"
496 Alias /extmail/ "/usr/local/apache2/htdocs/extmail/html/"
497 ScriptAlias /extman/cgi/ "/usr/local/apache2/htdocs/extman/cgi/" // 在之前的基础上添加的
498 Alias /extman "/usr/local/apache2/htdocs/extman/html/" //在之前的基础上添加的
499 </VirtualHost>
此时可以打开后台管理界面了 http://mail.chenkui.com/extman //注意客户机要与服务器时间一致,否则会登录不上
默认帐户:root@extmail.org
默认密码:extmail*123*
设置邮件系统的图形化日志信息
[root@mail ~]# ln -sf /usr/local/apache2/htdocs/extman/addon/mailgraph_ext/mailgraph-init /usr/sbin/
[root@mail ~]# ln -sf /usr/local/apache2/htdocs/extman/addon/mailgraph_ext/qmonitor.pl /usr/sbin/
[root@mail ~]# cp -a /usr/local/apache2/htdocs/extman/addon/mailgraph_ext/ /usr/local/ -a //相当于 -pdr 的意思;-d :若来源文件为连结文件的属性(link
file),则复制连结文件属性而非档案本身;-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;-p :连同档案的属性一起复制过去,而非使用
预设属性;
[root@mail ~]# mailgraph-init start
Starting mail statistics grapher: mailgraph_ext
Starting queue statistics grapher: qmonitor
[root@mail ~]# qmonitor.pl start & //&表示在后台运行
[1] 4355
[root@mail ~]#
[root@mail ~]# echo "/usr/sbin/qmonitor.pl start" >> /etc/rc.d/rc.local //开机自启动
[root@mail ~]# echo "/usr/sbin/mailgraph-init start" >> /etc/rc.d/rc.local
[root@mail ~]#
登录Extman后台,打开 系统——图形日志,可以看到邮件投递分析图表
//在extman后台,我没有截图,都是中文界面,相信大家都知道怎么操作,如何添加新域,添加管理员、用户、配置模板等等。
配置垃圾邮件过滤
[root@mail ~]# vi /etc/postfix/main.cf
657 smtpd_client_restrictions = check_client_access hash:/etc/postfix/access //添加此行
[root@mail GD-2.46]# vi /etc/postfix/access
445 192.168.1 REJECT //拒绝来自192.168.1.0网段的邮件
446 192.168.10.100 OK //接收来自192.168.10.1的邮件
447 qq.com REJECT //拒绝来自QQ的邮件
[root@mail ~]# postmap /etc/postfix/access //转换为hash数据库文件access.db
根据客户机helo信息中的主机名地址过滤邮件。
[root@mail ~]# vi /etc/postfix/main.cf //在最后添加下面两行
658 smtpd_helo_required = yes
659 smtpd_helo_restrictions = reject_invaild_hostname
根据发件人的地址过滤邮件
[root@mail ~]# vi /etc/postfix/main.cf
smtpd_sender_login_maps = mysql:/etc/postfix/mysql_virtu l_sender_maps.cf,mysql:/etc/postfix/mysql_virtual_alias_maps.cf
smtpd_sender_restrictions = permit_mynetworks,reject_sender_login_mismatch,reject_non_fqdn_sender,reject_unknown_sender_domain,check_sender_access hash:/etc/postfix/sen
der_access
设置发件人地址访问控制策略,拒绝由user1@sina.cn,任何域的admin用户及来处mail.qq.com的用户发送的邮件。
[root@mail ~]# vi /etc/postfix/sender_access
user1@sina.cn REJECT
admin@ REJECT
mail.qq.com REJECT
[root@mail ~]# postmap /etc/postfix/sender_access
[root@mail ~]# service postfix restart
设置收件人地址访问控制策略
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_non_fqdn_recipient,reject_unknown_recipient_domain
基于邮件内容过滤
[root@mail mnt]# tar -zxvf MailScanner-4.84.3-1.rpm.tar.gz -C /usr/local/src/
[root@mail mnt]# cd /usr/local/src/MailScanner-4.84.3-1/
[root@mail mnt]# ./install.sh
[root@mail MailScanner-4.84.3-1]# vi /etc/MailScanner/MailScanner.conf
131 Run As User = postfix //将运行程序的用户设置为Postfix
136 Run As Group = postfix //将运行程序的用户组设置为Postfix
165 Incoming Queue Dir = /var/spool/postfix/hold //设置待过滤处理邮件队列目录
169 Outgoing Queue Dir = /var/spool/postfix/incoming // 设置过滤处理后的邮件队列目录
196 MTA = postfix //设置MTA服务器名称
2231 Required SpamAssassin Score = 7 //高于7的视为垃圾邮件 ——垃圾邮件有个评分标准,对于国内的一般设置为7或者以上
2237 High SpamAssassin Score = 10 //高于10的视为高分垃圾邮件
2437 Spam Actions = deliver header "X-Spam-Status: Yes" //对非高分垃圾邮件采取的动作
2499 High Scoring Spam Actions = delete forward spam@extmail.org //对高分垃圾邮件采取的动作
[root@mail MailScanner-4.84.3-1]# vi /etc/postfix/main.cf //在main.cf中启用header_checks配置参数,设置Postfix对邮件标头进行模式匹配检查,并在模式查询表文件“/etc/postfix/header_checks”中设置/^Received:/HOLD 匹配模式,从而将接收的所有邮件都放入到hold队列中,交由MailScanner扫描调度工具处理
519 header_checks = regexp:/etc/postfix/header_checks
[root@mail MailScanner-4.84.3-1]# vi /etc/postfix/header_checks //设置使用模式查询表
497 /^Received:/HOLD
[root@mail MailScanner-4.84.3-1]# chown -R postfix:postfix /var/spool/MailScanner/incoming/
[root@mail MailScanner-4.84.3-1]# chown -R postfix:postfix /var/spool/MailScanner/quarantine/
[root@mail MailScanner-4.84.3-1]# service MailScanner start
Starting MailScanner daemons:
incoming postfix: [确定]
outgoing postfix: [确定]
MailScanner: [确定]
[root@mail MailScanner-4.84.3-1]#
[root@mail MailScanner-4.84.3-1]# chkconfig --add MailScanner
[root@mail MailScanner-4.84.3-1]# chkconfig MailScanner on
[root@mail MailScanner-4.84.3-1]# chkconfig --list MailScanner
MailScanner 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@mail MailScanner-4.84.3-1]# service postfix restart
[root@mail ~]# yum -y install spamassassin //挂载系统光盘包安装
[root@mail ~]# spamassassin //其配置文件位于/etc/mail//spamassassin/local.cf 中,但是保持默认即可
[root@mail ~]#
[root@mail ~]# service spamassassin start
启动 spamd: [确定]
[root@mail ~]#
在配置F-Port病毒查杀软件时要接入Internet,下面我的虚拟机已经可以上网了
[root@mail mnt]# ping baidu.com
PING baidu.com (220.181.111.85) 56(84) bytes of data.
64 bytes from baidu.com (220.181.111.85): icmp_seq=1 ttl=53 time=71.6 ms
64 bytes from baidu.com (220.181.111.85): icmp_seq=2 ttl=53 time=74.4 ms
64 bytes from baidu.com (220.181.111.85): icmp_seq=3 ttl=53 time=106 ms
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 71.647/84.198/106.523/15.828 ms
[root@mail mnt]# cat /etc/resolv.conf
nameserver 192.168.10.1
[root@mail mnt]#
[root@mail mnt]# tar -zxvf fp-Linux-i686-ws.tar.gz -C //配置F-Port 病毒查杀软件
[root@mail mnt]# cd /opt/f-prot/
[root@mail f-prot]# ll
总计 28856
-rw-r--r-- 1 user1 users 27622812 2008-04-29 antivir.def
drwxr-xr-x 4 user1 users 4096 2008-04-29 doc
-rw-r--r-- 1 user1 users 9383 2008-04-29 f-prot.conf.default
-rwxr-xr-x 1 user1 users 1519972 2008-04-29 fpscan
-rwxr-xr-x 1 user1 users 285032 2008-04-29 fpupdate
-rwxr-xr-x 1 user1 users 40063 2008-04-29 install-f-prot.pl
-rw-r--r-- 1 user1 users 55 2008-04-29 license.key
lrwxrwxrwx 1 user1 users 20 05-31 07:15 product.data -> product.data.default
-rw-r--r-- 1 user1 users 13 2008-04-29 product.data.default
-rw-r--r-- 1 user1 users 6192 2008-04-29 README
[root@mail f-prot]#
[root@mail f-prot]# ./install-f-prot.pl
(c) FRISK Software International
You are about to install F-Prot Antivirus for Linux Workstations
on a RedHat Linux 2.6.18 running on i686 into the '/opt/f-prot'
directory
Where do you want a symbolic link to 'F-Prot Antivirus command line scanner (fpscan)' to be created?
(Just press Enter to accept the default) [/usr/local/bin]:
Where do you want a symbolic link to 'section 8 manuals' to be created?
(Just press Enter to accept the default) [/usr/local/man/man8]:
Where do you want a symbolic link to 'section 1 manuals' to be created?
(Just press Enter to accept the default) [/usr/local/man/man1]:
Where do you want a symbolic link to 'section 5 manuals' to be created?
(Just press Enter to accept the default) [/usr/local/man/man5]:
Changing file access permissions on the installed files and directories ...ok
Checking if you have an existing license key...yes
Found an existing license key in /opt/f-prot/license.key, updating antivir.def ...
Downloading update (%100) //已经自动从网上下载更新
We've generated the following crontab entries to update the
antivir.def file via fpupdate. Updates will be run hourly at a
randomly picked minute to distribute load, and thus make your updates
faster than if they were run during obvious high load times, e.g. on
the hour.
The global crontab entry we made to add to /etc/crontab is the following:
31 * * * * root /opt/f-prot/fpupdate > /dev/null
Would you like to have this crontab appended to /etc/crontab?
(Just press Enter to accept the default) [Y/n]: Y
All done!
If you reconfigured your MTA you should restart it now to activate the changes.
Have a nice day
Frisk software (www.f-prot.com)
[root@mail f-prot]# ll
总计 60000
-rw-r--r-- 1 user1 users 59467267 05-31 07:31 antivir.def
drwxr-xr-x 4 user1 users 4096 2008-04-29 doc
-rw-r--r-- 1 root root 9383 05-31 07:20 f-prot.conf
-rw-r--r-- 1 user1 users 9383 2008-04-29 f-prot.conf.default
-rwxr-xr-x 1 user1 users 1519972 2008-04-29 fpscan
-rwx------ 1 user1 users 285032 2008-04-29 fpupdate
-rwxr-xr-x 1 user1 users 40063 2008-04-29 install-f-prot.pl
-rw-r--r-- 1 user1 users 55 2008-04-29 license.key
lrwxrwxrwx 1 user1 users 20 05-31 07:15 product.data -> product.data.default
-rw-r--r-- 1 user1 users 13 2008-04-29 product.data.default
-rw-r--r-- 1 user1 users 6192 2008-04-29 README
[root@mail f-prot]# /opt/f-prot/fpupdate
[root@mail f-prot]# [确定]
[root@mail ~]# crontab -e
00 23 * * * /opt/f-port/fpupdate //设置每天晚上11点自动更新病毒库
[root@mail ~]# service crond restart
停止 crond: [确定]
启动 crond: [确定]
[root@mail ~]# chkconfig --level 35 crond on
测试邮件内容过滤及病毒测试
登录postmaster@extmail.org,给自己发一封测试邮件,内容分别包含下面字符串,在日志中查看效果
测试邮件内容过滤,下面是一段字符串:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
测试邮件防病毒机制
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
本实验很多参考了北大青鸟benet 3.0课程教材,之前做这个实验,用的版本有所不同,但是没出现什么问题,就是在最后病毒测试一项,没有见到效果,这个大家可以换其他的杀毒软件试试,以上如有错误请指出,本人会及时更正,谢谢!