接上期,通過前4期,我們已經部署完成了 DNS服務、MySQL服務、Apache服務 、PHP服務,環境方面,已經足以支撐我們部署接下來的 Postfix服務、Dovecot服務、Postfixadmin管理端,下面,我們就開始着手部署後面三個關鍵性服務,也是我們本專題的核心。
六、部署 Postfix 服務
1、安裝postfix依賴包
[root@Mail ~]# yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain
2、下載 postfix 安裝包
[root@Mail ~]# wget -c ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/experimental/postfix-3.4-20181105.tar.gz
3、解壓,並進入目錄
[root@Mail ~]# tar -zxvf postfix-3.4-20181105.tar.gz
[root@Mail postfix-3.4-20181105]# cd postfix-3.4-20181105
4、創建postfix服務工作所需的用戶及用戶組
[root@Mail postfix-3.4-20181105]# groupadd -g 2000 postfix
[root@Mail postfix-3.4-20181105]# useradd -g postfix -u 2000 -M -s /sbin/nologin postfix
這裏,我們將用戶UID和用戶組GID均指定爲2000
5、開始編譯
[root@Mail postfix-3.4-20181105]# make -f Makefile.init makefiles \
CCARGS="-DUSE_TLS -DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" \
AUXLIBS_MYSQL="-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto"
[root@Mail postfix-3.4-20181105]# make
注意:在執行此步驟時,可能會如下出現2個報錯
(1)、dict_mysql.c:171:19: 致命錯誤:mysql.h:沒有那個文件或目錄 :如下圖
出現這個報錯的原因爲:我們在生成 Makefile 文件時,指定的MySQL頭文件目錄有誤,可據自己MySQL的basedir來定義頭文件目錄。
(2)、/bin/ld: 找不到 -lmysqlclient :如下圖
出現這個報錯的原因爲:我們在生成Makefile 文件時,指定的MySQL lib庫文件目錄錯誤,也可根據自己的MySQL basedir來定義頭文件目錄。
無報錯後進行下一步:
[root@Mail postfix-3.4-20181105]# make install
此步驟會出現以下內容的交互式會話,提示我們輸入部分目錄,其中大部分保持默認就行。
install_root: [/]
tempdir: [/root/postfix-3.4-20181105]
config_directory: [/etc/postfix]
command_directory: [/usr/sbin]
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no]
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpages: [/usr/local/man]
newaliases_path: [/usr/bin/newaliases]
queue_directory: [/var/spool/postfix]
readme_directory: [no]
sendmail_path: [/usr/sbin/sendmail]
setgid_group: [postdrop]
shlib_directory: [no]
meta_directory: [/etc/postfix]
執行完成此步驟後,postfix服務安裝完成。
6、配置postfix服務
[root@Mail postfix-3.4-20181105]# cd /etc/postfix/
配置文件都放在 /etc/postfix 目錄中,如圖
而我們要修改的配置文件其實就只有 main.cf 文件和 master.cf 文件
[root@Mail postfix]# vim main.cf
如圖,main.cf 文件主要定義一些 postfix 服務常用的工作目錄、網絡接口、域名等,目錄部分大部分不用修改,保持默認就行,但是自己又特殊需要的話,可修改爲自定義目錄。
不過,需要在該配置文件中加入下面三行,來定義虛擬郵件目錄、UID號個GID號
virtual_mailbox_base = /wdata/vmail
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
此外,爲了連接MySQL數據庫,還需加入以下三行,此三行中的 mysql-virtual-*.cf 文件需要自行創建來定義 MySQL 數據庫的連接信息,寫法格式可參照 README_FILES/MYSQL_README 文件、proto/MYSQL_README.html 文件和 proto/mysql_table 文件
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual-alias-maps.cf
如圖,爲mysql-virtual-*.cf文件
[root@Mail postfix]# vim master.cf
如圖,master.cf 文件主要定義了一些常用的協議,這個一般不用修改,保持默認,在這裏,我們取消 submission 和 smtps 前面的註釋。
7、啓動 postfix 服務
[root@Mail postfix]# /usr/sbin/postfix start
如圖,表示啓動成功
到此爲止,postfix 服務部署完成,下期我們開始部署 Dovecot 服務。
未完待續。。。。。。