CentOS4.4下郵件伺服器架設筆記之基本功能實現 1.doc
1。安裝centos4.4,安裝時只選擇一個"開發工具"的包,其它都不勾選,安裝完畢;
2。配置yum更新庫:
# vi /etc/yum.repos.d/dag.repo
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
http://mirror.be10.com/centos/$releasever/os/$basearch/
http://centos.hostlink.com.hk/$releasever/os/$basearch/
http://ftp.hostrino.com/pub/centos/
gpgcheck=1
enabled=1
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
還有一個導入:(此處暫不導入)
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4
3。解決putty連接顯示亂碼:
vi /etc/sysconfig/i18n將裡面內容替換成下面;
LANG="en_US:en"
SUPPORTED="en_US:en:en_US:zh:en_US.en:en_US:en"
SYSFONT="latarcyrheb-sun16"
4。關閉cups(列印服務),
# /etc/rc.d/init.d/cups stop
Stopping cups: [ OK ]
# chkconfig cups off
#
5。解決時間同步問題:
# yum install ntp
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
ntp i386 4.2.0.a.20040617-6.el4 base 1.2 M
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.2 M
Is this ok : y
安裝完畢后,就可以有ntpdatae命令了,可以使用ntpdate 命令進行同步了!否則沒有ntpdate命令。
# vi /etc/crontab
將下面:
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
修改為:
#01 * * * * root run-parts /etc/cron.hourly
#02 4 * * * root run-parts /etc/cron.daily
#22 4 * * 0 root run-parts /etc/cron.weekly
#42 4 1 * * root run-parts /etc/cron.monthly
並添加命令行:意思是每隔三分鐘與時鐘伺服器210.72.145.44同步一次時間
*/3 * * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
改完后重啟一下服務:
# service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
#
《解決方案》
6.安裝postfix,dovecot,apache,其中藍色字體,是相依賴的包,綠色為安裝的順序;
查看域名MX記錄
# host -t mx centos.eb.cn
centos.eb.cn mail is handled by 10 mail.centos.eb.cn.
yum install postfix
yum install dovecot
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
dovecot i386 0.99.11-8.EL4 base 614 k
Installing for dependencies:
mysql i386 4.1.20-2.RHEL4.1 base 2.9 M
perl-DBI i386 1.58-2.el4.rf dag 819 k
perl-Net-Daemon noarch 0.43-1.el4.rf dag 44 k
perl-PlRPC noarch 0.2020-1.el4.rf dag 33 k
postgresql-libs i386 7.4.17-1.RHEL4.1 update 147 k
Transaction Summary
=============================================================================
Install 6 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 4.5 M
Is this ok : y
Downloading Packages:
(1/6): postgresql-libs-7. 16% |==== | 24 kB 00:39 ETA
Installing: perl-Net-Daemon #########################
Installing: perl-PlRPC #########################
Installing: perl-DBI #########################
Installing: mysql #########################
Installing: postgresql-libs #########################
Installing: dovecot #########################
yum install httpd
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
httpd i386 2.0.52-32.3.ent.centos4 update 888 k
Installing for dependencies:
apr i386 0.9.4-24.5.c4.2 base 88 k
apr-util i386 0.9.4-21 base 51 k
httpd-suexec i386 2.0.52-32.3.ent.centos4 update 29 k
Updating for dependencies:
initscripts i386 7.93.29.EL-1.centos4 base 1.1 M
Transaction Summary
=============================================================================
Install 4 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 2.2 M
Downloading Packages:
(1/5): initscripts-7.93.2 9% |== | 112 kB 03:09 ETA
Running Transaction
Installing: apr #########################
Installing: apr-util #########################
Updating : initscripts #########################
Installing: httpd #########################
Installing: httpd-suexec #########################
Cleanup : initscripts #########################
《解決方案》
7。POSTFIX的配置方法:
# cd /etc/postfix
# cp main.cf main.cf.bak
# vi main.cf修改如下面所示:粉色字為待修改,綠色為修改後)
#myhostname = host.domain.tld
myhostname = mail.centos.eb.cn
#mydomain = domain.tld
mydomain = centos.eb.cn
#myorigin = $mydomain
myorigin = $mydomain
inet_interfaces = localhost
#inet_interfaces = localhost
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#relay_domains = $mydestination
relay_domains = $mydestination
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
mynetworks = 10.0.0.0/8, 127.0.0.0/8
#home_mailbox = Maildir/
home_mailbox = Maildir/
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP mailserver maintanace by ---Weihu.Yan---
(此段追加在文件結尾)
#append smtp auth config
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
message_size_limit = 20971520 (表附件大小為20M,20*1024*1024)
配置SMTP認證:
# vi /usr/lib/sasl2/smtpd.conf修改如下:
pwcheck_method: saslauthd
#pwcheck_method: saslauthd
pwcheck_method: auxprop (表示不使用系統用戶認證)
# vi /etc/sysconfig/saslauthd
MECH=shadow 找到這一行,在前面加#
#MECH=shadow
FLAGS= 找到此行,在等號後面添加「sasldb」
FLAGS=sasldb 定義認證方式為sasldb2
建立用戶郵箱模板:
# mkdir /etc/skel/Maildir
# chmod 700 /etc/skel/Maildir
若已有用戶,剛為已存在用戶建立郵箱的方法如下:
# mkdir /home/leeki.yan/Maildir 為用戶(這裡以leeki.yan用戶為例)建立郵箱目錄
# chmod 700 /home/leeki.yan/Maildir 設置該用戶郵箱目錄屬性為700
# chown leeki.yan. /home/leeki.yan/Maildir 設置該用戶郵箱目錄為該用戶所有
為用戶設置SMTP密碼:(以root賬戶為例)
# saslpasswd2 -u mail.centos.eb.cn -c root
Password:
Again (for verification):
#
改變SASL的歸屬
# chgrp postfix /etc/sasldb2
# chmod 640 /etc/sasldb2
關閉sendmail,及設置不自動啟動,並修改默認的MTA
# /etc/rc.d/init.d/sendmail stop
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
# chkconfig sendmail off
# chkconfig --list sendmail
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number: 2
#
啟動SMTP認證及Postfix服務,並設置相應服務為自啟動
# chkconfig saslauthd on
# chkconfig --list saslauthd
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig postfix on
# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# /etc/rc.d/init.d/saslauthd start
Starting saslauthd: [ OK ]
# /etc/rc.d/init.d/postfix start
Starting postfix: [ OK ]
#
查看smtp埠是否為打開
# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:809 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
#
《解決方案》
8。配置dovecot
# vi /etc/dovecot.conf(修改如下面所示:粉色字為待修改,綠色為修改後)
#protocols = imap imaps
protocols = imap imaps pop3 pop3s
#default_mail_env =
default_mail_env = maildir:~/Maildir (定義郵箱的目錄)
# vi /etc/sysconfig/iptables
添加以下部分:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT 為pop3
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT 為imap
# /etc/rc.d/init.d/iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
#
# chkconfig dovecot on
# chkconfig --list dovecot
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]
#
至此可以測試收發,郵箱伺服器的基本功能已實現!
# useradd leeki.yan -s /sbin/nologin
# passwd leeki.yan
Changing password for user leeki.yan.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
添加用戶測試看看吧!
《解決方案》
不錯,有沒有後面的完善了?