Postfix extmail完整版
Postfix extmail配置詳解所用軟件包:(本文中, 以下軟件包都將在/root中存放), 軟件包都是最新的源代碼包。 Postfix-2.6.2Mysql-5.0.45Cyrus-sasl-
Postfix extmail配置詳解
所用軟件包:(本文中, 以下軟件包都將在/root中存放), 軟件包都是最新的源代碼包。 Postfix-2.6.2
Mysql-5.0.45
Cyrus-sasl-2.1.22
DB-4.5.20
Openssl-0.9.8e
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
前提:開始前請確保您已經(jīng)配置好指向此郵件服務器MX 記錄及其它DNS 設置;本示例中的域名為gdc8888.com ,郵件服務器FQDN 為mail.gdc8888.com ,IP 地址為192.168.1.11;同時,如果您的服務器事先已經(jīng)安裝了sendmail ,請卸載之;
一. 安裝mysql-5.0.45
#rpm -qa |grep mysql|xargs rpm -e --nodeps(刪除系統(tǒng)自帶的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到環(huán)境變量PA TH 中 # 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
檢測安裝結(jié)果
# 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(系統(tǒng)啟動時服務自動啟動)
五、安裝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
修改為:
DirectoryIndex index.php index.html
3、按照使用習慣,這里將網(wǎng)站根目錄指定到/var/www:
找到DocumentRoot “/usr/local/apache/htdocs”
修改為:DocumentRoot “/var/www”(后文中我們還會注釋掉此行,以啟用虛擬主機) 找到
修改為:
找到<#ServerName www.example.com:80>
修改為:
說明:這個對本文來說并非是不可少的。
# 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(這一步需注意,這一步若沒有,則會出現(xiàn)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 為以下內(nèi)容,其中1000,1000為vuser 用戶的UID 和vgroup 的GID 。 MYSQL_SERVER localhost
MYSQL_PORT 3306 (指定你的mysql 監(jiān)聽的端口,這里使用默認的3306) MYSQL_USERNAME extmail (這時為后文要用的數(shù)據(jù)庫的所有者的用戶名) MYSQL_PASSWORD extmail (密碼)
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD '1000'
MYSQL_GID_FIELD '1000'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)
MYSQL_QUOTA_FIELD quota
# 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
# cd courier-imap-4.1.0
#./configure --prefix=/usr/local/courier-imap
--with-redhat
--enable-unicode
--disable-root-check
--with-trashquota
--without-ipv6
CPPFLAGS='-I/usr/local/ssl/include/openssl-I/usr/local/courier-authlib/include'
LDFLAGS='-L/usr/local/courier-authlib/lib/courier-authlib'
COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'
# make
# make install
# cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd
# cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl
# cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d
# cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl
配置Courier-IMAP ,為用戶提供pop3服務:
vi /usr/local/courier-imap/etc/pop3d
POP3DSTART=YES
注:如果你想為用戶提供IMAP 服務,則需在"/usr/local/courier-imap/etc/imapd"文件中設置"IMAPDSTART=yes";其它類同;
新建虛擬用戶郵箱所在的目錄,并將其權限賦予vuser 用戶:
# mkdir –pv /var/mailbox
,# chown -R vuser.vgroup /var/mailbox
# cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imapd
# chmod 755 /etc/rc.d/init.d/courier-imapd
# chkconfig --add courier-imapd
# chkconfig --level 2345 courier-imapd on
# service courier-imapd start
八、安裝sasl-2.1.22
刪除系統(tǒng)自帶的cyrus-sasl
# rpm -qa|grep cyrus-sasl |xargs rpm -e --nodeps
# rm -rf /usr/lib/sasl
# rm -rf /usr/lib/sasl2
# tar zxvf cyrus-sasl-2.1.22.tar.gz
# cd cyrus-sasl-2.1.22
#./configure
--disable-ntlm
--disable-krb4
--disable-gssapi
--disable-anon
--disable-sample
--enable-plain
--enable-digest
--enable-cram
--enable-login
--enable-sql
--with-mysql=/usr/local/mysql
--with-mysql-includes=/usr/local/mysql/include/mysql
--with-mysql-libs=/usr/local/mysql/lib/mysql
--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket # make
,# make install
# ln -sv /usr/local/lib/sasl2 /usr/lib/sasl2
創(chuàng)建運行時需要的目錄并調(diào)試啟動
# mkdir -pv /var/state/saslauthd
# /usr/local/sbin/saslauthd -a shadow pam -d
啟動并測試
# /usr/local/sbin/saslauthd -a shadow pam
# /usr/local/sbin/testsaslauthd -u root -p 用戶密碼 如果提示OK "Success.",則成功。 配置庫文件搜索路徑
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
# ldconfig -v
開機自動啟動
# echo "/usr/local/sbin/saslauthd -a shadow pam">>/etc/rc.local
接下來配置SMTP 認證,編輯 /usr/local/lib/sasl2/smtpd.conf,確保其為以下內(nèi)容: pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
九、安裝Postfix-2.6.2
安裝之前請先卸載掉sendmail
# /etc/init.d/sendmail stop
# rpm -qa |grep sendmail|xargs rpm -e --nodeps
1.安裝
# groupadd -g 2525 postfix
# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
# groupadd -g 2526 postdrop
# useradd -g postdrop -u 2526 -s /bin/false -M postdrop