非官方
本頁內容
  1. 01所需條件
  2. 02安裝三個應用程式
  3. 03先設定郵件
  4. 04網站
  5. 05來自主機代管範本的區域
  6. 06路由器與前端
  7. 07在網域註冊商處
  8. 08檢查清單與憑證
  9. 09在手機與郵件程式中使用郵件
  10. 10確認一切正常
  11. 11出錯時
  12. 12沒有公用位址時

您 NAS 上的網域:從第一天起就有網站、DNS 與郵件

本站 App Center 儲存庫中的三個應用程式,能讓一台 QNAP NAS 負責整個網域。WebHostPro 提供網站,TurboDNS 是網域的 DNS 伺服器,MailServerPro 處理網域的郵件。新增網站時,WebHostPro 會把網域需要的所有記錄傳給 TurboDNS:一份填入 NAS 公用位址的範本,再加上 MailServerPro 的郵件記錄。本指南以 example.com 為例,從一台還沒安裝這些應用程式的 NAS 開始,最後完成一個網站、一個信箱和一封測試郵件。

  1. 安裝三個應用程式
  2. 郵件管理員、主機名稱、DKIM
  3. 網站新增網站、試執行、套用
  4. 外部路由器與網域註冊商
  5. 確認憑證、測試郵件

截圖來自一台測試 NAS,上面執行 WebHostPro 0.7.0、TurboDNS 1.2.0 與 MailServerPro 0.5.0,每個欄位都照本指南填寫。有兩張來自較新的版本:網域頁面和其中的 DNS 說明來自 MailServerPro 0.5.1,DNS 步驟則來自填入範例資料的 WebHostPro 0.7.1。範例使用網域 example.com、公用位址 192.0.2.10,以及 NAS 的區域網路位址 192.168.1.20。請換成您自己的值。

01所需條件

先認識三個應用程式都會用到的四個用語:

  • 記錄是網域 DNS 中的一筆項目。A 記錄提供 IPv4 位址,AAAA 提供 IPv6 位址,MX 指出郵件伺服器,TXT 提供一段文字,例如郵件規則。CNAME 指向另一個名稱,查詢時會改查那個名稱。
  • 區域是一個網域的所有記錄。
  • 名稱伺服器保存一個區域,並回答關於其中記錄的查詢。網域註冊商(賣網域給您的公司)會告訴整個網際網路,這個網域由哪些名稱伺服器負責回應。
  • Glue 記錄是名稱伺服器的 IP 位址,由網域註冊商保存。如果名稱伺服器的名稱位於它所服務的網域之內,例如 example.com 的 ns.example.com,就需要 Glue 記錄。少了它,就沒有人找得到那台名稱伺服器。

您需要:

  • 一個屬於您的網域,以及在網域註冊商處變更其名稱伺服器、新增 Glue 記錄的權限。
  • 一台使用 Intel 或 AMD 處理器(x86_64)、執行 QTS 6.0 或 QuTS hero 6.0 以上版本的 QNAP NAS。這三個應用程式只發布 x86_64 版本。
  • 一個能連到 NAS 的公用 IPv4 位址,並由路由器把第 06 節列出的連接埠轉送到 NAS。最好使用固定位址:位址一改變,您就要再把記錄傳給 TurboDNS 一次,並到網域註冊商處修改 Glue 記錄。如果網路服務供應商讓許多客戶共用同一個位址(CGNAT),您的連線就沒有自己的公用位址,請參閱第 12 節。
  • NAS 在區域網路上的固定位址,讓路由器的轉送一定能到達 NAS。請在 QTS 中設定,或在路由器的 DHCP 伺服器中保留這個位址。

郵件對網路服務供應商的要求比網站更多。其他郵件伺服器透過連接埠 25 投遞郵件,而有些網路服務供應商會在家用連線上封鎖這個連接埠。許多收件伺服器也會檢查您公用位址的名稱(它的 PTR 記錄),而只有網路服務供應商能把它設為 mail.example.com。有些收件伺服器會拒收來自家用位址的郵件,或把它歸為垃圾郵件。打算依賴 NAS 收發郵件之前,請先向網路服務供應商詢問這三件事。

02安裝三個應用程式

  1. 在 App Center 中開啟 ⚙ Settings → App Repository → 新增。名稱填入 QNAP Utilities,貼上 https://www.qnaputilities.com/repo.xml,然後按 新增。
  2. 在左側欄開啟 QNAP Utilities,並安裝 (example) TurboDNS、(example) MailServerPro 與 (example) WebHostPro。安裝順序不拘。
  3. 在 App Center 中按 開啟,就會開啟各應用程式的面板。每個面板都使用自我簽署憑證,因此瀏覽器會詢問一次是否信任它。
應用程式面板位址第一次造訪
WebHostProhttps://192.168.1.20:9541/首次登入:設定面板的密碼
TurboDNShttps://192.168.1.20:9531/首次登入:設定面板的密碼
MailServerProhttps://192.168.1.20:9581/admin/第一位管理員:請參閱第 03 節

在 首次登入 頁面輸入兩次至少 10 個字元的密碼,然後按 設定密碼。此頁面只接受來自區域網路電腦的密碼,而且只在面板啟動後 60 分鐘內接受。若要再次開啟這個頁面,請在 App Center 中重新啟動應用程式。這些應用程式不會產生密碼,也不會把密碼寫在任何地方。

TurboDNS 的首次登入頁面:輸入兩次、以圓點顯示的密碼,以及設定密碼按鈕

03先設定郵件:管理員、主機名稱、DKIM 金鑰

先設定郵件,再設定網站。WebHostPro 只會為 MailServerPro 所服務的網域傳送 MailServerPro 的記錄,而 DKIM 記錄要等金鑰建立後才會傳送。先把郵件準備好,網站只要套用一次,就能填滿整個區域。

  1. 第一位管理員。從區域網路上的電腦開啟 MailServerPro。第一位管理員 頁面會要求輸入 您網域中的郵件地址 與密碼。輸入您自己的地址,例如 anna@example.com,並輸入兩次至少 10 個字元的密碼,然後按 建立管理員。MailServerPro 會建立網域 example.com、信箱 anna@example.com,以及投遞到這個信箱的別名 postmaster@example.com。同一組地址與密碼可以登入此面板與網頁郵件。MailServerPro 不接受 Gmail 等郵件服務供應商的地址,因為那個網域會變成這台伺服器的網域之一。 MailServerPro 的第一位管理員頁面:郵件地址為 anna@example.com、以圓點顯示的兩次密碼,以及建立管理員按鈕
  2. 還剩哪些步驟。總覽 會在 在您的網域能收發郵件之前 下方列出每個尚未完成的步驟,並附上前往該頁面的按鈕。 MailServerPro 的總覽:在「在您的網域能收發郵件之前」下方,有主機名稱與 example.com 的 DKIM 金鑰,各附按鈕,接著是要轉送的連接埠,以及關於連接埠 25 的說明
  3. 主機名稱。按 開啟設定,把 主機名稱 設為 mail.example.com,然後按 儲存並套用。這是郵件伺服器在網際網路上的名稱:MX 記錄、憑證與郵件程式都會使用它。這個欄位一開始顯示暫用值 mail.example.org。TurboDNS 的範本使用 mail.example.com,兩者必須一致。 MailServerPro 的設定中的郵件區段:已輸入主機名稱 mail.example.com,旁邊是由這台伺服器建立(自簽)的憑證與最大郵件大小
  4. DKIM 金鑰。回到 總覽,按 開啟網域頁面,再按 建立 DKIM 金鑰。從此以後,垃圾郵件過濾器 Rspamd 會用這把金鑰為網域的郵件簽章,收件伺服器則依據金鑰的 TXT 記錄檢查簽章。記錄以月份命名,例如 s202610._domainkey.example.com。 按下建立 DKIM 金鑰後,MailServerPro 中 example.com 的頁面:DKIM 金鑰已建立,並提示到 example.com 的 DNS 服務商新增下方的記錄

網域頁面也會列出 要發布的記錄。TurboDNS 還不是這個網域的 DNS 伺服器,所以頁面會請您把這些記錄加到網域的 DNS 服務商。請不要手動複製:您在第 04 節套用網站的計畫時,WebHostPro 會把這些記錄傳給 TurboDNS。這份清單只適用於 DNS 在其他地方的網域。

其他信箱在 信箱 → 新增信箱 建立。每個信箱都以完整地址與自己的密碼登入網頁郵件與郵件程式。

04網站:新增網站

在 WebHostPro 的 網站 頁面按 新增網站。第一次使用時,面板會詢問 網站的資料夾要放在哪裡? 選擇 QTS 的共用資料夾,就能用 File Station、SMB 與編輯器存取網站的檔案;選擇 WebHostPro 的資料存放資料夾,檔案就會留在應用程式內。在 QuTS hero 上,如果共用資料夾啟用了進階資料夾權限,網站的帳戶或網頁伺服器可能無法存取它。這時套用會停止,說明原因,並再問一次。

精靈共有七個步驟。在最後一步試執行之前,不會儲存任何內容。

  1. 網域。在 名稱 輸入 example.com。之後無法變更。保持勾選 也包含 www.example.com。其他名稱請填在 其他名稱 中,每行一個。 新增網站的網域步驟:名稱 example.com,已勾選也包含 www.example.com,其他名稱空白
  2. DNS。在 由誰負責回應 example.com 的名稱? 這一題保留 此 NAS 上的 TurboDNS;TurboDNS 執行時,這一項已經選取。它下方的選項 Cloudflare 或 OVHcloud,區域由此 NAS 上的 TurboDNS 保存,適用於 DNS 留在這兩家供應商之一的網域(第 07 節);圖片中選取的就是這一項。區域 是您購買的網域。面板會自動填入 此 NAS 的公用 IPv4 位址(向 OpenDNS 查詢)與 其公用 IPv6 位址(讀取 NAS 的網路介面)。請確認這兩項;如果路由器不會把 IPv6 傳到 NAS,請清空 IPv6 欄位。第二個名稱伺服器(選填) 保持空白:區域就會取得名稱伺服器 ns.example.com 與 ns1.example.com,兩者都在這台 NAS 上。TurboDNS 會收到的記錄 說明區域來自主機代管範本,並包含 MailServerPro 的記錄(第 05 節)。 WebHostPro 新增網站精靈中 example.com 的 DNS 步驟:在「此 NAS 上的 TurboDNS」與「我的網域註冊商或 DNS 供應商」之間,已選取「Cloudflare 或 OVHcloud,區域由此 NAS 上的 TurboDNS 保存」,其下是 NAS 的公用 IPv4 位址 192.0.2.10 與 TurboDNS 會收到的記錄
  3. 網域註冊商。此步驟列出要在網域註冊商處輸入的內容,每個值都附有複製按鈕:名稱伺服器 與 Glue 記錄(子名稱伺服器)。路由器 下方列出要轉送的連接埠,以及前端(WebHostPro 的網頁伺服器)在哪個位址接收連線。請在套用計畫之後再輸入這些值(第 06 節與第 07 節)。 網域註冊商步驟:名稱伺服器 ns.example.com 與 ns1.example.com,以及指向 192.0.2.10 的 Glue 記錄,各附複製按鈕,接著是路由器的轉送設定
  4. 網站。選擇網站的類型:PHP 適用於 WordPress 等應用程式,並使用網站自己的 PHP;靜態檔案 適用於 HTML、CSS 與圖片;反向代理 會把訪客轉給 NAS 上或區域網路中的另一項服務。在 網頁伺服器 中,nginx 會獨自提供網站,httpd 則會為需要 .htaccess 檔案的網站讀取這些檔案。PHP 網站還要選擇 PHP 版本。 網站步驟:已選取 PHP、網頁伺服器 nginx 與 PHP 版本
  5. 資料庫(僅限 PHP 網站)。資料庫引擎 預設為 不使用資料庫。若選擇 MariaDB、PostgreSQL 或 Percona Server,網站就會有自己的 資料庫 與 使用者。試執行會建立它們,密碼只顯示一次,請立刻複製。
  6. 憑證。保留 Let’s Encrypt,這是瀏覽器信任的免費憑證授權單位。套用之後,請在網站的檢查清單中申請憑證(第 08 節)。自我簽署憑證會立即建立,但瀏覽器會對它發出警告。 憑證步驟:已選取 Let's Encrypt,並說明套用之後由網站的檢查清單申請憑證
  7. 確認。按 試執行。它會把網站存成草稿,執行網頁伺服器本身的檢查,並列出每個會變更的檔案;這時網站還沒有上線。在網站的計畫下方,TurboDNS 的變更會列出區域將取得的每筆記錄。套用此計畫 會讓網站上線,然後傳送 TurboDNS 的變更。變更前的檔案會保留在快照中。 試執行:伺服器的檢查已通過、網站的帳戶與 PHP,以及 example.com 的 TurboDNS 變更(含 MailServerPro 的記錄)

網站資料夾中現在有這個網站自己的資料夾,訪客看到的是其中 public/ 資料夾的內容。請用 File Station 或 SMB 把網站檔案放到那裡;若 NAS 上執行 Bucket & Code Server IDE,也可以使用網站 檔案 分頁上的 在編輯器中開啟。在 public/ 有網頁之前,網站會回應 403。PHP 可能無法寫入由其他帳戶複製進來的檔案:檔案 分頁上的 修正權限 會把這些檔案交給網站自己的帳戶。

05來自主機代管範本的區域

當網域的網站、郵件與 DNS 都在這台 NAS 上執行時,TurboDNS 的主機代管範本包含網域所需的每筆記錄。以 example.com 與 192.0.2.10 為例,它會寫入以下記錄:

名稱類型值用途
@NSns.example.com ns1.example.com名稱伺服器,兩者都在這台 NAS 上
@ www ns ns1 webmail mail imap imaps pop pop3 pop3s smtp smtps mailserverA,有 IPv6 位址時另加 AAAA192.0.2.10網站、名稱伺服器與郵件名稱都指向 NAS
ftpCNAMEexample.com與網域相同的位址
autoconfig autodiscoverCNAMEmail.example.com郵件程式尋找設定的地方
@MX10 mail.example.com其他伺服器把網域的郵件投遞到這裡
@TXTv=spf1 mx -allSPF:只有 MX 伺服器寄送網域的郵件
_dmarcTXTv=DMARC1; p=quarantine; adkim=s; aspf=s; rua=mailto:postmaster@example.comDMARC:收件端如何處理未通過 SPF 與 DKIM 的郵件,以及把報告寄到哪裡
_submission._tcp _submissions._tcp _imaps._tcp _pop3s._tcpSRVmail.example.com 上的連接埠 587、465、993 與 995供郵件程式寄信與讀信用的連接埠

MailServerPro 會加入只有它才知道的記錄:

名稱類型用途
s202610._domainkeyTXTDKIM:用來檢查網域郵件簽章的公開金鑰
_mta-sts、mta-stsTXT、CNAMEMTA-STS:要求其他伺服器透過加密連線投遞郵件,並指出提供該政策的主機
_smtp._tlsTXTTLS-RPT:其他伺服器把加密失敗回報給 postmaster@example.com
_25._tcp.mailTLSADANE:郵件憑證金鑰的雜湊值;只有在以 DNSSEC 簽署的區域中才有效

TTL 是其他伺服器在再次查詢之前,可以保留一個回應的秒數。位址的 TTL 為 300 秒,所以新位址會在五分鐘內傳到解析器;其他記錄則為一小時。在 TurboDNS 中,區域的 記錄 分頁會顯示所有記錄。

範本為上表中的名稱提供位址。若網站使用網域的其他名稱,例如 shop.example.com,WebHostPro 會連同網站的其他記錄,為它加上自己的 A 記錄;有 IPv6 位址時,也會加上 AAAA 記錄。

TurboDNS 中 example.com 的記錄分頁:名稱伺服器、位址 192.0.2.10、MX、SPF、DMARC,MailServerPro 的 DKIM、MTA-STS 與 TLS-RPT 記錄,以及郵件的 SRV 記錄

沒有網站時的範本。如果網域只有郵件、沒有網站,請直接在 TurboDNS 中套用同一個範本。按 新區域,輸入 example.com 並保留名稱伺服器 ns 與 ns1,然後開啟區域的 範本 分頁。卡片 主機代管範本:在這台 NAS 上架設網站和郵件 可輸入 IPv4 與 IPv6 位址(偵測位址 會自動填入),按 檢視變更 會顯示試執行結果;套用變更 會寫入記錄。這張卡片不包含 MailServerPro 自己的記錄:請在 記錄 分頁用 新增記錄,逐筆加入 MailServerPro 的 要發布的記錄。

TurboDNS 的範本分頁:卡片「主機代管範本:在這台 NAS 上架設網站和郵件」,含 IPv4 位址 192.0.2.10、第二台名稱伺服器與檢視變更

06路由器與前端

把以下連接埠從公用位址轉送到 NAS 的區域網路位址:

連接埠通訊協定用途
53UDP 與 TCPTurboDNS:其他伺服器向它查詢 example.com
80TCP透過 HTTP 存取網站,以及 Let’s Encrypt 的檢查
443TCP,HTTP/3 另需 UDP透過 HTTPS 存取網站
25TCP來自其他伺服器的郵件
587 與 465TCP從區域網路外的郵件程式寄信
993TCP在區域網路外讀取郵件(IMAP);POP3 另需 995

WebHostPro 的 nginx 就是前端:每個網站的每位訪客都會經過它。它在 9542(HTTP)與 9543(HTTPS)上監聽,因為 QTS 經常自己占用 80 與 443。有兩種方式可以連到它:

  • 前端使用 80 與 443。前端與連接埠 頁面會顯示每個連接埠被什麼占用,以及在 QTS 中釋放它的步驟,並說明每個步驟會讓什麼停止運作。WebHostPro 從不自行變更 QTS 的設定。兩個連接埠都空出來後,將前端移到 80 與 443 會移動前端;將前端移回 9542 與 9543 則會復原。之後路由器把 80 轉送到 80,443 轉送到 443。
  • 前端使用自己的連接埠。路由器把 80 轉送到 9542,443 轉送到 9543,QTS 則保留自己的連接埠。將 HTTP 導向 HTTPS 仍會把訪客導向不帶連接埠的 https://example.com。
WebHostPro 的前端與連接埠頁面:前端位於 9542 與 9543、QTS 中占用 80 與 443 的項目,以及釋放各連接埠的步驟

只有在 前端與連接埠 頁面顯示 HTTP/3 已開啟 時,才需要 UDP 443。許多路由器不會把來自區域網路、連往自己公用位址的請求傳過去,所以請從外部測試,例如用手機的行動數據。

07在網域註冊商處

計畫套用後,區域會傳到 TurboDNS,TurboDNS 從此負責回應這個區域。接著請在網域註冊商處:

  1. 建立 Glue 記錄:主機 ns.example.com,位址 192.0.2.10;主機 ns1.example.com,位址相同。網域註冊商可能稱之為 Glue 記錄(glue records)、子主機(child hosts)或私人名稱伺服器(private name servers)。
  2. 把網域的名稱伺服器設為 ns.example.com 與 ns1.example.com。

網站的檢查清單在 在網域註冊商處 下方顯示相同的值,並附有複製按鈕。網域註冊商處的變更需要數小時才會傳到每個解析器;這段期間您可以繼續進行。

ns 與 ns1 符合網域註冊商要求兩台名稱伺服器的規定,但它們是同一台 NAS:NAS 關機或離線時,沒有任何伺服器會回應這個網域。要求兩台不同機器的網域註冊商會拒絕這一組。TurboDNS 不會把區域交給其他 DNS 伺服器,因為它只允許區域傳送到 NAS 本身。DNSSEC 會為區域的回應簽署,屬於選用功能:區域的 DNSSEC 分頁會簽署區域並顯示 DS 記錄,而 DS 記錄只有網域註冊商能發布。

DNS 留在 Cloudflare 或 OVHcloud

如果網域的名稱伺服器是 Cloudflare 或 OVHcloud 的,而且維持不變,請在精靈的 DNS 步驟選擇 Cloudflare 或 OVHcloud,區域由此 NAS 上的 TurboDNS 保存。TurboDNS 會像自己負責回應時一樣收到網站的記錄,並把區域保留在 NAS 上;副本由您推送到供應商。網域註冊商保留供應商的名稱伺服器,此區域不需要在路由器上轉送連接埠 53。網域註冊商 步驟與檢查清單會顯示 在供應商處,而不是名稱伺服器與 Glue 記錄。

  1. 在 TurboDNS 中開啟 供應商帳戶。Cloudflare 請提供具有 Zone · DNS · Edit 權限的 API 權杖;若 Cloudflare 尚未持有該區域,另需 Zone · Zone · Edit。OVHcloud 請提供 application key、application secret 與 consumer key;OVHcloud 只接受推送到它已持有的區域。儲存 會立即向供應商驗證這些資料。儲存帳戶後,若供應商已持有該區域,主機代管範本的試執行會指出這一點,且不再要求 Glue 記錄。
  2. 在 TurboDNS 中開啟 example.com,再開啟它的 Cloudflare 與 OVH 分頁,按 檢視變更。試執行會列出每個步驟;推送變更 會執行這些步驟,然後讀回區域並加以比對。TurboDNS 不會自行推送任何內容:之後對區域的變更,要到下一次推送才會傳到供應商。

SOA 記錄、供應商自己的名稱伺服器與 DNSSEC 記錄不會推送。TurboDNS 在 Cloudflare 建立的記錄為「僅限 DNS」;您在那裡啟用代理的名稱會以 Cloudflare 的位址回應,因此即時檢查會一直等待它。即時檢查會略過網域註冊商的名稱伺服器與 Glue 記錄,並各自說明原因;它仍會查詢此 NAS 上的 TurboDNS,並在公用解析器與前端都回應時通過。憑證方面,前端位於連接埠 80 時,WebHostPro 選擇 HTTP-01;否則在已儲存 Cloudflare API 權杖時,選擇透過 Cloudflare 的 DNS-01;其餘情況選擇 HTTP-01。透過 TurboDNS 的 DNS-01 在這裡會失敗:它的驗證記錄只留在 TurboDNS 的區域副本中,供應商要到推送之後才看得到。若要自行指定方式,請在網站的 網域與 TLS 分頁選擇 HTTP-01 或透過 Cloudflare 的 DNS-01。

08檢查清單與憑證

套用之後,網站的 概覽 會顯示 完成 example.com 的設定。每一列都是 待辦 或 已完成:

項目作用
網站已套用網站上線後即完成
TurboDNS 中的記錄TurboDNS 對此網域的計畫沒有任何要變更的項目時,會顯示 自 … 起已在 TurboDNS 中 和時間;否則按 傳送記錄 傳送記錄
在網域註冊商處第 07 節的名稱伺服器與 Glue 記錄,附複製按鈕;由 Cloudflare 或 OVHcloud 負責回應網域時,則顯示 在供應商處
即時檢查立即檢查 會查詢網域是否指向這台 NAS
憑證向 Let’s Encrypt 申請
收尾網域正常運作後按 關閉檢查清單;概覽 會保留 網域設定 連結,可再次開啟清單
完成 example.com 的設定:網站已套用與 TurboDNS 中的記錄已完成;在網域註冊商處、即時檢查、憑證與收尾仍待辦

立即檢查 會從 NAS 檢查七個項目:網域註冊商的名稱伺服器、Glue 記錄、此 NAS 上的 TurboDNS、公用解析器、www 名稱、前端(HTTP) 與 前端(HTTPS)。每一項都會顯示 相符、尚未、不同、無回應 或 略過,並附上預期值與實際找到的值。當網域註冊商列出這台 NAS 的名稱伺服器、公用解析器回傳網站的位址,而且前端透過 HTTP 回應時,檢查即通過。在網域註冊商處變更後的數小時內,顯示 尚未通過 是正常的:請稍後再按一次 立即檢查。檢查在 NAS 上執行,因此無法得知連接埠 53、80 與 443 能否從網際網路連到 NAS。

憑證。檢查通過後,向 Let’s Encrypt 申請 會成為主要按鈕。輸入 帳號電子郵件(一個帳號適用於所有網站),第一次申請時還要勾選 我接受 Let’s Encrypt 的 Subscriber Agreement。這一列會說明 Let’s Encrypt 如何檢查名稱:前端在連接埠 80 時,它透過 HTTP 取得一個檔案(HTTP-01);前端使用自己的連接埠且 TurboDNS 在 NAS 上時,它會尋找一筆 TXT 記錄,這筆記錄由 WebHostPro 透過 TurboDNS 加入,事後再移除(DNS-01)。檢查方式可以在網站的 網域與 TLS 分頁變更。取得憑證後,在 網站 頁面進行試執行並套用:之後網站才會使用這張憑證。憑證只剩 30 天或更短時,WebHostPro 會自動更新它。

09在手機與郵件程式中使用郵件

在區域網路上,網頁郵件位於 https://192.168.1.20:9581/。請以信箱的完整地址與密碼登入。郵件程式或手機郵件 App 所需的設定,列在 總覽 的 摘要 中:

設定項目值
收信與寄信伺服器mail.example.com
使用者名稱完整的郵件地址,例如 anna@example.com
收信(IMAP)連接埠 993,SSL/TLS
寄信(SMTP)連接埠 587 搭配 STARTTLS,或連接埠 465 搭配 SSL/TLS
密碼信箱的密碼,收信與寄信相同
MailServerPro 的摘要:主機名稱 mail.example.com、網頁郵件的網址與郵件程式的設定

郵件連接埠有自己的憑證。MailServerPro 會為其 主機名稱 建立自我簽署憑證,因此郵件程式或手機會詢問一次是否信任它。在 設定 中,憑證 也可以改用 QTS 中 NAS 的憑證(該憑證必須包含 主機名稱),或 放在資料資料夾中的檔案。

在區域網路上,行事曆與聯絡人位於 https://192.168.1.20:9581/dav/,使用相同的地址與密碼。

從外部使用網頁郵件。透過一個 WebHostPro 網站,就能把 MailServerPro 的網頁放上網際網路。新增一個名為 webmail.example.com 的網站,其他名稱 填入 mta-sts.example.com autoconfig.example.com autodiscover.example.com,類型選 反向代理,代理目標 填入 https://127.0.0.1:9581。之後網頁郵件會在 https://webmail.example.com/ 回應,其他郵件伺服器可以讀取網域的 MTA-STS 政策,而在 autoconfig.example.com 尋找設定的郵件程式也能找到設定。MailServerPro 能看到每位訪客自己的位址,因此登入失敗只會鎖住該訪客,而不是整個網站。在這些名稱下,它的管理面板也能從 /admin/ 開啟。沒有這個網站時,請手動輸入郵件程式的設定。

10確認一切正常

  • 在 WebHostPro 中。使用網站檢查清單上的 立即檢查(第 08 節)。
  • 在 TurboDNS 中。區域的 健康 分頁會列出區域的問題,並各附修正方法:沒有回應或提供舊副本的名稱伺服器,以及網域註冊商處不相符的 DS 記錄。記錄列上的 檢查傳播 會顯示這台 NAS、區域的每台名稱伺服器,以及公用解析器 1.1.1.1、8.8.8.8 與 9.9.9.9 的回應。由於路由器的關係,位於 NAS 公用位址的名稱伺服器可能不會回應 NAS 本身;若要確定,請從外部查詢。 測試 NAS 上 TurboDNS 中 example.com 的健康分頁:ns.example.com 與 ns1.example.com 不回應 NAS 本身,每項發現都附有可能原因與修正方法
  • 從電腦查詢。向公用解析器查詢名稱伺服器、網站的位址、MX 記錄與 DKIM 金鑰(macOS 與 Linux 使用 dig;Windows 使用 nslookup -type=NS example.com 1.1.1.1 等指令):
dig +short NS example.com @1.1.1.1
dig +short A www.example.com @1.1.1.1
dig +short MX example.com @1.1.1.1
dig +short TXT s202610._domainkey.example.com @1.1.1.1
  • 網站。在使用行動數據的手機上開啟 https://example.com/ 與 https://www.example.com/。
  • 測試郵件。以 anna@example.com 登入網頁郵件,寄信到其他供應商的信箱。在收到的郵件標頭中(通常在「顯示原始郵件」),Authentication-Results 應顯示 dkim=pass、spf=pass 與 dmarc=pass。回覆這封郵件:只要連接埠 25 能連到 NAS,回覆就會送達網頁郵件。還在等待寄出的郵件會顯示在 MailServerPro 的 佇列 頁面,並附上原因。

11出錯時

每個應用程式都會用自己的話說明出了什麼問題。以下是第一天最可能看到的訊息:

「設定已於面板啟動 60 分鐘後關閉。」
WebHostPro、TurboDNS
面板只在啟動後一小時內接受第一組密碼。在 App Center 中重新啟動應用程式,並在一小時內設定密碼。
「第一次登入只能從區域網路中的電腦進行。」
TurboDNS(WebHostPro 的說法不同)
面板只接受從區域網路中的電腦設定的第一組密碼。請從家中或辦公室的電腦開啟面板,不要透過網際網路。
「郵件伺服器尚無管理員。第一位需從區域網路上的電腦(私人或回送地址)建立 …」
MailServerPro
MailServerPro 只為區域網路上的電腦(私人或回送地址)建立第一位管理員。請從家中或辦公室的電腦開啟它的面板。
主機名稱 旁顯示 暫用值
MailServerPro,摘要
郵件伺服器在網際網路上還沒有名稱。請在 設定 → 主機名稱 輸入名稱,例如 mail.example.com(第 03 節)。
「此計畫已失效:已超過 30 分鐘、已被使用,或 TurboDNS 已重新啟動。請要求新的計畫。」
WebHostPro,傳送記錄時
一份計畫只能在 30 分鐘內傳送一次。按 重新要求,閱讀新的計畫後再傳送。
「上次檢查於 …:尚未通過。」
WebHostPro,檢查清單
即時檢查至少還有一個項目不相符。查看沒有顯示 相符 的項目。如果剛在網域註冊商處做了變更,請稍候再檢查一次。
「前端在連接埠 9542,不是 80:您的路由器必須把網際網路的連接埠 80 轉送到這台 NAS 的連接埠 9542,或改選 DNS-01。」
WebHostPro,Let’s Encrypt
Let’s Encrypt 的 HTTP-01 檢查經由連接埠 80 連入,而前端在 9542 上監聽。把連接埠 80 轉送到 9542,或移動前端(第 06 節)。
「上次執行(…)失敗:…」
WebHostPro,網域與 TLS
冒號後的文字來自 Let’s Encrypt。最常見的原因是名稱尚未指向 NAS,或連接埠 80 無法連到 NAS。
「PowerDNS 沒有回應」
TurboDNS,狀態列
面板收不到它的 DNS 伺服器 PowerDNS 的回應。在 App Center 中停止再啟動 TurboDNS,然後查看它的記錄檔。
服務旁顯示 已停止
MailServerPro,總覽
郵件伺服器的這個部分沒有在執行。開啟旁邊的 它的記錄檔。在 App Center 中停止再啟動應用程式,就會重新啟動所有服務。

記錄檔:

  • WebHostPro:每個網站的 記錄 分頁、服務 頁面,以及其資料存放資料夾 <install volume>/WebHostPro 中 logs/ 內的檔案(nginx、httpd、PHP 與 Let’s Encrypt 各有自己的檔案)。
  • TurboDNS:應用程式安裝資料夾(例如 /share/CACHEDEV1_DATA/.qpkg/TurboDNS)中的 data/log/pdns.log(DNS 伺服器)與 data/log/panel.log(面板)。
  • MailServerPro:其面板的 記錄 頁面,以及其資料資料夾 <install volume>/MailServerPro 中 log/ 內的檔案。

重新安裝 WebHostPro,或移動其資料

每個網站都以自己的帳戶執行,例如 ws-1、ws-2 等,而該帳戶在 /etc/passwd 中的描述會寫明 WebHostPro 的資料存放資料夾。在同一個磁碟區上移除後再重新安裝時,WebHostPro 會使用同一個資料存放資料夾,網站也會恢復原狀。如果舊帳戶還在,而新安裝使用另一個資料存放資料夾,新安裝會拒絕第一次試執行,並指出擋路的 ws- 那一行。

若要把 WebHostPro 的資料移到另一個磁碟區,請在 App Center 中停止 WebHostPro,移動其資料存放資料夾,把新路徑寫入 WebHostPro 安裝資料夾中的 etc/data-dir,然後再次啟動。啟動時會重新接手網站的帳戶,只把它們的描述改為新資料夾,並為新資料夾寫入各伺服器的檔案,因此網站會立即回應,不需要套用。如果舊資料夾仍在(是複製而不是移動),或沒有任何網站曾經套用過,WebHostPro 會拒絕下一次試執行,並指出每一行 ws-:請在 SSH 工作階段中以 admin 身分,把那一行的描述改為 WebHostPro site of 加上新資料夾。不要在空的資料存放資料夾上啟動第二個安裝來取代第一個:它既不會接手網站,也不會接手網站的帳戶。

12沒有公用位址時

在 CGNAT 之後,或路由器不轉送任何連接埠時,WebHostPro 仍可透過 Cloudflare Tunnel 把網站放上網際網路:NAS 上的 cloudflared 主動連線到 Cloudflare,Cloudflare 再把網站的訪客轉給前端。此時網域的名稱伺服器必須是 Cloudflare 的,因此 TurboDNS 不負責回應這個網域。郵件無法透過這種方式送達 NAS:其他伺服器會透過連接埠 25 投遞到 MX 位址。

  1. 在精靈的 DNS 步驟選擇 我的網域註冊商或 DNS 供應商,並清空 此 NAS 的公用 IPv4 位址。這樣網站儲存時就不會有檢查清單。不要自行在 Cloudflare 為網站的名稱新增任何 A、AAAA 或 CNAME 記錄。
  2. 完成精靈並套用網站。
  3. 在 前端與連接埠 頁面的 透過 Cloudflare 讓網站可從網際網路存取 卡片中,貼上您 Cloudflare 帳戶的 API 權杖(需具備卡片列出的權限),按 檢查權杖,選擇區域,然後按 開啟通道。
  4. 為該網站開啟 透過 Cloudflare 讓此網站可從網際網路存取。

透過通道時,訪客看到的是 Cloudflare 的憑證。在 Cloudflare 的免費方案中,單一請求最多上傳 100 MB,Cloudflare 等待回應最多 125 秒。移除 WebHostPro 之前,請先關閉通道:移除時,它在 Cloudflare 的記錄與通道會留下來。