Postfix郵件服務器搭建之軟件安裝與配置

想要獲得更多的文章,可以關注我的微信ilanniweb

Postfix郵件服務器的搭建需要使用到幾個軟件,分別是cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,只有這幾個軟件相互配合才能搭建一套完整的郵件服務器。

PS:本次實驗在centos6.5 64bit上進行。

一、軟件功能介紹

cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,這五款軟件,分別有各自的功能。下面就分別一一介紹各自的功能。

1.1 cyrus-sasl功能介紹

cyrus-sasl(Simple Authentication Security Layer)簡單認證安全層, SASL主要是用於SMTP認證。而cyrus-sasl在OS裏面,saslauthd是其守護進程。

1.2 postfix功能介紹

postfix是一個電子郵件服務器,它爲了改良sendmail郵件服務器而產生的,並且它的配置文件比sendmail簡單得多,配置相當容易。

postfix作爲發送郵件服務器。

1.3 dovecot功能介紹

dovecot是一個開源的IMAP和POP3郵件服務器,支持Linux/Unix系統。

POP/IMAP是MUA從郵件服務器中讀取郵件時使用的協議。其中,與POP3是從郵件服務器中下載郵件存起來,IMAP則是將郵件留在服務器端直接對郵件進行管理、操作。

dovecot可以被其他具有相同功能的軟件替代,比如:cyrus-imapd。

dovecot作爲接收郵件服務器。

1.4 postfixadmin功能介紹

postfixadmin是一個基於web的postfix郵件發送服務器的管理工具,可以直接管理postfix的虛擬域名和郵件用戶,前提是這些數據是存儲在mysql或者是PostgreSQL數據庫中。

postfix的郵件用戶和虛擬域名的管理都是通過postfixadmin來進行的。

1.5 roundcubemail功能介紹

roundcubemail是一個基於瀏覽器,支持多國語言的IMAP客戶端,它的操作界面看起像一個桌面應用程序。它提供一個email客戶端應該具備的所有功能,包括MIME支持,地址薄,文件夾操作,信息搜索和拼寫檢查等。

roundcubemail採用PHP+Ajax開發並且需要MySQL數據庫來存儲數據。 用戶界面採用XHTML+CSS2設計。

roundcubemail可以被其他具有相同功能的軟件替代,比如:openwebmail、squireelmail。

roundcubemail作爲web端的郵件客戶端。

這幾個軟件中除了postfixadmin是通過單獨下載安裝的,其他的幾個軟件都是直接使用yum方式進行安裝。但是yum方式安裝的不是各個軟件的最新版本,所以在下面的介紹中,我們還會介紹到最新版本的軟件。

二、cyrus-sasl安裝與配置

在本章節會介紹cyrus-sasl的安裝和配置,先來介紹cyrus-sasl的安裝。

2.1 cyrus-sasl安裝

cyrus-sasl的安裝很簡單,使用如下命令:

yum -y install cyrus-sasl

clip_image001

查看版本cyrus-sasl,使用如下命令:

/usr/sbin/saslauthd -v

clip_image002

前面我們介紹了saslauthd是認證服務cyrus-sasl的守護進程,所以我們就可以通過saslauthd查看cyrus-sasl的版本。

2.2 cyrus-sasl配置

cyrus-sasl安裝完畢後,我們現在來配置cyrus-sasl。

修改saslauthd文件把MECH的值修改爲shadow,如下:

vim /etc/sysconfig/saslauthd

SOCKETDIR=/var/run/saslauthd

MECH=shadow

FLAGS=

clip_image003

修改smtpd.conf文件,添加如下代碼:

vim /etc/sasl2/smtpd.conf

pwcheck_method: saslauthd

mech_list: plain login

log_level: 3

saslauthd_path:/var/run/saslauthd/mux

clip_image004

2.3 測試cyrus-sasl

cyrus-sasl配置完畢後,我們來測試其是否正常。創建系統用戶ilanni,並修改其密碼,如下:

useradd ilanni &&echo 'ilannimail'| passwd --stdin ilanni

su - ilanni

mkdir -p ~/mail/.imap/INBOX

clip_image005

用戶創建完畢後,要啓動cyrus-sasl,如下:

/etc/init.d/saslauthd start

chkconfig saslauthd on

clip_image006

現在來使用剛剛創建的用戶進行認證測試,如下:

testsaslauthd -u ilanni -p 'ilannimail'

clip_image007

通過上圖,我們可以很明顯的看出cyrus-sasl已經正常啓動,並且我們的配置也是完全正確的。

三、postfix安裝與基本配置

在本章節會介紹postfix的安裝和基本配置,先來介紹postfix的安裝。

3.1 postfix安裝

安裝postfix,使用如下命令:

yum -y install postfix

clip_image008

Centos6.5默認安裝的是postfix2.6.6版本,所以以下的所有配置都是在postfix2.6.6版本上進行的。

如果你想使用稍微新版本的話,可以通過如下的方式進行安裝,如下:

wget -P /etc/yum.repos.d https://repos.fedorapeople.org/repos/mstevens/postfix/epel-postfix.repo

yum -y install postfix

postconf -d | grep mail_version

clip_image009

注意:postconf是檢查posftix配置的命令。

如果想安裝最新版本的postfix的話,我們也可以通過如下連接下載安裝,如下:

wget http://repos.oostergo.net/6/postfix-3.1/postfix-3.1.0-1.el6.x86_64.rpm

rpm -ivh postfix-3.1.0-1.el6.x86_64.rpm

postconf -d | grep mail_version

clip_image010

Posftxi安裝完畢後,我們現在來開始postfix的基本配置。

3.2 postfix基本配置

爲什麼說是postfix的基本配置呢?因爲postfix的配置選項特別多,其他的功能我們在下一篇文章中進行介紹,在此只先介紹基本的發送郵件配置。

postfix的配置文件是main.cf,main.cf文件配置選項很多,下面我們就給出最常使用的配置,紅色部分是要根據自己的實際情況修改的,如下:

vim /etc/postfix/main.cf

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/libexec/postfix

data_directory = /var/lib/postfix

mail_owner = postfix

myhostname = mail.ilanni.com

mydomain = ilanni.com

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost

local_recipient_maps =

unknown_local_recipient_reject_code = 550

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

debug_peer_level = 2

debugger_command =

     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

     ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix

mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop

html_directory = no

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/postfix-2.6.6/samples

readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

3.3 測試postfix配置

postfix配置完畢後,我們需要測試postfix是否可以正常發送郵件。

現在來啓動postfix,使用如下命令:

/etc/init.d/postfix start

chkconfig postfix on

netstat -tunlp

ps -ef |grep postfix

clip_image011

通過上圖,我們可以很明顯的看到postfix已經正常啓動,並且監聽的是tcp的25端口。

postfix啓動後,我們也可以通過postfix的日誌進行查看。postfix的日誌文件爲/var/log/maillog。如下:

tail -f /var/log/maillog

clip_image012

現在我們來測試postfix是否可以發送郵件,如下:

telnet mail.ilanni.com 25

mail from:[email protected]

rcpt to:[email protected]

data

.

quit

clip_image013

注意:上述命令中mail from:[email protected]中的[email protected]是隨便填寫的,而rcpt to:[email protected]中的郵箱則是確實存在的。

現在我們再切換到那個QQ郵箱的收件箱,查看是否收到剛剛發送的郵件,如下:

clip_image014

通過上圖,我們可以很明顯的看出postfix已經可以正常發送郵件了。

四、dovecot安裝與基本配置

在本章節會介紹dovecot的安裝和基本配置,先來介紹dovecot的安裝。

4.1 dovecot安裝

安裝dovecot,使用如下命令:

yum -y install dovecot dovecot-devel dovecot-mysql pam-devel

dovecot --version

clip_image015

Centos6.5安裝的dovecot版本爲2.0.9,如有要安裝最新版的話,我們可以通過如下命令。

wget -P /etc/yum.repos.d/ http://repos.fedorapeople.org/repos/mstevens/dovecot/epel-dovecot.repo

yum -y install dovecot dovecot-devel dovecot-mysql pam-devel

dovecot --version

clip_image016

4.2 dovecot基本配置

dovecot安裝完畢後,我們現在來配置dovecot。dovecot的配置選項也是很多,在此只先介紹基本的功能。

dovecot的配置文件都在/etc/dovecot/目錄下。

vim /etc/dovecot/dovecot.conf

protocols = imap pop3

listen = *

!include conf.d/*.conf

clip_image017

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

disable_plaintext_auth = no

auth_mechanisms = plain login

!include auth-system.conf.ext

clip_image018

禁用ssl認證,如下:

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

ssl = no

clip_image019

啓用dovecot的日誌,如下:

vim /etc/dovecot/conf.d/10-logging.conf

clip_image020

現在我們來啓動dovecot,使用如下命令:

/etc/init.d/dovecot start

chkconfig dovecot on

/etc/init.d/portreserve stop

chkconfig portreserve off

clip_image021

注意:上述命令中的portreserve服務相關的兩行,這個如果啓動的話,你會發現系統重啓後dovecot會無法啓動,這是因爲portreserve佔用了dovecot的端口,所以在此我們禁用portreserve服務。

4.3 測試dovecot

Dovecot啓動完畢後,我們現在來測試dovecot,使用如下命令:

telnet mail.ilanni.com 110

telnet mail.ilanni.com 143

出現+Ok Dovecot ready,則表示dovecot配置正確。

clip_image022

下面我們來測試使用郵件客戶端工具foxmail來連接測試,注意這個用戶就是我們第2.3章節中創建的ilanni用戶,具體過程如下:

clip_image023

clip_image024

注意:在此我們選擇的服務器類型是POP3類型,而不是IMAP類型。如果選擇IMAP類型的話,會提示權限錯誤。

clip_image025

通過上圖,我們可以很明顯的看到系統用戶ilanni,已經正確連接到郵件服務器,這也說明了dovecot配置成功了。

發佈了76 篇原創文章 · 獲贊 51 · 訪問量 71萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章