天天看點

在RHEL5下建構基于虛拟使用者的Postfix郵件系統

<a href="http://blog.51cto.com/attachment/201009/142435502.jpg" target="_blank"></a>

在本郵件系統架構實驗中,伺服器所使用的相關配置環境如下:

郵件伺服器IP位址:177.17.17.1

DNS伺服器IP位址:177.17.17.1

Apache伺服器:177.17.17.1

Mysql資料庫:177.17.17.1

主機名:mail.sjzz.com

郵件賬号:使用虛拟使用者。

POP3/IMAP伺服器軟體:編譯安裝的Dovecot

Webmail平台軟體:Extmail、Extman

APACHE、MYSQL平台:使用編譯安裝的apache、mysql,對應的安裝目錄分别為:/usr/local/apache2、/usr/local/mysql

關于Apache、MYsql、Postfix的安裝配置過程已經在此前寫的博文中出現過,在此不再贅述,相關配置詳見以下三篇博文:

DNS伺服器的配置如下:

<a href="http://blog.51cto.com/attachment/201009/144334297.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201009/144351891.jpg" target="_blank"></a>

接下來開始建構Postfix伺服器:

一.配置Postfix支援虛拟使用者

1.建立虛拟使用者資料庫:

直接導入Extman郵件管理工具套件提供的建立資料庫和初始化資料庫的sql腳本,當然也可以手動建立資料庫:

#service mysqld restart            //重新啟動一下mysql資料庫

#tar zxf extman-0.2.5.tar.gz         

#cd extman-0.2.5/docs

#mysql -u root -p123456 &lt; extmail.sql  //導入extmail.sql腳本,root使用者登入資料庫密碼為123456

#mysql-u root  -p123456 &lt; init.sql   //導入init.sql腳本

extmail.sql腳本完成的主要資料庫操作如下:

*建立名為extmail的資料庫及該庫中的一些表;

*建立資料庫使用者extmail@localhost,初始密碼為extmail,對資料庫extmail中的表有select、update權限;

*建立資料庫使用者webman@localhost,初始密碼為extman,對資料庫extmail中的表有select、insert、delete、update權限。

init.sql腳本完成的主要資料庫操作如下:

*初始化資料庫Extmail;

*建立名為extmail.org的虛拟郵件域;

*建立資料庫使用者[email protected],初始密碼為:extmail*123* ,作為郵件域的管理賬戶;

*建立資料庫使用者[email protected],初始密碼為:extmail,作為基本郵件使用者。

2.配置Postfix:

#vi /etc/postfix/main.cf

添加與修改的配置項如下:(包括postfix運作的基本參數、SMTP認證相關的參數和支援虛拟使用者的配置參數)

<a href="http://blog.51cto.com/attachment/201009/151845269.jpg" target="_blank"></a>

将Extman軟體包提供的虛拟使用者映射表樣例檔案複制到“/etc/postfix”目錄中,這樣一會兒我們就不必手動建立虛拟郵件使用者對應的别名等檔案,使用樣例檔案即可完成此部分功能:(樣例檔案位于源碼包解壓後的/extman-0.2.5/docs目錄下)

#cp mysql_virtual_*  /etc/postfix

3.為虛拟使用者設定SMTP發信認證:

1)編譯安裝courier-authlib軟體包:

#tar jxf courier-authlib-0.60.2.tar.bz2

#cd courier-authlib-0.60.2

#./configure   --prefix=/usr/local/courier-authlib     --without-stdheaderdir    --with-authmysql    --with-redhat     --with-mysql-libs=/usr/local/mysql/lib/mysql     --with-mysql-includes=/usr/local/mysql/include/mysql

#make &amp;&amp; make install

#make install-configure

2)修改courier-authlib相關配置,并啟動服務:

将courier-authlib的庫檔案路徑添加到系統的搜尋路徑中:

#vi /etc/ld.so.conf

/usr/local/courier-authlib/lib/courier-authlib

#ldconfig

修改authdaemonrc主配置檔案,僅保留authmysql認證方式,去掉其他方式:

#cd /usr/local/courier-authlib/etc/authlib

#vi authdaemonrc

authmodulelist=“authmysql”           //需要修改的配置項

authmodulelistorig="authmysql"           //需要修改的配置項

#chmod -R 755 /usr/local/courier-authlib/var/spool/authdaemon

修改authmysqlrc檔案,用于描述如何向mysql資料庫查詢資訊:

#vi authmysqlrc

複制courier-authlib腳本,并啟動courier-authlib服務:

#cp courier-authlib.sysvinit    /etc/init.d/courier-authlib    //courier-authlib.sysvinit檔案位于源碼包解壓後的courier-authlib-0.60.2目錄下

#chmod 755 /etc/rc.d/init.d/courier-authlib

#service courier-authlib start

#chkconfig --level 35  courier-authlib  on

3)修改Cyrus sasl設定:(修改smtpd.conf檔案,此檔案在搭建基于系統使用者的郵件系統時已建立,現在将認證方式更改為authdaemond,即courier-authlib)

#vi /usr/lib/sasl2/smtpd.conf

pwcheck_method: authdaemond

authdaemond_path:  /usr/local/courier-authlib/var/spool/authdaemon/socket

4.Dovecot的配置:

1)dovecot檔案需要修改的配置如下:

<a href="http://blog.51cto.com/attachment/201009/162037891.jpg" target="_blank"></a>

2)建立資料庫查詢配置檔案:

# vi /etc/dovecot-mysql.conf

<a href="http://blog.51cto.com/attachment/201009/162223126.jpg" target="_blank"></a>

3)建立虛拟使用者[email protected]的郵箱目錄,調整權限,并啟動dovecot服務:

#mkdir -p /mailbox/extmial.org/postmaster/Maildir

#chown -R postfix:postfix /mailbox

#killall -9 dovecot        //如果dovecot服務已啟動,先執行此步驟

#dovecot

5.測試虛拟使用者實作結果:

測試authlib服務,如果之前的配置沒有錯誤,将會看到“Authentication succeeded”資訊:

<a href="http://blog.51cto.com/attachment/201009/163425699.jpg" target="_blank"></a>

二.配置ExtMail郵件使用及管理平台

1.部署ExtMail郵件使用界面:

1)按順序先後安裝三個Perl支援軟體包

解包:

<a href="http://blog.51cto.com/attachment/201009/164112374.jpg" target="_blank"></a>

安裝Unix-Syslog包:

# cd Unix-Syslog-1.1

# perl Makefile.PL

#make  &amp;&amp;  make install

安裝DBI包:

# cd ../DBI-1.607

# make  &amp;&amp;  make install

安裝DBD-mysql包:

# cd ../DBD-mysql-4.011

2)安裝并配置ExtMail套件:

解壓并釋放extmail檔案包到apache伺服器的Web文檔根目錄中:

#  tar zxf extmail-1.0.5.tar.gz -C /usr/local/apache2/htdocs

# cd /usr/local/apache2/htdocs

# mv extmail-1.0.5   extmail

設定cgi子目錄的屬主和屬組,以便apache伺服器有權限執行suexec操作:

# cd /extmail

# chown -R postfix:postfix cgi

建立webmail.cf配置檔案:

# cp webmail.cf.default   webmail.cf

# vi webmail.cf              //需要修改的配置項如下圖

<a href="http://blog.51cto.com/attachment/201009/172437892.jpg" target="_blank"></a>

3)修改httpd.conf檔案中的配置(添加一個虛拟主機),并重新啟動httpd服務:

# vi /usr/local/apache2/conf/httpd.conf

<a href="http://blog.51cto.com/attachment/201009/172626531.jpg" target="_blank"></a>

# /usr/local/apache2/bin/apachectl  restart

4)登入并使用ExtMail郵件系統:

通路:http://mail.sjzz.com,使用預設的郵件賬戶“[email protected]”登入 ,密碼為:"extmail"。

<a href="http://blog.51cto.com/attachment/201009/173443546.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201009/173513249.jpg" target="_blank"></a>

2.部署Extman Web管理界面:

1)安裝perl支援軟體包GD、File-Tail及rrdtool繪圖引擎工具:

# tar zxf GD-2.41.tar.gz

# tar zxf File-Tail-0.99.3.tar.gz

安裝GD包:

# cd GD-2.41

# make  &amp;&amp; make install

安裝File-Tail包:

# cd  ../File-Tail-0.99.3

安裝rrdrool繪圖引擎包:

# rpm -ivh rrdtool-1.2.23-3.e15.i386.rpm

# rpm -ivh rrdtool-perl-1.2.23-3.e15.i386.rpm

2)安裝并配置Extman套件:

解壓并釋放Extman檔案到apache伺服器的web文檔根目錄中:

# tar zxf extman-0.2.5.tar.gz  -C /usr/local/apache2/htdocs

# mv extman-0.2.5   extman

調整cgi子目錄的屬主和屬組,以便apache伺服器有權限執行suexec操作:

# chown -R postfix:postfix  /usr/local/apache2/htdocs/extman/cgi

建立系統臨時會話儲存目錄,并将屬主、屬組設定為postfix:postfix:

# mkdir /tmp/extman

# chown -R  postfix:postfix  /tmp/extman

修改webman.cf配置檔案:(需要修改的地方如下,其它可以保持預設配置)

<a href="http://blog.51cto.com/attachment/201009/180324778.jpg" target="_blank"></a>

3)調整httpd.conf檔案中的配置(添加extman相關目錄的别名設定),并重新開機httpd服務:

<a href="http://blog.51cto.com/attachment/201009/181853339.jpg" target="_blank"></a>

 4)登入并管理Extman郵件系統:

通路http://mail.sjzz.com/extman ,使用預設的郵件管理者賬戶[email protected]登入,密碼為extmail*123*

<a href="http://blog.51cto.com/attachment/201009/182216741.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201009/182242538.jpg" target="_blank"></a>

此時,我們就可以對郵件系統進行正常管理操作了。

但是我們這時候看“圖形日志”這個連結時圖檔顯示不出來(如下圖),需要進行下一步的設定:

<a href="http://blog.51cto.com/attachment/201009/183615279.jpg" target="_blank"></a>

為Extman套件中mailgraph_ext插件程式建立連結檔案,并啟動相關程式:

<a href="http://blog.51cto.com/attachment/201009/184748226.jpg" target="_blank"></a>

若需要一開機就能自動啟動mailgraph-init、qmonitor-init服務,可以将相關的啟動指令添加到rc.local檔案中:

# echo "/usr/sbin/mailgraph-init  start"  &gt;&gt; /etc/rc.d/rc.local

# echo "/usr/sbin/qmonitor-init  start"  &gt;&gt; /etc/rc.d/rc.local

再來重新整理一下“圖形日志”頁面,此時可以顯示圖形日志了:

<a href="http://blog.51cto.com/attachment/201009/184913225.jpg" target="_blank"></a>

至此,基于虛拟使用者的郵件系統基本上建構完成了。當然還需要作電子郵件過濾和防病毒的設定,以保障郵件伺服器和使用者計算機的安全。

本文轉自 kk5234 51CTO部落格,原文連結:http://blog.51cto.com/kk5234/395439,如需轉載請自行聯系原作者