CentOS 6.3 Mail Server 設定筆記

CentOS 6.3 版本 :   2.6.32-279.el6.x86_64

使用最小安裝完成後來設定 E-mail 相關服務


1.Postfix 設定

利用 yum 安裝 postifx

版本 :   postfix              x86_64       2:2.6.6-2.2.el6_1  

設定檔位置 /etc/postfix/main.cf

  inet_interfaces = all    這一行#號拿掉

將  inet_interfaces = localhost 這行前面加上 #號註解

設定 domain name 

mydomain =  pmail.idv.tw

設定 hostname

myhostname = mail.pmail.idv.tw

設定完成重新啟動postfix 服務 –> 指令 service postfix restart

測試

利用telnet 指令測試

telnet x.x.x.x 25 (如下圖)

mail-1

設定postfix SMTP 驗證

安裝 cyrus-sasl-md5  cyrus-sasl-plain  cyrus-sasl 套件

利用 yum install  cyrus-sasl-md5  cyrus-sasl-plain  cyrus-sasl

修改 /etc/postfix/main.cf 加入下面設定

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination

設定啟動 saslauthd 服務,並設定開機自動啟動

  • chkconfig saslauthd on
  • service saslauthd restart

利用telnet 測式smtp認證功能是否生效(要有出現 LOGIN PLAIN才算)

mail-2

2. dovecot 設定 (POP3)

利用 yum 安裝

版本 :   dovecot-2.0.9-2.el6_1.1.x86_64

設定檔 /etc/dovecot/dovecot.conf

protocols = pop3

disable_plaintext_auth = no

取消ssl

vi /etc/dovecot/conf.d/10-ssl.conf

ssl = no

PS:

之前有網路上朋友問 下列錯誤訊息,當時我並沒有注意

這次重新在安裝時發現重新啟動dovecot 會有此訊息 但是還是可以正常運作

dovecot: master: Warning: Killed with signal 15 (by pid=4655 uid=0 code=kill)
dovecot: master: Dovecot v2.0.9 starting up (core dumps disabled)

3. openwebmail 安裝

需要套件

perl-suidperl perl-Compress-Zlib perl-Text-Iconv 裡用yum 安裝即可

安裝openwebmail.repo

切換到  yum.repos.d 目錄

cd /etc/yum.repos.d

裡用wget 將openwebmail.repo 抓下來放到該路徑

wget -q http://openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail.repo
利用yum 安裝openwebmail

[root@localhost yum.repos.d]# yum install openwebmail
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: ftp.cs.pu.edu.tw
* extras: ftp.cs.pu.edu.tw
* updates: ftp.cs.pu.edu.tw
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package openwebmail.i386 0:2.53-3 will be installed
–> Processing Dependency: openwebmail-data = 2.53-3 for package: openwebmail-2.53-3.i386
–> Running transaction check
—> Package openwebmail-data.i386 0:2.53-3 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
Package                                                         Arch                                                Version                                                Repository                                                  Size
=============================================================================================================================================================================================================================================
Installing:
openwebmail                                                     i386                                                2.53-3                                                 openwebmail                                                2.4 M
Installing for dependencies:
openwebmail-data                                                i386                                                2.53-3                                                 openwebmail                                                7.3 M

Transaction Summary
=============================================================================================================================================================================================================================================
Install       2 Package(s)

Total download size: 9.8 M
Installed size: 23 M

設定 openwebmail

修改  /var/www/cgi-bin/openwebmail/etc/dbm.conf

dbm_ext  .pag
dbmopen_ext  none
dbmopen_haslock  no

修改 /var/www/cgi-bin/openwebmail/etc/openwebmail.conf

domainnames  pmail.idv.tw ( 修改為自己的domain name)

default_iconset  Cool3D.Chinese.Traditional (讓openwebmail 介面ICOM 變成中文的)

修改 /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf

smtpserver 192.168.1.5 (修該為子己的smtp IP位址)

初始化openwebmail

下達只令 /var/www/cgi-bin/openwebmail/openwebmail-tool.pl –init

最後會問你要不要傳 report

Send the site report?(Y/n) y 選y即可

啟動 Apache server –>  service httpd start

openwebmail 連線位址  http://yourdomain or  ip /cgi-bin/openwebmail/openwebmail.pl

簡化登openwebmail 登入網址的長度

在openwebmail 2.53 若是以rpm安裝方式就不須手動在 /etc/httpd/conf/httpd.conf 加入

ScriptAlias /webmail /var/www/cgi-bin/openwebmail/openwebmail.pl

因rpm安裝時就會自動再 /etc/httpd/conf.d 目錄下面產生 openwebmail.conf 裡面就已包含簡化的設定

重新啟動Apache 服務 service httpd restart

設定 Aapche 開機自動啟動 chkconfig httpd on

連線位址就變成  http://yourdomain or  ip /webmail

PS:

1. 之前dbm.cof  設定如下

dbm_ext  .db
dbmopen_ext  .db
dbmopen_haslock  yes

此次我在CentOS 6 設定時他出現訊息要我換成

dbm_ext  .pag
dbmopen_ext   none
dbmopen_haslock   no

這樣他才讓我順利初始化openwebmail

4.安裝 MailScanner  & clamav

MailScanner 官方網站

http://www.mailscanner.info/

Clamav 官方網站

http://www.clamav.net/lang/en/

安裝MailScanner

目前安裝的版本為 :  MailScanner-4.84.5-3

解壓縮  tar zxvf  MailScanner-4.84.3-1.rpm.tar.gz

切換到  MailScanner-4.84.5-3 目錄

  ./install.sh ( 開始安裝MailScanner ,需要一點時間)

安裝好 MailScanner 後 使用 sendmail 就不需特別設定

設定開機自動啟動MailScanner  —>  指令 chkconfig MailScanner on ( 記得要把 postfix 設定開機不啟動)

MailScanner和postfix搭配使用時所需的設定:

修改 /etc/postfix/main.cf 裡面 這一行—-> header_checks = regexp:/etc/postfix/header_checks 將#註解拿掉

修改 /etc/postfix/ header_checks 加上這一行 ——–> /^Received:/ HOLD (這是為了讓Postfix收進來的mail 先儲存在某一個Directory裡面,等待MailScanner 來進行Scan )

修改 /etc/MailScanner/MailScanner.conf 如下:

Run As User = postfix—–>設定執行postfix 的使用者名稱

Run As Group = postdrop—–>設定執行postfix 的群組名稱

Incoming Queue Dir = /var/spool/postfix/hold—->內送郵件的佇列目錄,設定為postfix目前的佇列目錄下的hold目錄

Outgoing Queue Dir = /var/spool/postfix/incoming—>外送郵件的佇列目錄,設定為postfix目前的佇列目錄下的incoming目錄

MTA = postfix—->設定mailscanner 和 postfix 搭配使用

ps:可利用下面這一串指令查詢

postconf|grep -E ‘mail_owner|setgid_group|queue_directory’ —> 執行這一段指令

mail_owner = postfix —>這是執行postfix 的使用者名稱

queue_directory = /var/spool/postfix —>這是postfix的佇列目錄

setgid_group = postdrop —>這是執行postfix 的群組名稱

修改權限:

chown postfix.postdrop /var/spool/MailScanner/incoming
chown postfix.postdrop /var/spool/MailScanner/quarantine

以下為CentOS 6.x 才需要修改

(如果不修改經小弟測試,雖然可以正常啟動mailscanner但是無法做掃描郵件的動作)

修改 /usr/sbin/MailScanner 第一行最後加上 -U (如下)

#!/usr/bin/perl -I/usr/lib/MailScanner -U

安裝掃毒軟體 clamav

1. 下載 rpmforge-release

http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/

2.安裝 rpmforge-release

rpm -Uvh rpmforge-release-0.5.2-1.el6.rf.i686.rpm

利用 yum install clamd 安裝即可

更新病毒碼指令 —> freshclam

設定MailScanner 使用的掃描軟體 修改 /etc/MailScanner/MailScanner.conf

Virus Scanners = auto  改為 Virus Scanner = clamav

再重新啟動MailScanner 即可

下載EICAR病毒測試 ,若附件有病毒就會移除並且收到訊息(如下圖)

 

5.安裝Mailwatch 管理程式

官方網站:http://mailwatch.sourceforge.net/

版本: mailwatch-1.2.0-beta-4.tar.gz

所需套件 : mysql php

利用 yum -y install php mysql mysql-server php-mysql php-gd php-mbstring 指令安裝相關套件

設定 mysql root 密碼 :  mysqladmin -u root password ‘密碼’

設定 mysql 服務開機自動啟動 chkconfig mysqld on

啟動 mysqld 服務 : service mysqld start

步驟 : (這是參考官方網站及我自己想出來的安裝方式僅供參考)

1. 建立一個 user 帳號 mailwatch 及設定密碼

2. 至官方網站下載mailwatch-1.0.4.tar.gz

3.  解壓縮

   tar zxvf mailwatch-1.2.0-beta-4.tar.gz

   cd mailwatch-1.2.0-beta-4

4.建立mailwatch 資料庫

mysql -u root -p < create.sql

5.  設使用者mailwatch擁有這個資料庫的權限,指令如下

     mysql -u root -p ( 會進入mysql 命令列模式)

    mysql>grant all on mailscanner.* to mailwatch@localhost identified by ‘密碼"; ( 此密碼是該mailwatch密碼最後有分號)

    mysql> exit

6. 修改MailWatch.pm中$db_user 為mailwatch,$db_passwd為mailwatch 帳號的密碼

   MailWatch.pm檔案位於之前解壓出來的目錄

    mailwatch-1.2.0-beta-4/MailScanner_perl_scripts

    將該檔案移動至 /usr/lib/MailScanner/MailScanner/CustomFunctions

指令 :

mv  MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions

7.  新增網頁登入的名稱,資料庫登入使用(6)的名稱及密碼,但下面則新增別的user-password,為登入驗證,

     你可以新增多個,使用下面 insert into的sql指令

mysql mailscanner -u mailwatch -p ( mailscanner 就是mailwatch資料庫名稱,mailwatch 就是前面步驟可以管理此資料庫的帳號)

Enter password: ******           

mysql>

INSERT INTO users VALUES ('<username>',md5('<password>'),'<name>','A','0','0','0','0','0');

mysql> exit

說明 : 如要讓登入 mailwatch  網頁介面 的帳號密碼都是admin / admin 就設定入下

INSERT INTO users VALUES ('admin',md5('admin'),'Roy','A','0','0','0','0','0');

8. 將MailWatch的mailscanner移至網頁伺服器的目錄(/var/www/html)

   cd / mailwatch-1.2.0-beta-4

   mv mailscanner /var/www/html

9.  檢查權限/var/www/html/mailscanner/images

     cd /var/www/html/mailscanner

     chown root.apache images

     chmod ug+rwx images

10. 建立conf.php

     cd  /var/www/html/mailscanner

     cp conf.php.example conf.php

    修改 下面的密碼,不然會無法網頁登入(就是mysql root 密碼)

    vi config.php

    define(DB_PASS, ‘密碼’);

11. 修改 MailScanner  設定

    cd /etc/MailScanner

     vi  MailScanner.conf

     #下面的參數

    Always Looked UP Last = &MailWatchLogging

    Detailed Spam Report = yes

    Quarantine Whole Message = yes

    Quarantine Whole Message As Queue files =no

    Include Scores In SpamAssassin Report = yes

    Quarantine User= root

    Quarantine Group=apache

    Quarantine Permissions=0660

12. 修改spam.assassin.prefs.conf (如果你有安裝spamassassin)

       vi /etc/MailScanner/ spam.assassin.prefs.conf
#加入兩行

      bayes_path /etc/MailScanner/bayes/bayes

      bayes_file_mode 0660

      #建立新的目錄bayes及權限設定

      mkdir /etc/MailScanner/bayes

      chown root:apache /etc/MailScanner/bayes

      chmod g+rws /etc/MailScanner/bayes

     #如果已經存在bayes資料庫,複製過來

     cp /root/.spamassassin/bayes_* /etc/MailScanner/bayes

     chown root:apache /etc/MailScanner/bayes/bayes_*

     chmod g+rw /etc/MailScanner/bayes/bayes_*

    #測試spamassassin

    spamassassin -D -p /etc/MailScanner/spam.assassin.prefs.conf –lint

   #你將會看到一些訊息

    重新啟動MailScanner

    service MailScanner restart

    除錯tail -f /var/log/maillog , 查看是否正常

    開啟你的瀏覽器http://<hostname>/mailscanner

mail-3



本篇瀏覽人數: 18787
本篇發表於 Cent OS篇。將永久鏈結加入書籤。

CentOS 6.3 Mail Server 設定筆記 有 20 則回應

  1. guest 說道:

    很棒的架站心得
    看了你的文章成功架好mail server
    想請問你如果openwebmail
    已經精簡網址成 http://www.xxx.com.tw/webmail
    有辦法自訂網址將openwebmail的網址改成
    mail.xxx.com.tw 這樣子?

  2. guest 說道:

    你好~
    請問這個方法能讓網站首頁www.xxx.com.tw
    與openwebmail首頁mail.xxx.com.tw
    並存嗎?
    這兩個網址都是指向同一個IP
    因為如果照此篇文章做的話似乎會址顯示openwebmail的首頁
    原本的網站首頁就被取代了

  3. 肥兔 說道:

    大大感謝您整理好文件並分享這些資料,目前依文件Centos6.x安裝mail server發現到一個問題,我的伺服器需要驗證,不管我有沒有V,都可寄出信件,這跟Centos5.X版安裝後是不一樣(IS OK),我需要貼出哪些資料才知道我哪裡改錯了?

  4. 榮哥 說道:

    您好

    可能檢查一下postfix 設定檔中的 permit_mynetworks 設定值

    若您PC(內部) 端拿到的IP 有包含在此網段 , 那有沒有勾選伺服器驗證應該都可以成功寄信, 這是我可以想到的 您是看看囉

  5. don 說道:

    當我行這句: ./openwebmail-tool.pl –init

    便出現以下的ERROR.
    Can’t call method "msgstr" on an undefined value at shares/ow-shared.pl line 2779.
    Compilation failed in require at ./openwebmail-tool.pl line 92.

    請問版主,怎樣solve呢?

  6. yjvoo 說道:

    可以請教一下
    CentOS 6.x + postfix +dovecot + sasl + openwebmail + virtual domains 的做法嗎?

  7. 明仔 說道:

    想請教 sendmail + dovecot + openwebmail 配搭 clamav + mailscanner + spamassasin 的安裝和設的方法如何?

    謝謝

    • 榮哥 說道:

      您好
      sendmail 設定可以參考鳥哥網站
      dovecot + openwebmail 基本上是一樣的設定
      mailscanner 如果是搭配sendamil 只用default 設定就可以

  8. 冷日 說道:

    非常清晰且有效的資訊!
    借轉於此:
    http://www.coolsun.idv.tw/modules/xhnewbb/viewtopic.php?topic_id=1179&post_id=13607&viewmode=flat&order=ASC#forumpost13607
    特來跟您回報聲,若有不便請告知,馬上下架,謝謝!

  9. Jhonas 說道:

    榮哥您好

    小弟初接觸CentOS Postfix,若要完整的成功架設完成Mail Server
    到Outlook可以正常收信與發信,小弟該怎麼做功課呢?

    個人在此之前,一直都有在看鳥哥or其他‧等,只是,實際設定上就
    遇到了如:110通 25不通、25通 110不通‧等,這類的問題。

    所以,還請教榮哥能給予小弟指導,謝榭!

  10. snack.shih 說道:

    榮哥您好,想請問目前我用roundcube架設webmail,中間加了managesieve的外掛,也參考了http://dywang.csie.cyut.edu.tw/dywang/linuxserver/node86.html這個網頁的設定,但篩選器似乎還是沒作用,不曉得還有什麼地方是我需要去注意的…。

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>