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 (如下圖)
設定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才算)
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 官方網站
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
本篇瀏覽人數: 85930
很棒的架站心得
看了你的文章成功架好mail server
想請問你如果openwebmail
已經精簡網址成 http://www.xxx.com.tw/webmail
有辦法自訂網址將openwebmail的網址改成
mail.xxx.com.tw 這樣子?
您好
可以參考 http://blog.pmail.idv.tw/?p=49
你好~
請問這個方法能讓網站首頁www.xxx.com.tw
與openwebmail首頁mail.xxx.com.tw
並存嗎?
這兩個網址都是指向同一個IP
因為如果照此篇文章做的話似乎會址顯示openwebmail的首頁
原本的網站首頁就被取代了
您好
此方法確實原來首頁又會被取代掉
或許可以使用虛擬網站方式解決吧,但是我是沒有試過,可以參考鳥哥網站研究看看囉
謝謝你
聽你的建議使用virtual host的方式
成功完成了多重首頁
您好
恭喜您,如果可以是否分享您設定的方式
好的~
我先整理好
在po上來
大大感謝您整理好文件並分享這些資料,目前依文件Centos6.x安裝mail server發現到一個問題,我的伺服器需要驗證,不管我有沒有V,都可寄出信件,這跟Centos5.X版安裝後是不一樣(IS OK),我需要貼出哪些資料才知道我哪裡改錯了?
您好
可能檢查一下postfix 設定檔中的 permit_mynetworks 設定值
若您PC(內部) 端拿到的IP 有包含在此網段 , 那有沒有勾選伺服器驗證應該都可以成功寄信, 這是我可以想到的 您是看看囉
當我行這句: ./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呢?
您好
可能相關需要的套件沒安裝完整吧
可以至openwebmail 官網查詢一下所需要安裝的套件有哪些
可以請教一下
CentOS 6.x + postfix +dovecot + sasl + openwebmail + virtual domains 的做法嗎?
您好
virtual domains 這個我沒有做過喔~抱歉 部過網路上應該很多資料
想請教 sendmail + dovecot + openwebmail 配搭 clamav + mailscanner + spamassasin 的安裝和設的方法如何?
謝謝
您好
sendmail 設定可以參考鳥哥網站
dovecot + openwebmail 基本上是一樣的設定
mailscanner 如果是搭配sendamil 只用default 設定就可以
非常清晰且有效的資訊!
借轉於此:
http://www.coolsun.idv.tw/modules/xhnewbb/viewtopic.php?topic_id=1179&post_id=13607&viewmode=flat&order=ASC#forumpost13607
特來跟您回報聲,若有不便請告知,馬上下架,謝謝!
榮哥您好
小弟初接觸CentOS Postfix,若要完整的成功架設完成Mail Server
到Outlook可以正常收信與發信,小弟該怎麼做功課呢?
個人在此之前,一直都有在看鳥哥or其他‧等,只是,實際設定上就
遇到了如:110通 25不通、25通 110不通‧等,這類的問題。
所以,還請教榮哥能給予小弟指導,謝榭!
您好
我建議您可以買本書來參考看看
http://www.books.com.tw/products/0010649723
您說的port 25 110 通與不通的問題,有很多原因 例如firewall 或是您的設定檔有問題都有可能發生
榮哥您好,想請問目前我用roundcube架設webmail,中間加了managesieve的外掛,也參考了http://dywang.csie.cyut.edu.tw/dywang/linuxserver/node86.html這個網頁的設定,但篩選器似乎還是沒作用,不曉得還有什麼地方是我需要去注意的…。
您好
我沒有使用過 roundcube ,抱歉無法提供您建議