歡迎您光臨本站 註冊首頁

RHEL5U3上安裝postfix+extmail+mysql+maildrop+imap

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

RHEL5U3上安裝postfix+extmail+mysql+maildrop+imap

ExtMail Solution HOWTO for Linux
ExtMail Solution 結構
ExtMail Solution 是一個基於優秀開源軟體的電子郵件系統解決方案,核心部件包括了Postfix, Amavisd-new, ClamAV, ExtMail 和ExtMan, Courier系列軟體。是一個功能相對比較齊全的免費電子郵件系統。以下是其主要的特性列表:

支持SMTP/POP3/HTTP協議
支持SMTP認證及ESMTP
可支持大容量郵箱(大於1GB)
高速Web界面訪問郵箱
完整的Web管理後台
在線服務端病毒過濾
內建內容過濾
SMTP行為識別垃圾郵件
支持大量反垃圾郵件技術
圖形化郵件日誌分析
支持別名/多域/域管理員等
支持網路磁碟/POP3郵件
支持讀/寫HTML格式郵件
支持定製模板及多語言


整個郵件解決方案由如下軟體組成:


功能模塊 內容 備註
操作系統(OS) RHEL5U3 RHEL 5 update 3
郵件傳輸代理(MTA) Postfix 2.5.3 使用最新版本2.5.3
資料庫/目錄服務 MySQL 5.0  可選openLDAP或NetScape LDAP,本文以MySQL為藍本
郵件投遞代理(MDA) maildrop 2.0.x 支持過濾和強大功能
Web帳戶管理後台 ExtMan 0.2.5 支持無限域名、無限用戶
POP3 伺服器 Courier-IMAP 對於大部分企業而言完全足夠
WebMail 系統 ExtMail 1.1 支持多語言、全部模板化,功能基本齊全
SMTP認證庫 Cyrus SASL  標準的SASL實現庫,可以支持Courier authlib
其他數據認證庫 Courier Authlib 0.60 authlib是maildrop, courier-imap等服務的關鍵部件
日誌分析及顯示 mailgraph_ext 在ExtMan中已經包含了
Web 伺服器 Apache 2.x OS 自帶


硬體配置
要流暢地運行郵件系統,建議的硬體配置如下:

物理內存:512M+ 推薦1024M;
交換區:2倍物理內存大小;
CPU:PIII 1G+ 推薦P4及其以上級別;
主板:推薦Intel原裝;
網卡:100M/1000M 推薦3Com/Intel;
操作系統安裝
本文檔支持RedHat Enterprise 5.x 及CentOS 5.x版本。要注意的是安裝系統時,只安裝如下的組件:

Web Server
要注意必須選中httpd-suexec軟體包,否則下文的配置將失效
MYSQL資料庫
注意必須選中mysql-server, libdbi-dbd-mysql, perl-DBD-mysql等模塊,否則extmail將無法連接mysql
VIM編輯器
強烈建議安裝vim-enhanced軟體包,它支持main.cf彩色高亮語法分析
其餘的Xwindows, 列印,KDE/Gnore, 伺服器配置工具,網路工具,開發包等全部都不是必選組件。安裝完畢進入操作系統后,為增加系統安全性,建議禁止root直接登陸,並增加一個非root帳戶,例如sysadmin。這樣無法以root賬戶直接登陸系統,必須先以sysadmin身份登陸再su到root執行。方法:


配置SELinux
自從RHEL4/CentOS4以後,系統默認打開了Iptables和SELinux支持,簡單說SELinux就是一個強制性的安全機制,但是它也帶來了不少麻煩,建議將其關掉.

關掉SELinux

vi /etc/sysconfig/selinux
SELINUX=disabled
reboot

關掉防火牆

server iptables stop

chkconfig iptables off

下載ExtMail Solution軟體包
基本假定
整個系統的安裝全過程都要求以root身份執行,如果機器沒有訪問外部網路的能力,則事先下載好ExtMail Solution軟體包,並用ftp以sysadmin帳戶的身份,上載到伺服器。

下載軟體包
我們統一將軟體包下載到/root目錄里。
cd /root
wget ftp://ftp.tounix.com/pub/extmail.tar.gz

解壓
目前最新的ExtMail-Solution軟體包版本號為0.2.5,在/root目錄解開:

tar xfvz extmail.tar.gz
定義yum的非官方庫
安裝pack


rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

然後編輯/etc/yum.repos.d/rpmforge.repo如下:

# cat /etc/yum.repos.d/rpmforge.repo


# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/

name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
# CentOS-Base.repo

name=CentOS-$releasever - Base
baseurl=http://centos.ustc.edu.cn/centos/5.3/os/$basearch
http://centos.candishosting.com.cn/5.3/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#released updates

name=CentOS-$releasever - Updates
baseurl=http://centos.ustc.edu.cn/centos/5.3/updates/$basearch/
http://centos.candishosting.com.cn/5.3/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released

name=CentOS-$releasever - Addons
baseurl=http://centos.ustc.edu.cn/centos/5.3/addons/$basearch/
http://centos.candishosting.com.cn/5.3/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful

name=CentOS-$releasever - Extras
baseurl=http://centos.ustc.edu.cn/centos/5.3/extras/$basearch/
http://centos.candishosting.com.cn/5.3/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages

name=CentOS-$releasever - Plus
baseurl=http://centos.ustc.edu.cn/centos/5.3/centosplus/$basearch/
http://centos.candishosting.com.cn/5.3/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#contrib - packages by Centos Users

name=CentOS-$releasever - Contrib
baseurl=http://centos.ustc.edu.cn/centos/5.3/contrib/$basearch/
http://centos.candishosting.com.cn/5.3/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
安裝必須的軟體
yum -y install ntsysv ntp telnet wget rsync vixie-cron logwatch perl-Unix-Syslog perl-Net-Daemon perl-PlRPC perl-DBI perl-DBD-MySQL  freetype-demos freetype-devel libart_lgpl-devel libpng libpng-devel perl-Time-HiRes perl-Time-HiRes-Value perl-File-Tail  perl-libwww-perl perl-HTML-Parser perl-HTML-Tagset perl-IO-stringy perl-IO-Multiplex perl-MailTools perl-TimeDate perl-Convert-ASN1 perl-Convert-BinHex perl-MIME-tools perl-FCGI perl-GD rrdtool rrdtool-perl apr-devel apr-docs apr-util-devel apr-util-docs giflib libgdiplus mono-core dbus-sharp dbus-sharp-devel dbus-glib-devel dbh dbh-devel pcre pcre-devel httpd httpd-devel httpd-manual mysql mysql-devel mysql-server cyrus-sasl cyrus-sasl-plain bind bind-chroot amavisd-new clamd clamav clamav-db spamassassin bison bzip2-devel expect fam-devel flex freetype-devel gcc gcc-c++ gdbm-devel libc-client-devel libjpeg-devel libmcrypt libmcrypt-devel libpng-devel libxslt-devel make rpm-build mod_ssl php php-gd php-mysql php-mbstring php-mcrypt phpmyadmin perl-Mon perl-Authen-PAM perl-Filter perl-Net-SSLeay perl-Convert-BER perl-URI   perl-XML-SAX perl-Crypt-Blowfish perl-Crypt-CBC perl-Date-Calc  ncurses-devel net-snmp-devel libtool openssl openssl-devel openssl-perl pam-devel pkgconfig postgresql-devel zlib-devel openldap-servers libtool-ltdl-devel


配置Postfix MTA
安裝postfix
rpm -ivh  /root/extmail/i386/postfix-2.5.4-2.rhel5.i386.rpm


刪除衝突軟體,sendmail,需要執行:
rpm -e `rpm -qa |grep sendmail`

配置postfix

簡化postfix配置:
postconf -n > /etc/postfix/main2.cf
mv /etc/postfix/main.cf /etc/postfix/main.cf.old
mv /etc/postfix/main2.cf /etc/postfix/main.cf

再編輯main.cf:

vi /etc/postfix/main.cf

增加如下內容:
# hostname

mynetworks = 127.0.0.1
myhostname = ymail.8866.org  
mydestination = localhost
inter_interfaces = all
# banner
mail_name = Postfix - by extmail.org
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450
# extmail config here
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:


下面指定 Extmail 連接 mysql 時的參數, 包括 username, password, database 等。你不需要自己手工去 mysql 建立 database 以及 username。在後面,會有一個專門的 sql 文件進行導入進行資料庫的初始化,修改後即可導)

複製/root/extmail/extman/docs/mysql_virtual_* /etc/postfix/, mysql_virtual_* 內容如下:



vi /etc/postfix/mysql_virtual_alias_maps.cf

內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = alias
select_field = goto
where_field = address


vi /etc/postfix/mysql_virtual_domains_maps.cf

內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx ='0' and active ='1'


vi /etc/postfix/mysql_virtual_mailbox_maps.cf
內容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = '1'

配置Courier-Authlib
authlib是數據認證庫, 是maildrop, courier-imap等服務的關鍵部件
安裝Courier-Authlib
運行如下命令安裝相關軟體包

rpm -ivh  /root/extmail/i386/courier-authlib-0.61.0-1.rh5Server.i386.rpm
rpm -ivh  /root/extmail/i386/courier-authlib-devel-0.61.0-1.rh5Server.i386.rpm
rpm -ivh  /root/extmail/i386/courier-authlib-mysql-0.61.0-1.rh5Server.i386.rpm

配置authlibdaemon
cd /etc/authlib/
mv authdaemonrc authdaemonrc.bak
vim authdaemonrc
輸入下面的內容:
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
authdaemonvar=/var/spool/authdaemon
DEBUG_LOGIN=2
LOGGEROPTS=""
cp /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc.bak, 然後編輯/etc/authlib/authmysqlrc文件,並將其內容清空,然後增加如下內容:

MYSQL_SERVER            localhost
MYSQL_USERNAME          extmail
MYSQL_PASSWORD          extmail
MYSQL_SOCKET            /var/lib/mysql/mysql.sock
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          extmail
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         uidnumber
MYSQL_GID_FIELD         gidnumber
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        homedir
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir
MYSQL_QUOTA_FIELD       quota
MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\
                        CONCAT('/home/domains/',homedir),               \
                        CONCAT('/home/domains/',maildir),               \
                        quota,                                          \
                        name                                            \
                        FROM mailbox                                    \
                        WHERE username = '$(local_part)@$(domain)'

存檔退出后啟動courier-authlib:

service courier-authlib start
如一切正常,命令行將返回如下信息:

Starting Courier authentication services: authdaemond


修改authdaemon socket目錄許可權

如果該目錄許可權不正確修改,maildrop及postfix等將無法正確獲取用戶的信息及密碼認證:
chmod 755 /var/spool/authdaemon/


安裝Maildrop
安裝maildrop
rpm -ivh  /root/extmail/i386/maildrop-2.0.4-1.5Server.i386.rpm
rpm -ivh  /root/extmail/i386/maildrop-man-2.0.4-1.5Server.i386.rpm

添加虛似用戶及創建目錄


# groupadd -g 1000 vgroup
# useradd -g 1000 -u 1000 -s /sbin/nologin -d /dev/null vuser


配置master.cf
為了使Postfix支持Maildrop,追加下面內容到/etc/postfix/master.cf文件,:
maildrop   unix        -       n        n        -        -        pipe
    flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

配置main.cf
由於maildrop不支持一次接收多個收件人,因此必須在main.cf里增加如下參數:

vi /etc/postfix/main.cf添加下面一行。

maildrop_destination_recipient_limit = 1
最後重新啟動postfix即可

postfix reload

配置Apache
編輯httpd.conf:
vi /etc/httpd/conf/httpd.conf

在730行左右,修改AddDefaultCharset 為GB2312
AddDefaultCharset GB2312
User vuser
Group vgroup
Alias /extman/cgi/ /var/www/extsuite/extman/cgi/
Alias /extman /var/www/extsuite/extman/html/

<Location "/extman/cgi">
Sethandler cgi-script
Options +ExecCGI
</Location>

Alias /extmail/cgi/ /var/www/extsuite/extmail/cgi/
Alias /extmail /var/www/extsuite/extmail/html/

<Location "/extmail/cgi">
Sethandler cgi-script
Options +ExecCGI
</Location>



使apache開機默認啟動:

chkconfig httpd on

重新啟動apache:

service httpd restart
注意:此時重新啟動apache會產生以下警告信息,可不必理會

Starting httpd: Warning: DocumentRoot does not exist

[ 本帖最後由 zsgd 於 2009-9-4 23:29 編輯 ]
《解決方案》

安裝ExtMail
建立/var/www/extsuite並複製源碼到該目錄,相關命令:
mkdir /var/www/extsuite
cp -r /root/extmail/extmail /var/www/extsuite/extmail
cd /var/www/extsuite/extmail
cp webmail.cf.default webmail.cf

編輯webmail.cf
修改/var/www/extsuite/extmail/webmail.cf里的其他參數,主要變動的內容見下:

SYS_USER_LANG = zh_CN
SYS_USER_CHARSET = gb2312

SYS_MFILTER_ON = 1
SYS_NETDISK_ON = 1
SYS_SHOW_SIGNUP = 1

SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail

SYS_G_ABOOK_TYPE = file
SYS_G_ABOOK_FILE_CHARSET = gb2312


其中SYS_MFILTER_ON及SYS_NETDISK_ON 設置為1是為了打開網路磁碟和過濾器;SYS_SHOW_SIGNUP控制首頁是否顯示免費註冊郵箱按鈕;全局地址本默認為ldap格式,現在也改為文本格式,並將地址本的轉換編碼改為GB2312

更新cgi目錄許可權
由於EXEC的需要,必須將extmail的cgi目錄修改成vuser:vgroup許可權:

chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/
安裝ExtMan - web後台
在/root/extmail軟體包根目錄下執行:

cp -r /root/extmail/extman /var/www/extsuite/extman/



配置webman.cf
修改/var/www/extsuite/extman/webman.cf內SYS_CHARSET及SYS_LANG參數為:

SYS_CAPTCHA_ON = 1
# SYS_CAPTCHA_ON參數控制首頁是否採用校驗碼登陸
SYS_CHARSET = gb2312
SYS_LANG = zh_CN

其他參數基本上可以使用默認值。


更新cgi目錄許可權
由於EXEC的需要,必須將extman的cgi目錄修改成vuser:vgroup許可權:

chown -R vuser:vgroup /var/www/extsuite/extman/cgi/


確認MySQL狀態
在執行mysql操作前,必須確認它已被正確安裝並啟動,第一次啟動時必須初始化mysql,然後重新啟動

/usr/bin/mysql_install_db
service mysqld start

正常情況下將啟動成功:

Starting MySQL:                                            [  OK  ]

然後用ps命令來檢查mysqld是否正確運行:

ps ax|grep mysqld
如果mysql沒正確啟動,請檢查/var/log/mysqld.log裡面的出錯提示,進行處理:

tail /var/log/mysqld.log


資料庫初始化
執行以下命令導入mysql資料庫結構及初始化數據,注意必須逐行輸入以下命令,root密碼默認為空,不可直接用滑鼠複製兩行命令直接輸入,否則會報錯!

在執行下面兩個命令之前,一定要先確認 /var/www/extsuite/extman/docs/extmail.sql 以及 /var/www/extsuite/extman/docs/init.sql 的內容。
如果你一切按默認安裝,域名用的就是 mail.extmail.org, 資料庫的連接參數(username, database, password)都沒有改,那麼可以不用修改。直接執行。
如果你的域名不是 mail.extmail.org,而是你自己的域名,建議修改下列資料:
打開 /var/www/extsuite/extman/docs/extmail.sql, 修改資料庫連接的用戶名和密碼。
打開 /var/www/extsuite/extman/docs/init.sql, 修改默認的初始郵箱地址和管理員帳號。默認的密碼在這裡不要改。


mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql
mysql -u root -p < /var/www/extsuite/extman/docs/init.sql

鏈接基本庫到Extmail

建立臨時文件夾:
mkdir /tmp/extman
chown -R vuser:vgroup /tmp/extman

建立剛才導入mysql的[email protected]帳戶的Maildir,請輸入如下命令:

cd /var/www/extsuite/extman/tools
./maildirmake.pl /home/domains/extmail.org/postmaster/Maildir
chown -R vuser:vgroup /home/domains/extmail.org

注意事項:


由於RedHat發行版中包含了一個叫tmpwatch的工具,該工具會定期掃描/tmp/下的文件,如果這些文件很久都沒被使用,將被刪除,因此如果後台長期不使用,/tmp/extman目錄有可能被tmpwatch刪除,所以要麼定期登陸後台,要麼修改 webman.cf將臨時目錄修改到另一個地方。此處暫以/tmp/extman默認值為例。

上述導入初始化SQL時,默認的uidnumber/gidnumber都是1000,這和vuser:vgroup 的uid/gid一致,是因為maildrop投遞時會從資料庫里取uidnumber/gidnumber,而在master.cf里已經定義好了投遞時的運行身份(vuser:vgroup),所以這兩個欄位的內容必須為1000,否則將出現投遞錯誤,例如報0x06等錯誤。


測試authlib
在命令行下執行:

/usr/sbin/authtest -s login [email protected] extmail
結果如下:

Authentication succeeded.

     Authenticated: [email protected]  (uid 1000, gid 1000)
    Home Directory: /home/domains/extmail.org/postmaster
           Maildir: /home/domains/extmail.org/postmaster/Maildir/
             Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
           Options: (none)

在命令行下執行:

echo "test" | maildrop -V 10 -d [email protected]
結果如下:

maildrop: authlib: groupid=1000
maildrop: authlib: userid=1000
maildrop: authlib: [email protected], home=/home/domains/extmail.org/postmaster, mail=/home/domains/extmail.org/postmaster/Maildir/
maildrop: Changing to /home/domains/extmail.org/postmaster
Message start at 0 bytes, envelope [email protected]
maildrop: Attempting .mailfilter
maildrop: Delivery complete.
這樣表明ExtMan的正確安裝,資料庫也正確導入,courier-authlib能正確連接到mysql資料庫

最後訪問http://ymail.8866.org/extmail/,如無意外,將看到webmail的登陸頁,不過此時還沒有加正式的用戶,所以不能登陸,包括[email protected]也不行。必須要登陸到http://ymail8866.org/extman/ 里增加一個新帳戶才能登陸。

ExtMan的默認超級管理員帳戶:[email protected],初始密碼:extmail*123*,登陸成功后,建議將密碼修改,以確保安全。

配置Mailgraph_ext
自ExtMan 0.14-pre2 開始,系統集成了Mailgraph_ext插件,該插件使extman具備圖形化顯示郵件日誌的能力。mailgraph_ext融合了mailgraph和queuegraph兩個軟體包,除增加了更多的日誌分析及圖形顯示能力外,還重寫了web模塊,集成到ExtMan後台里,這樣郵件日誌將只能給經過授權的用戶查看,提高了安全性。

mailgraph_ext及Extman都需要安裝rrdtool工具,前面已經通過YUM安裝過。


複製mailgraph_ext
執行以下命令:

cp -r /var/www/extsuite/extman/addon/mailgraph_ext/ /usr/local/mailgraph_ext/

注意事項:

本文使用qmonitor來搜集隊列數據,而不是使用crontab來定時提取,這與官方網站上的文檔有差異。使用qmonitor的好處是它實時的監視隊列目錄的變化,顯示的結果更加精確。

啟動進程
啟動mailgraph_ext及qmonitor:

/usr/local/mailgraph_ext/mailgraph-init start
/usr/local/mailgraph_ext/qmonitor-init start



加入自啟動

為了一開機就能自動執行上述進程,將上述命令加到rc.local 裡面:
echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local
echo "/usr/local/mailgraph_ext/qmonitor-init start" >> /etc/rc.d/rc.local

使用方法
等待大約15分鐘左右,如果郵件系統有一定的流量,即可登陸到extman里,點「圖形日誌」即可看到圖形化的日誌。具體每天,周,月,年的則點擊相應的圖片進入即可。
配置Cyrus-SASL 認證
RHEL5/CentOS5的cyrus-sasl默認沒有打開authdaemon的支持,為了使用集中認證的authlib,必須打開這個支持。為此我們必須刪除系統的cyrus-sasl軟體包,替換成打開了authdaemon支持的sasl軟體包。首先要刪除系統老的cyrus-sasl:

rpm -e --nodeps `rpm -qa |grep sasl`
然後到/root/extmail/i386下安裝新的支持authdaemon的軟體包

rpm -ivh  /root/extmail/i386/cyrus-sasl-*.rpm
Postfix的SMTP認證需要透過Cyrus-SASL,連接到authdaemon獲取認證信息,編輯/etc/postfix/main.cf,增加如下內容:

# smtpd related config
smtpd_recipient_restrictions =
    permit_mynetworks,
        permit_sasl_authenticated,
        reject_non_fqdn_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unauth_destination,
        reject_unauth_pipelining,
        reject_invalid_hostname,

# SMTP AUTH config here
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous

其次用vi編輯/usr/lib/sasl2/smtpd.conf,確保其內容為:(/usr/lib/sasl2/smtpd.conf文件時在安裝postfix的時候自動創建的,如果找不到該文件,請驗證postfix安裝的正確性)

pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket

存檔退出后,重新啟動postfix:

service postfix restart


測試SMTP認證
通過以下命令獲得[email protected]的用戶名及密碼的BASE64編碼:

perl -e 'use MIME::Base64; print encode_base64("postmaster\@extmail.org")'
cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
perl -e 'use MIME::Base64; print encode_base64("extmail")'
ZXh0bWFpbA==

然後本機測試,其過程如下(藍色的文字是我們輸入/發送到Postfix的)

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.extmail.org ESMTP Postfix - by extmail.org
ehlo demo.domain.tld
250-mail.extmail.org
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
334 UGFzc3dvcmQ6
ZXh0bWFpbA==
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye

最後出現235 Authentication Successful 表明認證成功了。

安裝Courier-IMAP
用以下命令安裝courier-imap的rpm包,默認的courier-authlib及courier-imap都會增加系統自啟動設置,因此下一次伺服器啟動將自動啟動相應的authlib及POP3服務

rpm -ivh  /root/extmail/i386/courier-imap-4.4.1-1.5Server.i386.rpm


然後重新啟動courier-imap:

/etc/init.d/courier-imap start


測試POP3
請按如下步驟輸入pop3命令測試其是否正常工作,注意藍色的信息是我們輸入到POP3伺服器的(請首先登錄extman自行建立[email protected]用戶,密碼:extmail)

telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user [email protected]
+OK Password required.
pass extmail
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
.
quit
+OK Bye-bye.
Connection closed by foreign host.
安裝完上列組件之後,ExtMail 已經可以正常工作了
1. 配置 phpmyadmin

2. 添加如下內容到 /etc/httpd/conf/httpd.conf

Alias /mysql/ "/usr/share/phpmyadmin/"

<Directory "/usr/share/phpmyadmin/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
3. set password for root accounts on mysql DB system
   if the root password is null, run the command: mysqladmin -u root  password yournewpassword
   if the root password was set, run the command: mysqladmin -u root -p yourrootpassword yournewpassword

4, 連接時如遇到該提示:「配置文件現在需要絕密的短語密碼(blowfish_secret)」
vi /usr/share/phpmyadmin/config.inc.php

$cfg['blowfish_secret'] = 'sakia';(其中的"sakia"自定義)==> 在第17行的等號后的引號中添加任意字元即ok
?>
修改以後,以後登入phpmyadmin就方便多了,但一定不要使用空密碼,切記!
《解決方案》

支持一下
《解決方案》

轉帖的吧
也沒看見註明一下
《解決方案》

呵呵,目前ExtMail的Solution文章是OS4的,不過已經提供OS5的rpm了;
站點是http://www.extmail.org/yum
LZ的是在AS5上安裝的,版本還是升級了,其中extmail和extman的安裝,已經不用那麼多配置了;
具體配置看http://wiki.extmail.org

[火星人 ] RHEL5U3上安裝postfix+extmail+mysql+maildrop+imap已經有1668次圍觀

http://coctec.com/docs/service/show-post-20852.html