Download presentation
Presentation is loading. Please wait.
1
第十八章 郵件伺服器架設 學習目標 介紹電子郵件伺服器 了解電子郵件傳送運作 了解SMTP與POP3協定 了解IMAP協定
第十八章 郵件伺服器架設 學習目標 介紹電子郵件伺服器 了解電子郵件傳送運作 了解SMTP與POP3協定 了解IMAP協定 架設postfix郵件伺服器 學習傳遞郵件伺服器設定 學習接收郵件設定
2
章節大綱 18-1 郵件伺服器概念 18-4 postfix的基礎設定 18-2 架設前的準備 18-5 SMTP帳號密碼認證
18-6 IMAP與POP3收信 備註:可依進度點選小節
3
郵件伺服器架設 CentOS預設使用postfix 為電子郵件伺服器 還需要DNS 網域的配合才能完成
電子郵件的傳送與接收包括了傳送者與接收者 軟體與伺服器參與整個流程 postfix 是新一代郵件伺服器 容易設定與極佳穩定性
4
18-1 郵件伺服器概念 架構 jack 在 dom.twbbs.org主機上擁有電子郵件帳號 當jack jack 會「委託」dom.twbbs.org 這台主機代表轉送
5
18-1 郵件伺服器概念 電子郵件的組成要素 送件者與收件者使用的軟體稱為「使用者代理軟體(Mail User Agent,MUA)
傳送與接收的伺服器稱為「郵件傳遞代理軟體(Mail Transfer Agent,MTA) 送件者與傳送伺服器的通訊協定使用SMTP,MTA 與MTA 之間亦是使用SMTP 收件者到主機去收信則採用POP3 或IMAP 等協定
6
18-1 郵件伺服器概念 電子郵件的組成要素
7
18-1 郵件伺服器概念 傳送電子郵件的作業流程 寄件人請主機傳送一封電子郵件時,主機會向DNS 的MX 記錄
8
18-1 郵件伺服器概念 接收電子郵件的作業流程 當有電子郵件寄達時,MTA 之間會利用SMTP 協定溝通,對方會詢問您有沒有tom 這個電子郵件帳號?若是有的話,主機會將傳送來的信件收到專門存方信件的資料夾
9
18-2 架設前的準備 實務運作 確認擁有該網域(dom.twbbs.org) 的所有權
10
18-2 架設前的準備(續) 確認該網域的MX 郵件主機設定
11
18-2 架設前的準備 虛擬環境 很難真的花錢註冊一個實際運作的網域名稱來做為練習的標的
可利用如twbbs.org 這類免費網域註冊的服務,註冊一個免費主網域來練習 仍需要讓架設的主機擁有一個真實對外的IP 位址 利用修改Linux 主機的DNS 主機設定檔/etc/resolv.conf,將Linux 主機的DNS 設定為本機
12
18-2 架設前的準備 虛擬環境 虛擬環境的設定 文字編輯器vi 或nano 修改DNS 設定檔/etc/resolv.conf,在第一行加入nameserver 在此主機內有需要查詢任何DNS 時,將會先查詢本主機的DNS 伺服器
13
18-2 架設前的準備 虛擬環境 管理網域dom.snpy.org 本機的DNS 主機中加入dom.snpy.org網域
其記錄檔/var/named/named.dom IN MX
14
18-2 架設前的準備 虛擬環境 啟動named 服務並測試 systemctl restart named dig 測試mx 記錄
15
18-3 架設安裝postfix 電子郵件運作觀念 套件安裝 修改設定檔 服務啟動與停止 驗證伺服器運作正常與否
16
18-3 架設安裝postfix 安裝必要條件 安裝相關套件指令 postfix dovecot
負責POP3、IMAP 提供使用者取信的通訊協定伺服器。 安裝相關套件指令
17
18-3 架設安裝postfix 套件的目錄與檔案 /etc/postfix/ 目錄 /var/log/maillog 檔案
伺服器的主要設定檔都放置在這個目錄下。 /var/log/maillog 檔案 電子郵件伺服器的日誌(記錄檔) /var/spool/postfix/ 目錄 當伺服器為使用者收取電子郵件後,在使用者還未連線上來讀取信件之前,將信件放置在此目錄下。 /etc/postfix/main.cf 伺服器的主設定檔 /etc/postfix/access 轉寄權限設定檔,有外來的 IP 連線至伺服器時,以此檔案內的資料判定是否要為該 IP 位址轉寄電子郵件
18
18-3 架設安裝postfix 設定防火牆與啟動服務 設定防火牆 啟動postfix服務 設定系統開機時啟動postfix服務
firewall-cmd --permanent --add-service=smtp firewall-cmd --permanent --add-port=110/tcp firewall-cmd --permanent --add-port=143/tcp firewall-cmd --reload 啟動postfix服務 systemctl start postfix 設定系統開機時啟動postfix服務 systemctl enable postfix
19
18-4 postfix的基礎設定 設定postfix 預設只允許提供本機內部送信 未開放所有外部連線
Postfix 伺服器的主要設定檔為/etc/postfix/main.cf main.cf 設定檔內是以變數的方式設定postfix 的功能
20
18-4 postfix的基礎設定 得到預設的設定值 「postconf -d」指令
21
18-4 postfix的基礎設定 設定方式 可用vi 這類文字編輯器修改/etc/postfix/main.cf 設定檔
postconf 指令加上-e 選項亦可修改設定檔中的設定值
22
18-4 postfix的基礎設定 常用設定值 myhostname mydomain myorigin inet_interfaces
郵件伺服器的主機名稱,應該設定為此Linux 的HOSTNAME,如centos.mycom.tw 或mail.example.com mydomain 郵件伺服器負責的網域名稱,如dom.snpy.org myorigin 由postfix 寄出的郵件中,其寄信人的欄位要顯示的網域名稱 inet_interfaces 若主機具有多個網路卡介面時,此值可設定欲接收主機裏那些網路介面傳來的郵件
23
18-4 postfix的基礎設定 常用設定值(續) mydestination mynetworks relay_domains
定義這台郵件伺服器自家人的網域 mynetworks 定義有那些主機或網段可以為其轉寄郵件 relay_domains 設定有那些網域是我這台郵件伺服器所信任,而且願意為其轉寄信件
24
18-4 postfix的基礎設定 加入網路介面「eth0」 開始設定 讓postfix 能接收從所有網路卡端的連線
postconf 修改inet_interfaces 的值為all 開始設定 postconf -e myhostname=dom.snpy.org postconf -e mydomain=dom.snpy.org systemctl restart postfix
25
18-4 postfix的基礎設定 轉寄郵件權限 原設定值(包括了192.168.1.0/24)
~]# postconf mynetworks mynetworks = / /24 [::1]/128 [fe80::%eth0]/64
26
18-4 postfix的基礎設定 寄送測試郵件 自我介紹 送件人 收件人 輸入EHLO localhost
輸入MAIL FROM: 收件人 輸入RCPT TO:
27
18-4 postfix的基礎設定 寄送測試郵件(續) 信件內容(輸入DATA) 離開 輸入QUIT
dom.snpy.org closing connection Connection closed by foreign host.
28
18-4 postfix的基礎設定 切換使用者讀取測試信 使用su 指令切換為使用者jack 收信 使用mutt
29
18-5 SMTP帳號密碼認證 使用SMTP 認證方式,使用者連上postfix 時,提供帳號與密碼給伺服器進行驗證
postfix伺服器本身並未提供SMTP 認證功能 Cyrus-SASL 是一套專門的認證函式庫,可以提供postfix做為認證時呼叫 rpm 指令確認其是否已安裝完成
30
18-5 SMTP帳號密碼認證 啟動「saslauthd」服務 每次開機時自動啟動 systemctl restart saslauthd
systemctl enable saslauthd
31
文字編輯器修改postfix的設定檔/etc/postfix/main.cf,加入
smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 或使用postconf指令 重啟postfix systemctl restart postfix
32
18-5 SMTP帳號密碼認證 測試 telnet 連線至主機的25 埠號 「EHLO localhost」指令
33
18-5 SMTP帳號密碼認證 客戶端MUA 的設定 Outlook的設定
34
18-6 IMAP 與POP3 收信 CentOS 的IMAP 與POP3 協定是由「dovecot」這個伺服器所負責 yum 指令安裝
yum -y install dovecot Dovecot 伺服器的設定檔為/etc/dovecot/dovecot.conf 啟動 dovecot 伺服器 systemctl restart dovecot 設定其開機自動啟動 systemctl enable dovecot
35
18-6 IMAP 與POP3 收信 請在/etc/dovecot/dovecot.conf 設定檔的最尾端再加入一「mail_location」設定值 重啟dovecot 伺服器 systemctl restart dovecot 加入最後一行
36
18-6 IMAP 與POP3 收信(續) 將 /var/mail/ 下的所有檔案權限設為 600
chmod 600 /var/mail/*
37
測試 POP3 協定 以 telnet 指令連線至本機埠號 110,輸入 user 指令指定帳號 jack 與 pass 指令 IMAP 協定 以 telnet 指令連線至本機埠號 143,並輸入「a login jack abc123」指定帳號與密碼
38
18-7 RoundCube Web Mail 網頁上收、寄信(Web Mail) CentOS並未附帶內建的 Web Mail 套件
RoundCube、RainLoop 與 SquirrelMail 等 安裝 RoundCube 美觀的介面 功能豐富 中文介面
39
18-7 RoundCube Web Mail(續)
使用 PHP 與 AJAX 技術開發的一套 Web Mail 系統 安裝 PHP 相關套件 安裝、設定 MariaDB 資料庫 下載 RoundCube 設定 dovecot 收信伺服器 進行安裝步驟
40
18-7-1 安裝 PHP 相關套件 yum -y install php-mbstring php-intl php-mysql php-xml php-mcrypt yum -y install php-mcrypt
41
18-7-2 安裝、設定 MariaDB 資料庫 CentOS 7 開始使用 MariaDB 替代原本的 MySQL
使用 yum 指令安裝 mariadb 與 mariadb-server yum -y install mariadb mariadb-server 啟動 mariadb 服務並設定開機自動啟動 systemctl start mariadb systemctl enable mariadb
42
設定 MariaDB 資料庫 系統管理者設定密碼 使用 mysql 指令登入 mariaDB
mysqladmin -u root password 'abc881' 使用 mysql 指令登入 mariaDB
43
設定 MariaDB 資料庫(續) 建立資料庫 建立帳號
44
18-7-3 下載 RoundCube 網址為:http://roundcube.net 解壓縮並安裝 更換為較短的名稱
tar xvfz roundcub tar.gz 更換為較短的名稱 mv roundcub rcube 檔案擁有者設定為 apache 使用者 chown apache.apache rcube -R 設定 SELinux setsebool -P httpd_unified 1 重啟 httpd 服務 systemctl restart httpd
45
測試 瀏覽器開啟網址
46
設定 RoundCube 一般設定
47
設定 RoundCube(續) 資料庫設定
48
設定 RoundCube(續) 產生 RoundCube 設定檔 下載正確格式的 mime.types
設定檔會自動產生在 /var/www/html/rcube/config/config.inc.php 下載正確格式的 mime.types
49
設定 RoundCube(續) 使用 vi 或 nano 文字編輯器開啟 config/defaults.inc.php 檔
50
設定 RoundCube(續)
51
設定 RoundCube(續) 測試
52
設定 RoundCube(續) 刪除安裝目錄 設定 dovecot
rm -rf /var/www/html/rcube/installer/ 設定 dovecot auth_username_format = %n systemctl restart dovecot
53
使用 RoundCube
54
使用 RoundCube(續) 登入成功後,即進入 RoundCube 的使用介面
55
本章結束 Q&A討論時間
Similar presentations