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 官方網站
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
