配置extmail过程详解
所用软件包本文中,以下软件包都将在/root中存放),软件包都是最新的源代码包。
Postfix-2.6.2
Mysql-5.0.45
Cyrus-sasl-2.1.22
DB-4.5.20
Openssl-0.9.8e
httpd-2.2.4
Php-5.2.3
courier-authlib-0.58
courier-imap-4.1.0
Extmail-1.1.0(依赖关系包:Unix-Syslog-1.1.tar.gz,DBD-mysql-3.0008.tar.gz)
Extman-0.2.5(依赖关系包:gd-2.0.35,GD-2.44,配置图形日志所需软件包:Time-HiRes-1.9719.tar.gz,File-Tail-0.99.3.tar.gz,rrdtool-1.2.30.tar.gz )
maildrop-2.0.2(需要pcre的支持,pcre-7.3.tar.bz2)
clamav-0.91.2
amavisd-new-2.6.4
Mail-SpamAssassin-3.2.5
系统逻辑结构
前提:开始前请确保您已经配置好指向此邮件服务器MX记录及其它DNS设置;本示例中的域名为gdc8888.com,邮件服务器FQDN为mail.gdc8888.com,IP地址为192.168.1.11;同时,如果您的服务器事先已经安装了sendmail,请卸载之;
一、安装mysql-5.0.45
# rpm -qa |grep mysql|xargs rpm -e --nodeps(删除系统自带的mysql)
# groupadd mysql
# useradd -g mysql -s /bin/false -M mysql
# tar zxvf mysql-5.0.45.tar.gz
# cd mysql-5.0.45
#./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --with-charset=gbk --with-extra-charset=all --with-low-memory
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql var
# bin/mysqld_safe --user=mysql &
# netstat -tnl(查看有没有打开3306端口)
# cd /root/mysql-5.0.45(这里的目录指的是原压缩包解压后的目录)
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
加入自动启动服务队列:
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
测试
# /usr/local/mysql/bin/mysqladmin ping
# /usr/local/mysql/bin/mysqladmin version
# /usr/local/mysql/bin/mysql
添加root密码
# /usr/local/mysql/bin/mysqladmin -u root password 'password'新密码
说明:此时mysql的root用户的密码为空
配置库文件搜索路径
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig -v
添加/usr/local/mysql/bin到环境变量PATH中
# export PATH=$PATH:/usr/local/mysql/bin
二、安装openssl-0.9.8e
# tar zxvf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e
# ./config shared zlib
# make
# make test
# make install
# mv /usr/bin/openssl /usr/bin/openssl.OFF
# mv /usr/include/openssl /usr/include/openssl.OFF
# rm /usr/lib/libssl.so
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
# ln -sv /usr/local/ssl/lib/libssl.so.0.9.8/usr/lib/libssl.so
配置库文件搜索路径
# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
# ldconfig -v
检测安装结果
# openssl version
OpenSSL 0.9.8e 23 Feb 2007
三、安装BerkeleyDB
# tar zxvf db-4.5.20.tar.gz
# cd db-4.5.20/build_unix
# ../dist/configure --prefix=/usr/local/BerkeleyDB
# make
# make install
修改相应的头文件指向
# mv /usr/include/db4 /usr/inculde/db4.OFF
# rm /usr/include/db_cxx.h
# rm /usr/include/db.h
# rm /usr/include/db_185.h
# ln -sv /usr/local/BerkeleyDB/include /usr/include/db4
# ln -sv /usr/local/BerkeleyDB/include/db.h /usr/include/db.h
# ln -sv /usr/local/BerkeleyDB/include/db_cxx.h /usr/include/db_cxx.h
配置库文件搜索路径
# echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf
# ldconfig -v
四、安装httpd-2.2.4
# tar jxvf httpd-2.2.4.tar.bz2
# cd httpd-2.2.4
#./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www
# make
# make install
# echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系统启动时服务自动启动)
五、安装php-5.2.3
# tar -zvxf php-5.2.3.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.3
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-xml --with-png --with-jpeg --with-zlib --with-freetype --with-gd --enable-track-vars --enable-mbstring=all
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
注:编辑apache配置文件httpd.conf,以apache支持php
# vi /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndexindex.php index.html
3、按照使用习惯,这里将网站根目录指定到/var/www:
找到DocumentRoot “/usr/local/apache/htdocs”
修改为:DocumentRoot “/var/www”(后文中我们还会注释掉此行,以启用虚拟主机)
找到
修改为:
找到
修改为:注意把#去掉
说明:这个对本文来说并非是不可少的。
# mkdir /var/www
# /usr/local/apache/bin/apachectl start启动apache服务
六、安装Courier authentication library
1.先添加vuser用户和vgroup组
# groupadd -g 1000 vgroup
# useradd -g 1000 -u 1000 -M -s /bin/false vuser
# tar jxvf courier-authlib-0.58.tar.bz2
# cd courier-authlib-0.58
#./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --sysconfdir=/etc --without-authpam --without-authldap --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql --with-authmysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-redhat --with-mailuser=vuser --with-mailgroup=vgroup --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations"
# make
# make install
# make install-migrate
# make install-configure
# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon(这一步需注意,这一步若没有,则会出现authdaemon权限拒绝。)
# cp /etc/authdaemonrc.dist /etc/authdaemonrc
# cp /etc/authmysqlrc.dist /etc/authmysqlrc
修改/etc/authdaemonrc文件
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
DEBUG_LOGIN=2
编辑/etc/authmysqlrc为以下内容,其中1000,1000为vuser用户的UID和vgroup的GID。
MYSQL_SERVER localhost
MYSQL_PORT 3306(指定你的mysql监听的端口,这里使用默认的3306)
MYSQL_USERNAMEextmail(这时为后文要用的数据库的所有者的用户名)
MYSQL_PASSWORD extmail(密码)
MYSQL_SOCKET/tmp/mysql.sock
MYSQL_DATABASEextmail
MYSQL_USER_TABLEmailbox
MYSQL_CRYPT_PWFIELDpassword
MYSQL_UID_FIELD '1000'
MYSQL_GID_FIELD'1000'
MYSQL_LOGIN_FIELDusername
MYSQL_HOME_FIELDconcat('/var/mailbox/',homedir)
MYSQL_NAME_FIELDname
MYSQL_MAILDIR_FIELDconcat('/var/mailbox/',maildir)
MYSQL_QUOTA_FIELDquota
# cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib
# chmod 755 /etc/rc.d/init.d/courier-authlib
# chkconfig --add courier-authlib
# chkconfig courier-authlib on
# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf
# ldconfig
# ldconfig -v
# service courier-authlib start(启动服务)
七、安装Courier-IMAP
# tar jxvf courier-imap-4.1.0.tar.bz2