說實話,Postfix郵件服務器的搭建是一件很麻煩的事情,需要各種軟件之間的配置和調試。在寫這篇文章之前,我也是搭建測試了不下於10次纔算把整個流程給走通,今天剛好有時間把整個搭建過程記錄下來。
在正式安裝postfix之前,我們先來介紹在搭建之前所需要做的準備工作。
一、域名解析
因爲郵件服務器牽涉到域名的問題比較多,所以在此我們先來介紹有關域名解析的相關配置。
我們需要在域名解析控制檯添加MX、TXT和相關的A記錄,在平時的域名解析過程中,使用最多的是DNSPod以及萬網,下面分別一一介紹下。
DNSPod配置,如下:
如果對於DNSPod的MX和TXT配置記錄,不清楚的話,可以查看如下連接:
MX記錄配置https://support.dnspod.cn/Kb/showarticle/tsid/33
TXT記錄配置https://support.dnspod.cn/Kb/showarticle/tsid/34
萬網配置,如下:
注意:我們現在是主域名ilanni.com解析到A服務器,mail解析到B服務器上,所以我們現在不能按照dnspod和萬網的教程進行配置。
測試MX和TXT記錄是否解析正確,如下:
二、lamp環境安裝
爲了更好的使用postfix,我們還需要安裝php、mysql、apache等相關軟件,我們現在進行安裝。
在Centos6上執行以下命令:
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum -y install mysql-server mysql mysql-devel php56w php56w-fpm php56w-mysql php56w-common php56w-gd php56w-mbstring php56w-mcrypt php56w-devel php56w-xml php56w-imap php56w-pear php56w-snmp
在Centos7上執行以下命令:
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm && rpm -Uvhhttp://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install --enablerepo=remi --enablerepo=remi-php56 mysql-server mysql mysql-devel php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
以上安裝完畢後,我們還要做其他的操作。
啓動mysql數據庫,修改mysql的root用戶密碼。如下:
/etc/init.d/mysqld start
/usr/bin/mysqladmin -u root password '123456'
創建postfix數據庫和postfix用戶,如下:
mysql -uroot -p'123456' -e "create database postfix default character set utf8 collate utf8_bin;" && mysql -uroot -p'123456' -e "grant all on postfix.* to 'postfix'@'%' identified by 'postfix';"
刪除用戶名爲空的主機,如下:
mysql -uroot -p'123456' mysql -e "delete from user where user='';"
刷新mysql權限,如下:
mysql -uroot -p'123456' -e "flush privileges;"
測試postfix用戶是否可以鏈接mysql,如下:
mysql -upostfix -ppostfix
設置mysql、apache開機啓動,如下:
chkconfig mysqld on
chkconfig httpd on
三、主機名修改
lamp配置完畢後,我們現在開始修改主機名如下:
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=mai.ilanni.com
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=121.196.247.247
以上修改需要我們重啓服務器才能生效,爲了更快的顯示最新的主機名。我們可以通過如下命令進行修改,如下:
hostname mai.ilanni.com
查看修改後的主機名,如下:
hostname
四、創建郵件專用用戶
爲了後續的管理方便,我們使用系統的一個用戶映射爲對郵件服務器的用戶,該用戶對於postfix來說是一個虛擬用戶。
所在在此之前,我們需要添加一個不能登錄到系統的,並且指定用戶組和用戶ID的特殊用戶vmail,該用戶也可以自行定義。
使用如下命令進行創建,如下:
groupadd -g 5000 vmail
useradd -g vmail -u 5000 -s /sbin/nologin vmail
到此爲止postfix的準備工作已經做完畢了。