用POSTFIX,DOVECOT,OPENWEBMAIL整合在CENTOS上

weixin_33766168發表於2016-05-16

因為業務應用需求不一樣,

希望是發信功能飛快。且有近十個SMTP SERVER。

每次重置系統。

所以WINDOWS AD域不太適合此方案。

以為CENTOS下KERIO CONNECT可以。結果,居然只能試用一個月。

於是,全面轉向GPL的。。。SENDMAIL,QMAIL,POSTFIX考察一番後,上POSTFIX.

由於突出發信功能。MYSQL取消,以減少維護量。。

參考URL(五篇,我只要三篇即OK):

http://blog.pmail.idv.tw/?p=363

(國內菊部地區,可能需要代理訪問,代理,代理我自建SQUID啦啦。。。有機房在美國就有這好處,且不對外作NAT。。。) 

部分設定:

~~~~~~~~~~~~~

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

設定 postfix 可接收外部連線

修改 /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

~~~~~~~~~~

利用 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         reject_rbl_client cbl.abuseat.org         reject_rbl_client bl.spamcop.net         reject_rbl_client sbl-xbl.spamhaus.org

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

指令

  • chkconfig saslauthd on
  • service saslauthd restart

~~~~~~~~~~~~~~~~~~~

利用 yum install dovecot 安裝

此次安裝的版本  dovecot-2.0.9-2.el6_1.1.i686

 設定檔 /etc/dovecot.conf

預設dovecot  服務啟動後會監聽下面的port

tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      2339/dovecot tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      2339/dovecot tcp        0      0 0.0.0.0:56970               0.0.0.0:*                   LISTEN      1169/rpc.statd tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      2339/dovecot tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      2339/dovecot

因為我習慣只開 TCP 110 (小弟認為開愈多port 風險愈高)

修改設定檔

/etc/dovecot/dovecot.conf

設定  (如下圖) protocols = pop3

 

修改

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

設定 ssl = no

修改

/etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no —> 取消明碼傳輸

若沒有修改 會有下圖錯誤訊息(因為預設不行使用明碼)

 

修改

/etc/dovecot/conf.d/10-mail.conf

mail_location = mbox:~/mail:INBOX=/var/mail/%u —> 改成這樣

因為之前版本mailbox 是預設在/var/spool/mail

 

但是這一版我發現他在/var/mail 這裡是一個Link 到 spool/mail

 

設定 dovecot 開機自動啟動

chkconfig dovecot on

~~~~~~~

安裝  OpenWebmail

官方網站 http://www.openwebmail.org

版本是openwebmail 2.53

 

在官網上下載有關於openwebmail的套件如下

openwebmail-2.53-1.i386.rpm openwebmail-2.53-2.i386.rpm
openwebmail-2.53-3.i386.rpm

openwebmail-data-2.53-1.i386.rpm openwebmail-data-2.53-2.i386.rpm
openwebmail-data-2.53-3.i386.rpm

安裝所需套件利用Yum 安裝

yum install perl-suidperl perl-Compress-Zlib perl-Text-Iconv

安裝openwebmail

rpm -ivh –force – -nodeps openwebmail-*

rpm -ivh –force – -nodeps openwebmail-data-*

設定 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

2. 如果在http log 中有出現下列的error 訊息

Can’t locate CGI.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5) at /var/www/cgi-bin/openwebmail/openwebmail.pl line 32.

應該就是少安裝了 perl-CGI 套件

利用指令  yum install perl-CGI  安裝即可

相關文章