POSTFIX邮局系统搭建全过程
(postfix+courier-imap+maildrop+cyrus-sasl+ extman+ SpamAssassin+ clamav+ amavisd-new搭建mail服务器)
作者:刘运锋
前言:现在网上有很多搭建postfix邮局系统的文章,其中也不乏优秀的文章,但是根据那些并不能完整的将postfix邮局系统架设起来。笔者也深受一些错误文章的影响,在搭建的过程中遇到这样和那样的问题,此次将postfix邮局系统完成的搭建一遍,并将搭建过程中遇到的问题及时更改,并更新到文档中,提供一个全方位的文档。以飨读者!希望不要再有人误导读者了!
第一篇:邮件系统搭建
一、系统环境:
1、 采用Centos 5.5系统也或者是rhel 5.5;
2、 内存最好为512M以上;
3、 本次采用的系统主机名为mail.xxt.cn。
二、所需安装源码包列表:
软件 |
作用 |
下载地址 |
mysql-5.1.49.tar.gz |
数据库用于存储包括管理员在内的用户信息 |
http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.1/mysql-5.1.49.tar.gz |
cyrus-sasl-2.1.22.tar.gz |
验证方法 |
http://down1.chinaunix.net/distfiles/cyrus-sasl-2.1.22.tar.gz |
httpd-2.2.9.tar.gz |
提供web服务 |
http://sunsite.bilkent.edu.tr/pub/apache/httpd/httpd-2.2.9.tar.gz |
php-5.2.6.tar.gz |
提供PHP服务 |
ftp://ftp.ru/pub/sunfreeware/SOURCES/php-5.2.6.tar.gz |
postfix-2.6.5.tar.gz |
邮件服务器主程序 |
http://down1.chinaunix.net/distfiles/postfix-2.6.5.tar.gz |
courier-authlib-0.62.4.tar.bz2 |
与cyrus-sasl一起做验证 |
http://down1.chinaunix.net/distfiles/courier-authlib-0.62.4.tar.bz2 |
courier-imap-4.8.0.tar.bz2 |
提供Pop3及IMAP服务 |
http://cdnetworks-kr-2.dl.sourceforge.net/project/courier/imap/4.8.0/courier-imap-4.8.0.tar.bz2 |
maildrop-2.5.0.tar.bz2 |
邮件投递代理,直观的讲就是把收到的邮件转发到用户的邮箱目录 |
http://cdnetworks-kr-2.dl.sourceforge.net/project/courier/maildrop/2.5.0/maildrop-2.5.0.tar.bz2 |
extman-1.1.tar.gz |
提供extman后台管理功能 |
http://www.extmail.org/cgi-bin/download.cgi |
extmail-1.2.tar.gz |
提供webmail前端服务功能 |
http://www.extmail.org/cgi-bin/download.cgi |
DBD-mysql-3.0008.tar.gz |
|
http://cpan.uchicago.edu/pub/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0008.tar.gz |
gd-2.0.35.tar.bz2 |
图形化日志 |
http://www.libgd.org/releases/gd-2.0.35.tar.bz2 |
Time-HiRes-1.9719.tar.gz |
图形化日志 |
http://www.cpan.org/modules/by-module/Time/Time-HiRes-1.9719.tar.gz |
File-Tail-0.99.3.tar.gz |
图形化日志 |
http://down1.chinaunix.net/distfiles/File-Tail-0.99.3.tar.gz |
rrdtool-1.2.26.tar.gz |
图形化日志(高版本没有通过编译) |
http://oss.oetiker.ch/rrdtool/pub/ rrdtool-1.2.26.tar.gz |
clamav-0.96.1.tar.gz |
反病毒工具(请根据情况及时更新到最新) |
http://sourceforge.net/projects/clamav/files/clamav/ |
Mail-SpamAssassin-3.3.1.tar.gz |
邮件过滤器 |
http://labs.renren.com/apache-mirror/spamassassin/source/Mail-SpamAssassin-3.3.1.tar.gz |
amavisd-new-2.6.4.tar.gz |
连接MTA和内容检测工具(诸如病毒扫描工具和 SpamAssassin)的高性能接口程序 |
http://www.ijs.si/software/amavisd/amavisd-new-2.6.4.tar.gz |
Convert-BinHex-1.119.tar.gz |
Amavis依赖包 |
http://down1.chinaunix.net/distfiles/Convert-BinHex-1.119.tar.gz |
|
|
|
三、安装与配置工作:
1、 安装并配置MYSQL:
(1)安装mysql
# tar -zxvf mysql-5.1.49.tar.gz
# cd mysql-5.1.49
# groupadd mysql
# useradd -g mysql -s /sbin/nologin -M mysql
# ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all --enable-thread-safe-client --enable-local-infile --with-low-memory
# make && make install
# cp support-files/my-medium.cnf /etc/my.cnf
# chown -R mysql.mysql /usr/local/mysql/
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# chown -R mysql.mysql /usr/local/mysql/var/
(2)启动数据库服务,并添加到自启动
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --levels 345 mysqld on
(3)配置库文件搜索路径
# echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig
#echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
#source /etc/profile
(4)添加root密码
# /usr/local/mysql/bin/mysqladmin -u root password "xxttest"
2、 安装apache
安装Apache有两个要注意的地方,因为我这里用的Postfix的后台管理是extman这个程序,而它是通过CGI的方式来进行管理的,所以这里启用了suexec的功能,还有一个是关于网站的存放路径的,如果不指定,那么在启用suexec后会出现 suexec-docroot的错误。
(1) 安装apache
#tar -jxvf httpd-2.2.9.tar.bz2
#cd httpd-2.2.9
#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=all --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www
#make
#make install
(2) 修改apache配置文件
#vi /usr/local/apache2/conf/httpd.conf
找到DocumentRoot “/usr/local/apache2/htdocs”
修改为:DocumentRoot “/var/www”(后文中我们还会注释掉此行,以启用虚拟主机)
找到<Directory “/usr/local/apache2/htdocs”>
修改为:<Directory “/var/www”>
找到
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all //这句改为Allow from all
</Directory>
启动apache
#/usr/local/apache2/bin/apachectl start
(3) 添加系统服务和自启动
# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
# vi /etc/rc.d/init.d/httpd
添加(#!/bin/sh下面)
# chkconfig: 2345 10 90
# description: Activates/Deactivates Apache Web Server
然后添加为系统服务和开机器自启动
# chkconfig --add httpd
# chkconfig httpd on
3、 安装PHP
(1)安装PHP
# tar -zxvf php-5.2.6.tar.gz
# cd php-5.2.6
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php --with-zlib --enable-mbstring=all
# make && make install
# cp php.ini-dist /usr/local/php/php.ini
(2)配置PHP
# vi /usr/local/apache2/conf/httpd.conf
添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
找到DirectoryIndex index.html