說實話,postfix郵件伺服器的搭建是一件很麻煩的事情,需要各種軟體之間的配置和調試。在寫這篇文章之前,我也是搭建測試了不下于10次才算把整個流程給走通,今天剛好有時間把整個搭建過程記錄下來。
在正式安裝postfix之前,我們先來介紹在搭建之前所需要做的準備工作。
因為郵件伺服器牽涉到域名的問題比較多,是以在此我們先來介紹有關域名解析的相關配置。
我們需要在域名解析控制台添加mx、txt和相關的a記錄,在平時的域名解析過程中,使用最多的是dnspod以及萬網,下面分别一一介紹下。
dnspod配置,如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIWb1hGdfFDMwU2Zh1WafBXas9CXzAzLcZTMwIzLcNHZh9GbwV3LcRnblRnbvNWLwd3Lc12bj5Sau5WYslmL3d3dvw1LcpDc0RHaiojIsJye.png)
如果對于dnspod的mx和txt配置記錄,不清楚的話,可以檢視如下連接配接:
萬網配置,如下:
注意:我們現在是主域名ilanni.com解析到a伺服器,mail解析到b伺服器上,是以我們現在不能按照dnspod和萬網的教程進行配置。
測試mx和txt記錄是否解析正确,如下:
為了更好的使用postfix,我們還需要安裝php、mysql、apache等相關軟體,我們現在進行安裝。
在centos6上執行以下指令:
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上執行以下指令:
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的準備工作已經做完畢了。