Linux郵件服務器搭建實驗
前言
本文重點在于后面的搭建程序,前面會簡單介紹郵件服務原理與作業流程,如果有什么錯誤或遺漏的地方,歡迎大家指正批評,謝謝,
基本理論說明
電子郵件服務器是處理郵件交換的軟硬體設施的總稱,包括電子郵件程式、電子郵箱等,它是為用戶提供基于 E-mail 服務的電子郵件系統,人們通過訪問服務器實作郵件的交換,同時郵件具有法律效益,可以提供證明,即時通訊軟體則無法做到這一點,有些公司為了資訊安全,會在內部搭建郵件服務,
常見的郵件服務器
Sendmail、Qmail、Postfix、Zmailer、Exchange(MS)、Notes/Domino(IBM)
、Coremail、U-Mail、盈世,
郵件服務器組成
電子郵件系統有很多部分組成,下面簡單介紹其中四種,
MUA(郵件用戶代理)
指的就是如Foxmail,outlook,等郵件客戶端程式,
MTA (郵件傳輸代理)
MTA(Mail Transfer Agent),MTA就是“郵件傳輸代理”的意思,MTA是用在郵件主機上的軟體,它也是主要的郵件服務器,MTA主要功能如下,接收外部主機寄來的信件,幫用戶發(寄出)信,MTA會將信件送給目的地的MTA而不是目的地的MUA,常見MTA軟體Postfix、Coremail、Sendmail等,
MDA(郵件分發代理)
MDA(Mail Delivery Agent),“郵件分發代理”主要的功能就是將MTA接收的信件依照信件的流向(送到哪里)將該信件放置到本機賬戶下的郵件檔案中(收件箱),或者再經 由MTA將信件送到下個MTA,如果信件的流向是到本機,這個郵件代理的功能就不只是將由MTA傳來的郵件放置到每個用戶的收件箱,它還可以具有郵件過濾 (filtering)與其他相關功能,常見MDA軟體:maildrop
MRA(郵件獲取代理)
MRA(Mail Retrieval Agent)替用戶去獲取自己的郵件 ,“郵件獲取代理”提求了使MUA 可以遠程獲取電子郵件的效勞,如qpoper、cyrus-imap、courier-imap、dovecot 等,為了使得郵件存取格式兼容,正在MRA 順序中經常都提求了郵件投遞代理順序MDA,MRA 運用的協議有POP3 和IMAP4 等,POP3 可以運用戶從效勞器下載郵件并離線閱讀,IMAP4 運用于那些沒有外地信箱的用戶,具有遠程操作信箱的才干,IMAP4 容許多個客戶機器同時訪問一個信箱,

所用協議
發送協議 MUA 》 MTA
SMTP:簡單郵件傳輸協議,TCP 25 埠,加密時使用 TCP 465 埠
接收協議 MUA 》 MRA
POP3:第三版郵局協議,TCP 110 埠,加密時使用 TCP 995 埠
IMAP4:第四版互聯網訊息訪問協議,TCP 143埠,加密時使用 TCP 993 埠
實驗步驟
實驗目的:掌味訓礎郵件服務架構搭建,
實驗準備:C6標準試驗機一臺(防火墻與selinux已關閉)
實驗規劃:192.168.10.14 (郵件服務器)
? 192.168.10.15(訪問測驗)
實驗相關安裝包:郵件服務
ps:標準虛擬機安裝見網路階段Centos6安裝指南
一、配置DNS服務
yum install -y bind
編輯主組態檔
vim /etc/named.conf
修改為接受所有地址訪問

編輯區域檔案
vim /etc/named.rfc1912.zones
配置正向決議與反向決議區域
zone "extmail.org." IN {
type master;
file "extmail.zheng";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "extmail.fan";
allow-update { none; };
};

創建決議檔案
cd /var/named/
cp -a named.localhost extmail.zheng
cp -a named.loopback extmail.fan
正向檔案配置
vim extmail.zheng
$TTL 1D
@ IN SOA extmail.org. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.extmail.org.
MX 3 mail.extmail.org.
mail A 192.168.10.14
dns A 192.168.10.14

反向檔案決議
vim extmail.fan
$TTL 1D
@ IN SOA extmail.org. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.extmail.org.
MX 3 mail.extmail.org.
14 PTR dns.extmail.org.
14 PTR mail.extmail.org.

啟動服務,設定為開機自啟,測驗DNS是否配置成功,
service named start
chkconfig named on
echo "DNS1=192.168.10.14" >> /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
nslookup

測驗通過,正向決議與反向決議均設定成功,
二、配置MySQL服務
yum install mysql mysql-server mailx httpd -y
啟動服務并設為開機自啟
service mysqld start
chkconfig mysqld on
設定初始化密碼
mysqladmin -uroot password 123
連接資料庫測驗
mysql -uroot -p123

資料庫設定完畢,
三、配置Apache服務
yum -y install httpd lrzsz
創建郵件服務網頁檔案目錄
mkdir /var/www/extsuite
準備extmail安裝鏡像(上方有下載鏈接),創建掛載目錄,掛載安裝鏡像,
mkdir /mnt/iso
mount -o loop EXTMAIL.iso /mnt/iso/
將鏡像內所有檔案拷貝至root目錄
cd
cp -a /mnt/iso/* .
將檔案解壓至對應目錄
tar -zxf extmail-1.2.tar.gz -C /var/www/extsuite/
tar -zxf extman-1.1.tar.gz -C /var/www/extsuite/
簡化目錄名稱,方便訪問,
cd /var/www/extsuite/
mv extmail-1.2 extmail
mv extman-1.1 extman
進行管理員配置,生成加密密碼,
grub-md5-crypt
將管理員密碼替換為生成的加密密碼,
vim init.sql

將兩個資料庫檔案還原至資料庫
mysql -uroot -p < extmail.sql
mysql -uroot -p < init.sql

四、配置POSTFIX服務
拷貝模版檔案至指定位置
cp mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/
配置指定用戶
useradd -u 600 vmail
postconf -e inet_interfaces=all
postconf -e virtual_mailbox_base=/home/vmail
postconf -e virtual_uid_maps=static:600
postconf -e virtual_gid_maps=static:600
配置模版檔案,啟動服務,
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
service postfix restart
進行郵件發送測驗
echo "hello world" | mail -s test support@extmail.org
進入指定檔案查看
cd /home/vmail/
cat extmail.org/postmaster/Maildir/new/*localdomain

成功接收到郵件
五、配置MRA服務
下載dovecot與mysql 結合使用工具
yum install dovecot dovecot-mysql -y
編輯dovecot磁盤路徑相關配置
cd /etc/dovecot/conf.d/
vim 10-mail.conf
#修改24行
mail_location = maildir:/home/vmail/%d/%n/Maildir
#修改167行,指定運行用戶uid
first_valid_uid = 600


保存退出
編輯dovecot用戶驗證相關配置資訊
vim 10-auth.conf
取消120行注釋,使其通過資料庫進行認證,

保存退出,回傳上級目錄,復制dovecot與MySQL結合組態檔至當前目錄,
cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext .
編輯Dovecot與資料庫連接相關配置
vim dovecot-sql.conf.ext:
#修改29行
driver = mysql
#修改63行
connect = host=localhost dbname=extmail user=extmail password=extmail
#取消73行注釋
defaulf_pass_scheme = MD5
#修改102行
password_query = \
SELECT username, domain, password \
FROM mailbox WHERE username = '%u' AND domain = '%d'
#修改120行
user_query = SELECT maildir, 600 AS uid, 600 AS gid FROM mailbox WHERE username = '%u'





保存退出,重啟服務開始測驗,
/etc/init.d/dovecot start
下載測驗軟體并進行連接測驗
yum -y install telnet
telnet localhost 110
user postmaster@extmail.org
pass extmail
list
retr 1


成功連接,
六、配置wed界面
編輯Apache主組態檔
vim /etc/httpd/conf/httpd.conf
配置虛擬主機,取消990行注釋,在檔案末尾添加以下資訊,
<VirtualHost *:80>
ServerName mail.extmail.org
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
SuexecUserGroup vmail vmail
</VirtualHost>

編輯設定郵件wed頁面檔案
cd /var/www/extsuite/extmail
chown vmail.vmail cgi/ -R
cp webmail.cf.default webmail.cf
編輯主組態檔,完成基本設定,
vim wedmail.cf
#修改127行:(當前郵件目錄)
SYS_MAILDIR_BASE = /home/vmail
#修改136行:(當前資料庫密碼存盤方式)
SYS_CRYPT_TYPE = plain
#修改139、140行:(資料庫名與密碼)
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
編輯設定郵件wed頁面管理員組態檔
cd /var/www/extsuite/extman
chown vmail.vmail cgi/ -R
cp webman.cf.default webman.cf
編輯郵件wed頁面管理員組態檔,完成基本設定,
vim webman.cf
#修改12行:(當前郵件目錄)
SYS_MAILDIR_BASE = /home/vmail
#修改18行:(快取目錄)
SYS_SESS_DIR = /tmp/
#修改27行:(隨機認證碼長度)
SYS_CAPTCHA_LEN = 4
#修改124行:(當前資料庫密碼存盤方式)
SYS_CRYPT_TYPE = plain
七、訪問測驗,
1.郵件服務端設定
安裝缺失依賴
cd
yum install *CGI perl-GD gcc* -y
yum -y install perl-GD-2.44-3.el6.x86_64.rpm
安裝日志創建組件
tar zxf Unix-Syslog-1.1.tar.gz
cd Unix-Syslog-1.1
perl Makefile.PL
make test
make install
創建存盤目錄
/var/www/extsuite/extman/daemon/cmdserver -d
重啟Apache服務
service httpd restart
2.客戶端配置
配置DNS,重啟網卡,
echo "DNS1=192.168.10.14" >> /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
進行決議測驗
nslookup 192.168.10.14

成功決議,開啟圖形化界面,開始訪問測驗,
init 5
3.訪問測驗
打開瀏覽器,輸入普通用戶訪問網址,
mail.extmail.org

輸入測驗賬戶與默認密碼
測驗賬戶
postmaster
默認密碼
extmail

登陸成功
測驗管理員登陸
mail.extmail.org/extman

輸入設定好的密碼

進行功能測驗,進行郵件群發測驗,

登陸測驗用戶,查看是否收到,

成功收到群發郵件,郵件服務搭建完畢,
本文于2020年10月31日由Vonmerlot重新整理,
轉載需注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/198534.html
標籤:其他
