Unofficial

WebPortico

QNAP 的終極 Web 伺服器革命

你的 QNAP。 全面解放。 零妥協。

別再把每個網站塞進同一個 PHP。把你的 NAS 變成高效能的網站開發與代管主力:1 鍵接管連接埠、多版本 PHP 隔離、閃電般的快取惡魔,以及企業級的自動 DNS 控制。

查看範例網站 →QNAP Utilities 儲存庫中的免費應用程式。需求:採用 Intel 或 AMD 處理器的 QNAP NAS、x86_64 架構,以及 QTS 6.0 或 QuTS hero 6.0 或更新版本。

WebPortico 的「前端伺服器與連接埠」頁面:「接管 80 與 443」卡片把 QTS 的管理介面從 443 移到 44443、QTS 的 Web 伺服器從 80 移到 8880,由 WebPortico 使用 80 與 443。
前端伺服器與連接埠。「接管 80 與 443」會在你點擊之前,列出每個要搬移的連接埠以及搬到哪裡。
WebPortico 的「網站」頁面:一台 NAS 上的九個網站,使用 PHP 8.4 與 PHP 8.5,靜態網站與反向代理,各有自己的資料夾、Web 伺服器與憑證。
網站。PHP 8.4 與 PHP 8.5 的網站,與靜態網站和反向代理並列,每個 PHP 網站都有自己的 PHP-FPM 主程序。
WebPortico 的「資料庫」頁面:MariaDB 卡片與其設定,下方是 Percona Server。
資料庫伺服器。在面板中設定 MariaDB 的緩衝池、連線數與慢查詢記錄,下方是 Percona Server。
網站的「快取」分頁:Valkey、memcached、APCu 與 OPcache 的使用量與命中率、各自的清除按鈕,以及頁面快取的狀態。
網站的「快取」分頁。Valkey、memcached、APCu 與 OPcache 為這個網站保存了什麼,每一個都能清除。
「新增網站」精靈的網站步驟:已選反向代理,展開這台 NAS 上的應用程式清單,為 Jellyfin 填入目標 http://127.0.0.1:8096,並開啟 WebSocket。
新增網站。為這台 NAS 上的應用程式建立反向代理:選擇應用程式,連接埠與 WebSocket 會自動填入。
cf.example.test 的「新增網站」精靈 DNS 步驟:Cloudflare 的註冊商與 DNS 伺服器、以 API 權杖加入的記錄、NAS 的公開位址,以及建立權杖的六個步驟。
新增網站,DNS 步驟。網域在 Cloudflare:WebPortico 一路引導你建立 API 權杖,並在套用時用它寫入記錄。
網站的「PHP」分頁:已勾選「在頁面上顯示 PHP 錯誤」,每個錯誤都回報到網站的 PHP 記錄,並註明這個網站已勾選 Xdebug。
網站的「PHP」分頁。PHP 錯誤顯示在頁面上並寫入網站的 PHP 記錄,Xdebug 只為這個網站載入。

真實的 WebPortico 0.16.0 面板,使用示範資料。

速度 & 力量的惡魔

  • 1 鍵替換伺服器

    拿下連接埠 80 與 443。

    立即把連接埠 80 與 443 上 QTS 自己的伺服器,換成現代化的高吞吐量環境。一鍵就讓伺服器核心變成精簡的生產級引擎——沒有手動設定的地獄,儲存空間完全不受影響,一鍵就能還原。

  • PHP 版本自由 (PHP 8.1 至 8.5)

    每個專案,並行運作。

    老舊的義大利麵程式碼,還是最前沿的框架?在 PHP 8.1、8.2、8.3、8.4 與 8.5 之間逐站無縫切換。以專屬的處理程序池、專屬的 php.ini 設定,以及其他網站看不到的擴充功能,隔離每個網站的環境。

  • 企業級資料庫套件 (MariaDB、Percona、PostgreSQL)

    純粹的查詢速度。

    部署企業等級的資料庫後端——久經考驗的 MariaDB、高併發的 Percona Server,或穩健的 PostgreSQL。在面板中調整緩衝池、連線數與慢查詢記錄,並透過本機通訊端連線。

  • PECL & 擴充功能火力全開 (Imagick、APCu、OPcache)

    釋放速度惡魔。

    預先編譯,隨時開戰。依需要載入 PECL 擴充功能,善用 OPcache 的位元組碼快取,把資料庫結果快取在 Memcached 與 Valkey (Redis),並以 ImageMagick 瞬間處理大型圖像。你的應用程式不只是能跑——而是飛起來。

  • 原生反向代理 & QNAP 整合

    流暢的流量路由。

    透過智慧的反向代理層,把外部流量乾淨俐落地直接導入你的 QNAP 基礎架構。以絕對精準的方式管理內部服務路由、SSL 終止與 WebSocket 升級。

  • 自動 DNS 記錄 (OVHcloud & Cloudflare API)

    數秒內寫入記錄。

    別再手動複製 A 記錄。WebPortico 直接串接 OVHcloud 與 Cloudflare 的 API。在面板中新增網域,讓系統準備 DNS 記錄、根網域對應與 Let's Encrypt 憑證——每筆記錄都會先在計畫中呈現。

  • PHP 錯誤回溯除錯

    即時診斷。零猜測。

    出問題時,你不需要含糊的 500 錯誤。為網站勾選 Xdebug,每個 PHP 錯誤都會帶著完整的回溯、逐一列出堆疊框架,寫入該網站自己的記錄;在「PHP」分頁設定時間後,慢速請求記錄會保存每個拖慢的請求的堆疊。兩者都能在網站的「記錄」分頁中開啟。

WebPortico — QNAP NAS 上屬於您自己的代管環境

您的網域。您的網站。您的 NAS。

以您自己的網域名稱執行網站、PHP 應用程式與服務。WebPortico 將網頁伺服器管理、PHP 設定、資料庫服務、HTTPS 憑證與反向代理整合到 QNAP NAS 上的單一控制面板。

每個網站都有自己的設定。選擇它的類型、網頁伺服器與 PHP 版本,指派資料庫,設定網域名稱並選取憑證。發布網頁伺服器設定的變更之前,請先檢視擬定的計畫及其驗證結果。

探索面板 → 閱讀代管指南 →

看看 WebPortico 的實際運作

選取面板畫面,即可看到實際的應用程式:網站清單、新網站精靈、PHP 設定、網站的資料庫與資料庫伺服器、網域與 TLS、反向代理、變更預覽及其結果、排程工作、快取、Cloudflare Tunnel,以及連接埠接管。螢幕截圖呈現原始介面與示範資料。

WebPortico 的「Sites」清單:預設網站與八個示範網站,並列出「Site type」、網頁伺服器、憑證與狀態。

網域、網站類型與其狀態。 同一台 NAS 上的網站:靜態檔案、PHP 與反向代理。

面板細節。放大圖片可查看完整畫面。

「Add site」精靈的「Website」步驟:選擇 PHP、靜態檔案或反向代理,以及網頁伺服器。

從名稱到設定計畫。 精靈會帶您完成網域、DNS 與新網站的設定。

面板細節。放大圖片可查看完整畫面。

網站的「PHP」分頁:PHP 版本及其支援狀態、時區與限制。

特定應用程式的版本與設定。 為每個網站分別設定 PHP 版本、限制與工作程序。

面板細節。放大圖片可查看完整畫面。

網站的「Database」分頁,顯示 MariaDB 資料庫及其使用者,以及新資料庫的表單。

指派給專案的資料庫與使用者。 為特定專案準備的資料庫與使用者帳號。

面板細節。放大圖片可查看完整畫面。

MariaDB 的「Database servers」卡片,包含緩衝區、連線、封包大小與慢查詢時間。

共用資料庫伺服器的設定。 共用 MariaDB 伺服器的設定,不是單一網站的設定。

面板細節。放大圖片可查看完整畫面。

「Domains and TLS」分頁:別名、自我簽署憑證,以及其他憑證來源的按鈕。

網站的名稱與憑證。 在網站設定中選擇網域、別名與 HTTPS 方法。

面板細節。放大圖片可查看完整畫面。

反向代理網站的「Hosting」分頁:「App on this NAS」、關於應用程式自身設定的提示,以及代理目標。

目標服務與連線設定。 選取 NAS 上的應用程式,並以所選的網站名稱提供。

面板細節。放大圖片可查看完整畫面。

「Preview of changes」卡片:變更的檔案,以及每個檔案變更的行。

哪些內容會變更,套用前先經過檢查。 套用變更前,先檢視檔案與設定檢查結果。

面板細節。放大圖片可查看完整畫面。

按下「Apply changes」後的「Sites」頁面:含快照名稱的通知,以及已重新載入的服務。

已套用的計畫,以及啟動了哪些項目。 「套用變更」之後:快照名稱,以及已啟動與重新載入的服務。

面板細節。放大圖片可查看完整畫面。

網站的「Scheduled tasks」分頁,顯示一項示範工作、它的排程與接下來的執行時間。

網站的工作、排程與接下來的執行。 工作排程與執行結果都可直接在網站設定中查看。

面板細節。放大圖片可查看完整畫面。

網站的「Cache」分頁:Valkey、memcached、APCu 與 OPcache 的使用量、Valkey 與 memcached 通訊端,以及壓縮。

網站專屬的 Valkey、memcached 與頁面快取。 為所選網站設定的頁面快取與本機快取。

面板細節。放大圖片可查看完整畫面。

「Front server and ports」頁面的「Cloudflare」卡片,包含空白的 API 權杖欄位與方案限制。

不轉送連接埠即可發布。 選用的通道讓您不必在路由器上轉送連接埠就能發布網站。

面板細節。放大圖片可查看完整畫面。

「Take over ports 80 and 443」卡片:變更前後的連接埠與新的 QTS 管理位址。

接管前後的 QTS 連接埠。 連接埠接管計畫會顯示 WebPortico 與 QTS 服務中將變更的內容。

面板細節。放大圖片可查看完整畫面。

原始 WebPortico 介面。示範資料。

本頁內容
  1. 面板
  2. 網站與 PHP
  3. 網域與 HTTPS
  4. 變更預覽
  5. 反向代理
  6. NAS 網頁伺服器
  7. 自行建置
  8. 安裝
  9. 需求
  10. WebPortico 與 Plesk、cPanel 等的比較
  11. 常見問題

一個網站只是開始

一台 NAS 可以代管多個彼此獨立的網站。其中一個可能是單純的 HTML 網站,另一個是 PHP 應用程式,第三個則是轉送到某項服務的位址,該服務在容器中或您網路中的其他裝置上執行。

WebPortico 以每個網站為中心組織設定。網站的網域、網站類型、PHP 設定、資料庫、憑證、排程工作與記錄都集中在一起。每次新增專案時,您不必在伺服器設定檔中四處尋找。

靜態網站

公司網站、作品集、文件或自訂的到達網頁,都不需要 PHP 或資料庫。建立靜態網站,並將它的 HTML、CSS、JavaScript 與圖片檔案放進網站的 public/ 目錄。

PHP 應用程式

部落格、RSS 閱讀器、服務儀表板或檔案管理應用程式,可能需要 PHP、資料庫或額外的擴充功能。WebPortico 讓您為應用程式選擇 PHP 版本與網頁伺服器。FreshRSS、Heimdall 與 FileRise 的範例呈現實際部署的情形。

在您自己網域下的服務

應用程式可以繼續在 NAS 上、容器中,或區域網路中的其他裝置上執行。反向代理網站會把來自所選網域的請求轉送給該服務。它不會搬移應用程式或其資料;它為服務提供網址,並經由前端伺服器傳遞請求。

依應用程式選擇 PHP

同一台 NAS 上的兩個網站可以使用不同的 PHP 版本。WebPortico 為每個 PHP 網站執行獨立的 PHP-FPM 主程序,各有自己的設定與工作程序集區。變更一個網站的設定,不需要切換其他專案的 PHP。

您可以為每個網站設定記憶體與上傳限制、指令碼最長執行時間、時區、錯誤回報、擴充功能,以及 PHP-FPM 集區參數。另外也提供 OPcache、JIT 與 APCu 設定。面板會顯示所選 PHP 分支的支援狀態。

如果應用程式依賴 .htaccess 規則,請選擇 Apache httpd。否則可以使用 nginx。請依應用程式的需求選擇網頁伺服器。

獨立的 PHP-FPM 程序不等於獨立的機器。網站仍共用 NAS 的處理器、RAM 與儲存空間。獨立的帳號與工作程序集區讓管理更容易,但無法讓其他服務免受 NAS 過載的影響。

網站「PHP」分頁中的「PHP workers (pool)」卡片。

單一網站的工作程序:程序管理器、數量與限制。

面板細節。放大圖片可查看完整畫面。

供不同應用程式使用的資料庫引擎

WebPortico 支援 MariaDB、Percona Server 與 PostgreSQL。面板會列出已安裝的套件建置所內含的資料庫引擎。您可以為網站建立資料庫與獨立的使用者帳號。

與 MySQL 相容的應用程式可以使用相容的引擎,例如 MariaDB 或 Percona Server。PostgreSQL 是另一種資料庫引擎,需要應用程式本身支援 PostgreSQL。

並非每個網站都需要 SQL 伺服器。靜態網站不需要資料庫。使用 SQLite 的應用程式會自行管理以檔案為基礎的資料庫;SQLite 不是由 WebPortico 面板管理的資料庫伺服器。

MariaDB 與 Percona Server 有伺服器設定,例如緩衝池、連線上限與慢查詢記錄。這些設定作用於整個資料庫伺服器,而非單一網站。套用變更會重新啟動該伺服器,重新啟動期間,應用程式無法連線到它的資料庫。

MariaDB 的「Database servers」卡片,包含緩衝區、連線、封包大小與慢查詢時間。

共用 MariaDB 伺服器的設定,不是單一網站的設定。

面板細節。放大圖片可查看完整畫面。

從網域名稱到可運作的網站

新增網站精靈涵蓋網域、DNS、網域註冊商的記錄、網站(類型、網頁伺服器、PHP 版本)、PHP 網站的選用資料庫,以及憑證。「確認」步驟會列出您的選擇,預覽變更則顯示伺服器設定中將有哪些變更。

「Add site」精靈的「Domain」步驟,名稱為 notes.example.test,僅供區域網路使用。

網站的名稱與其他名稱。

面板細節。放大圖片可查看完整畫面。

「Add site」精靈的「Website」步驟:選擇 PHP、靜態檔案或反向代理,以及網頁伺服器。

精靈會帶您完成網域、DNS 與新網站的設定。

面板細節。放大圖片可查看完整畫面。

「Add site」精靈的「Review」步驟,列出名稱、「Site type」、網頁伺服器、PHP 版本與限制、OPcache、資料庫、憑證與 DNS。

變更預覽之前已準備設定的總覽。

面板細節。放大圖片可查看完整畫面。

您可以讓 DNS 留在現有的服務商,也可以將 WebPortico 連接到在 NAS 上執行的 TurboDNS。如果公開區域由 Cloudflare 或 OVHcloud 提供服務,WebPortico 會把記錄傳送到 TurboDNS,再由您在 TurboDNS 中該區域的 Cloudflare 與 OVH 分頁,將記錄推送到服務商。

套用變更後,網站「概覽」分頁上的檢查清單會顯示尚待完成的事項:網域註冊商的記錄、網域檢查,以及向 Let’s Encrypt 申請憑證。面板協助您整理部署工作,但不會自動變更每家網域註冊商或每台路由器上的設定。

網站的「Finish setting up」檢查清單,包含要在註冊商新增的記錄、路由器連接埠與「Domain check」。

網站概覽上的檢查清單,此時註冊商與 DNS 步驟尚未完成。

面板細節。放大圖片可查看完整畫面。

為您的網域啟用 HTTPS

WebPortico 支援 Let’s Encrypt 憑證與自動更新。網域驗證可以使用 HTTP-01,或在已設定所需的 DNS 整合時使用 DNS-01。您也可以使用自己的憑證、NAS 的憑證或自我簽署憑證。

只輸入網域名稱無法取得憑證。Let’s Encrypt 必須驗證您對該名稱的控制權:HTTP-01 透過可公開連線的連接埠 80,DNS-01 透過正確的 TXT 記錄。瀏覽器不會自動信任自我簽署憑證。

逐步設定您的網域 →

套用設定前先檢視計畫

WebPortico 會為網站設定的變更準備計畫。預覽會列出將新增、變更或移除的檔案,以及 nginx、Apache 與 PHP-FPM 的設定檢查結果。套用變更會發布準備好的設定。

替換之前,目前的設定檔會先複製一份。如果套用計畫失敗,部署機制可以還原先前的設定。這不是網站檔案或資料庫的備份。

並非每項操作都屬於設定計畫。建立或刪除資料庫,以及變更排程工作,都會立即生效。在新增網站精靈中,預覽變更也會建立所選的資料庫,並建立或儲存所選的憑證;Let’s Encrypt 憑證則在套用後才申請。確認操作之前,請先閱讀它的詳細說明。

「Preview of changes」卡片:變更的檔案,以及每個檔案變更的行。

套用變更前,先檢視檔案與設定檢查結果。

面板細節。放大圖片可查看完整畫面。

按下「Apply changes」後的「Sites」頁面:含快照名稱的通知,以及已重新載入的服務。

「套用變更」之後:快照名稱,以及已啟動與重新載入的服務。

面板細節。放大圖片可查看完整畫面。

給您的應用程式專屬位址

不必記住每項服務各自的連接埠,為選定的服務指定您網域下的名稱即可。反向代理網站會把流量轉送到在 NAS 上或區域網路中其他位置執行的應用程式。也支援 WebSocket 連線。

對於可辨識的應用程式,WebPortico 可以填入服務位址、WebSocket 設定,以及該應用程式需要的標頭與逾時時間。可用的範本包括 Rtorrent 16、Jellyfin、Plex Media Server、qBittorrent 與 *arr 系列應用程式。清單取決於已安裝的套件,以及 WebPortico 支援的應用程式。

有些應用程式還需要變更自己的公開網址或反向代理設定。WebPortico 會指出這些步驟,但不會自動變更每個應用程式的內部設定。

反向代理網站的「Hosting」分頁,「App on this NAS」清單已展開,代理目標已填入。

示範 NAS 上的「此 NAS 上的應用程式」清單:只列出已安裝在該處且受支援的應用程式。

面板細節。放大圖片可查看完整畫面。

網域名稱與 HTTPS 不能取代驗證或存取控制。公開服務之前,請先檢查它的安全性。請將 QTS 與 WebPortico 管理面板留在受信任的網路中,或透過妥善保護的遠端存取提供使用。

讓 WebPortico 成為 NAS 的主要網頁伺服器

WebPortico 可以使用自己的連接埠,或在標準連接埠 80 與 443 上提供網站。管理面板獨立運作,預設位址是 https://<NAS>:9541/。

此應用程式支援以受控方式接管特定 QTS 服務所使用的連接埠。開始之前,請先檢視變更計畫。確認後,WebPortico 會將占用連接埠 80 與 443 的 QTS 服務(QTS 網頁伺服器與 QTS 管理介面)移到其他連接埠,檢查每個階段,並讓支援的 QTS 網站在 WebPortico 的前端伺服器後方提供服務。結果會顯示新的管理位址與已執行的動作。您可以在面板中復原接管。

「Take over ports 80 and 443」卡片:變更前後的連接埠與新的 QTS 管理位址。

連接埠接管計畫會顯示 WebPortico 與 QTS 服務中將變更的內容。

面板細節。放大圖片可查看完整畫面。

接管的結果列:QTS 網頁伺服器與 QTS 管理介面已移動、一個 QTS 網站已匯入、WebPortico 使用 80 與 443,以及「Done」。

在示範 NAS 上接管的結果:每個步驟的檢查與新的管理位址。

面板細節。放大圖片可查看完整畫面。

這不是適用於每個應用程式或資料庫的遷移工具。接管只會移動 QTS 本身的伺服器;占用連接埠的其他程式不會被移動。操作之前請先檢視計畫,完成後再檢查 QTS 存取、網站可用性與路由器規則。

繼續使用現有的 Web 資料夾

預設網站可以提供現有的 QTS Web 資料夾。送往 NAS 位址或未指派給其他網站之名稱的請求,可以導向該資料夾的內容。此網站由 Apache 處理,包括 PHP 與支援的 .htaccess 規則。

這讓您可以繼續使用現有的檔案;但不保證每個應用程式都能不經修改就運作。權限、PHP 需求與應用程式本身的設定仍然重要。

讓您的網站持續運作

快取與壓縮

nginx 可以用 Brotli、zstd 或 gzip 壓縮文字回應。對於 nginx 網站,「快取」分頁可以啟用 PHP 頁面快取,並設定瀏覽器保留靜態檔案的時間。PHP 網站也能透過本機通訊端使用自己的 Valkey 與 memcached 執行個體。

請依應用程式設定快取。登入後的頁面、購物車與使用者專屬資料需要適當的排除設定。快取不是永久的資料儲存,也不能取代資料庫。

網站的「Cache」分頁:Valkey、memcached、APCu 與 OPcache 的使用量、Valkey 與 memcached 通訊端,以及壓縮。

為所選網站設定的頁面快取與本機快取。

面板細節。放大圖片可查看完整畫面。

排程工作

排程工作依時間表執行。每個網站都有自己的排程工作:PHP 檔案、shell 指令,或對網站其中一個位址發出的請求。每項工作都以網站的系統帳號執行,PHP 則使用該網站的 PHP 版本與設定。面板會顯示排程、上次的結果與上次執行的輸出。

網站的「Scheduled tasks」分頁,顯示一項示範工作、它的排程與接下來的執行時間。

工作排程與執行結果都可直接在網站設定中查看。

面板細節。放大圖片可查看完整畫面。

同一項工作執行後:「Done」、結束狀態 0 與輸出。

無害示範指令碼最近一次執行的結果與輸出。

面板細節。放大圖片可查看完整畫面。

記錄與疑難排解

「記錄」分頁會顯示與網站相關的事件。在「服務」頁面中,您可以檢查伺服器元件的狀態。發生問題時,請先查看應用程式、PHP 或網頁伺服器的記錄,不要隨意變更設定。

自訂 PHP 擴充功能

除了套件隨附的擴充功能,您也可以為選定的網站建置自訂 PECL 擴充功能。這需要 Bucket & Code Server IDE 與準備好的建置環境。擴充功能必須針對該網站使用的 PHP 版本編譯。它不會自動在其他網站啟用。

沒有公用 IP 位址也能代管

如果您的網路服務供應商使用 CGNAT,或您無法在路由器上轉送連接埠,可以透過 Cloudflare Tunnel 發布選定的網站。設定完成後,由 NAS 主動向 Cloudflare 建立連線,送往選定網站的流量會經過通道。

此方式需要 Cloudflare 帳戶,以及透過 Cloudflare DNS 管理的網域。不需要在路由器上設定傳入連接埠轉送。

不過,流量仍會經過外部服務商。發布之前,請檢查其限制與條款,特別是大型檔案、長時間執行的請求與媒體串流。

「Front server and ports」頁面的「Cloudflare」卡片,包含空白的 API 權杖欄位與方案限制。

選用的通道讓您不必在路由器上轉送連接埠就能發布網站。

面板細節。放大圖片可查看完整畫面。

可直接安裝的套件與建置專案

從 QNAP Utilities 儲存庫將 WebPortico 安裝為 QPKG 應用程式。使用代管功能時,您不需要編譯網頁伺服器,也不需要安裝開發環境。

如果您想查看套件的建置方式,可以在 Bucket & Code Server IDE 中取得 web-server 專案。它包含面板程式碼、指令碼、建置配方、測試與封裝設定。各元件可能採用不同的授權,因此修改或重新散布任何元件之前,請先檢查該元件的條款。

「Files」分頁,顯示網站資料夾、磁碟用量、編輯器連結與「Fix permissions」。

網站目錄與 Bucket & Code Server IDE 編輯器的連結。

面板細節。放大圖片可查看完整畫面。

探索 Bucket & Code Server IDE → 瀏覽 WebPortico 專案 →

Bucket & Code Server IDE · 範例專案

以您選擇的版本,自行建置 WebPortico

WebPortico 是 Bucket & Code Server IDE 的 QPKG 範例專案之一。使用此範例後,套件的整個建置過程就成為 NAS 上您自己的專案:產生各伺服器的配方清單、面板的 Go 原始碼、測試與打包指令碼。您可以隨時建置新套件,您的各台 NAS 再從 Bucket & Code 執行的 App Center 儲存庫安裝它。

  1. 使用範例

    在範例頁面,於「附 vhost 面板的網頁伺服器組合」按下使用此範例,即會為編輯器建立專案 web-server。建置需要 Debian 12 builder 環境與 Go 1.27 執行階段,make qpkg 需要 QDK。

  2. 選擇版本

    程式庫的每個配方都固定一個版本。Bucket & Code 每天從其已簽章的配方目錄取得較新的配方,目錄帶來較新的 PHP 或 nginx 版本時,下一次建置就會使用它。若要自訂版本,請在專案的 recipes/ 資料夾放入同名配方:此專案的應用程式會改為建置它,而不是程式庫的配方。若要換成另一個 PHP 版本,請複製程式庫的配方,將 version, source 與 check 改為該版本,再重新建置;WebPortico 的面板只能在套件內含的 PHP 分支之間切換。

    您的第一個自訂配方 → 用自己的配方製作自訂應用程式 →

  3. 建置並發佈

    在編輯器的終端機中,make app build activate 建置各伺服器,make qpkg 將 WebPortico 打包。專案頁面上的發佈會把套件放入此 NAS 的 App Center 儲存庫。由管理員發佈時,該版本會立即列出,已加入此儲存庫位址的每台 NAS,其 App Center 都會將它顯示為更新。

    您自己的 App Center →

make app build activate
make qpkg

儲存庫預設只接受已簽章的套件,而 make qpkg 只會使用您提供的程式碼簽章檔案為 WebPortico 簽章。

Bucket & Code Server IDE →

架設您的第一個網站

1. 新增儲存庫

在 QTS 或 QuTS hero 中,開啟 App Center → ⚙ 設定 → 應用程式儲存庫 → 新增。名稱輸入 QNAP Utilities,並使用此位址:

https://www.qnaputilities.com/repo.xml

2. 安裝 WebPortico

選取 QNAP Utilities 儲存庫與 WebPortico 套件。安裝後,按一下開啟即可進入面板。

3. 設定密碼並選擇執行方式

第一次啟動時,請從 NAS 區域網路上的電腦設定您自己的管理員密碼,至少 10 個字元。此表單在面板啟動後 60 分鐘內可用。如果時間已過,請在 App Center 中重新啟動 WebPortico。

接著,決定代管服務要留在獨立的連接埠,還是接管標準網頁連接埠。全新安裝時會詢問一次,之後仍可在前端伺服器與連接埠頁面選擇。面板的導覽會帶您前往相關設定,但不會替您執行操作。

導覽的「Your first site」步驟,「Add site」按鈕由應用程式以外框標示。

導覽會指出接下來的設定。決定與確認仍由管理員負責。

面板細節。放大圖片可查看完整畫面。

4. 新增網站

輸入名稱,選擇靜態檔案、PHP 或反向代理,並準備其餘設定。檢視計畫,套用設定,若是靜態或 PHP 網站,再將應用程式檔案放進網站目錄。公開網域還需要正確的 DNS、可用的存取方式與憑證。

面板會引導您完成設定,並列出剩餘的工作。網域註冊商、路由器與外部服務上的變更,必須依照您自己的網路設定進行。

需求

NAS
採用 Intel 或 AMD 處理器的 QNAP,x86_64 架構
作業系統
QTS 6.0 或 QuTS hero 6.0 或更新版本,以套件建置的需求為準
安裝
App Center 中 QNAP Utilities 儲存庫的 QPKG 套件
管理面板
預設位址:https://<NAS>:9541/
網站連接埠
預設為 9542/HTTP 與 9543/HTTPS;支援在 80 與 443 上運作
本機存取
網站可以僅在區域網路中提供
公開存取
DNS 與對網頁伺服器的存取,或已設定的 Cloudflare Tunnel
QuTS hero 資料夾
共用資料夾上的進階資料夾權限可能讓網站無法進入該資料夾;此時面板會停止套用,並提供另一個共用資料夾或 WebPortico 的資料存放資料夾供選擇
應用程式費用
WebPortico 免費。網域註冊與外部服務可能有各自的費用與條款

元件版本、授權與安裝套件請見 App Center 目錄。

WebPortico 與 Plesk、cPanel 等的比較

此比較涵蓋可自架並用於管理網站的面板。若廠商的文件未說明如何直接安裝在 QNAP 上,比較時會採用虛擬機的情境。這與 QPKG 安裝並不相同:VM 有自己的作業系統與 IP 位址,與 QTS 服務的整合也有限。文件中沒有說明,並不能證明某項功能不存在。

  • 否
  • 廠商文件中沒有
  • 是
  • 是,對在 NAS 上架站有用
  • 是,對在 NAS 上架站非常有用
  • WebPortico 具備而其他產品文件未提及;一到三顆星,有用程度同打勾
QNAP NAS 上的 WebPortico 與六款自架主機管理面板(截至 2026-11-08)
項目WebPortico本站套件Plesk ObsidiancPanel & WHMDirectAdminHestiaCPCloudPanelVirtualmin
可在 QNAP NAS 上執行是,非常有用. 從 App Center 安裝的套件,適用 Intel 與 AMD 機型是. 僅能在虛擬機中執行;廠商的 Docker 映像僅供評估是. 僅能在虛擬機中執行,需固定 IP;不支援 ARM是. 僅能在虛擬機中執行,需全新安裝的系統是. 僅能在虛擬機中執行,需全新安裝的系統是. 僅能在虛擬機中執行是. 僅能在虛擬機中執行,需全新安裝的系統
與 QTS 的 Web Server 並存(連接埠 80/443)是,有用. 是。在自己的連接埠上與 QTS 網頁伺服器並存。一鍵接手連接埠 80 與 443,也能一鍵交還是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作是. 在擁有自己位址的虛擬機中;不與 QTS 的網站協作
自有 DNS 伺服器是,非常有用. 是,透過 TurboDNS:您的區域、家用網路的名稱、複製到 Cloudflare 或 OVHcloud、DNSSEC是,非常有用. 是:BIND,可同步到 Cloudflare 與 Route 53;DNSSEC 為擴充功能,Web Admin 版需付費是,有用. 是:BIND 或 PowerDNS;DNSSEC 需 PowerDNS是,有用. 是:支援 DNSSEC 的 BIND是,有用. 是:支援叢集與 DNSSEC 的 BIND廠商文件中沒有. 文件中沒有 DNS 伺服器是. Pro 版提供雲端 DNS(Cloudflare、Google、Route 53);BIND 與 DNSSEC 僅見於論壇
無公用 IP 也能架站是,非常有用;其他產品文件中沒有. 是。內建的 Cloudflare Tunnel 可發布您選擇的網站;需要 Cloudflare 帳號與區域廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有
反向代理至區域網路服務是,非常有用. 是。選擇 NAS 上的應用程式或網路中的任何位址;WebSocket 只需一個開關是. 僅限同一伺服器上的 Docker 容器是. 僅能手動撰寫設定檔廠商文件中沒有. 文件中沒有是. 透過自訂 nginx 範本是,有用. 是:網站類型「Reverse Proxy」是,有用. 是:代理路徑至其他網頁伺服器
郵件與 Exchange ActiveSync是,非常有用. 是,透過 MailServerPro:郵件、網頁郵件、行事曆、聯絡人與 ActiveSync(Z-Push)是,有用. 是:Postfix 或 qmail、Dovecot、Roundcube;ActiveSync 僅限付費的 Kolab 擴充功能是,有用. 是:Exim、Dovecot、Roundcube、行事曆與聯絡人;ActiveSync 外掛自 v118 起已棄用是. 網頁郵件(Roundcube);ActiveSync 文件中沒有是,有用. 是:Exim、Dovecot、Roundcube;ActiveSync 文件中沒有否. 否:沒有郵件伺服器是,有用. 是:Postfix、Usermin、Roundcube;Pro 版提供 Z-Push 安裝程式
資料庫是,非常有用. 是:MariaDB 與 PostgreSQL,每個網站各有資料庫與使用者是,非常有用. 是:MySQL、MariaDB 與 PostgreSQL是,有用. 是:MySQL 或 MariaDB;PostgreSQL 需手動安裝是,有用. 是:MySQL 或 MariaDB是,非常有用. 是:MariaDB 或 MySQL,以及 PostgreSQL是,有用. 是:MySQL 或 MariaDB是,非常有用. 是:MySQL、MariaDB 與 PostgreSQL
Percona Server是,有用;其他產品文件中沒有. 是:在同一台 NAS 上與 MariaDB 並存的 Percona Server 8.4(x86_64)否. 不提供:MySQL 或 MariaDB否. 不提供:MySQL 或 MariaDB否. 不提供:MySQL 或 MariaDB否. 不提供:MariaDB 或 MySQL 8是. 選擇 MySQL 時安裝程式會裝入 Percona Server;僅一種引擎,無法與 MariaDB 並存(安裝指令碼)否. 不提供:MySQL、MariaDB 或 PostgreSQL
Valkey(Redis)與 memcached是,非常有用. 是:每個 PHP 網站有自己的 Valkey 與 memcached,只有該網站可用是. Redis 以 Docker 容器執行;memcached 需手動,不在 Plesk 支援範圍是,有用. 每位 cPanel 使用者以容器執行 Redis、Valkey 與 memcached;使用者需有 shell 存取權是,有用. 啟用的帳號各有 Redis;memcached 文件中沒有廠商文件中沒有. 僅有 PHP 用戶端模組;文件中沒有該服務是. 伺服器上有 Redis;每站專用與 memcached 文件中沒有是. Pro 版以每個虛擬伺服器的 Podman 配方提供 Redis 或 Valkey
PHP 版本是,有用. 是:8.1 至 8.5,每個網站以自己的帳號執行自己的 PHP-FPM;8.1 自 2025-12-31 起不再有安全性修正,面板標示為 end of life是,有用. 5.2 至 8.5,依網域設定;8.2 之前的分支沒有安全性修正,用於公開網站有風險是,有用. 7.4 與 8.1 至 8.5,依網域設定;7.4 與 8.1 沒有安全性修正是,有用. 最多 9 個版本,依網域設定是,有用. 5.6 至 8.5;8.2 之前的分支沒有安全性修正,用於公開網站有風險是,有用. 最高 8.5,依網站設定是. PHP 7 與 8;8.5 自 7.50.1 起
PHP 圖片處理(ImageMagick、GD)是,非常有用. 是:每個 PHP 版本都有 imagick(ImageMagick 7)與 GD是,非常有用. 是:Plesk 的 PHP 內含 gd 與 imagick是,有用. GD 為預設;imagick 需安裝 ImageMagick 與其 PECL 模組是. imagick 列於 CustomBuild 清單;GD 文件中沒有是,有用. 其安裝指令碼會為每個 PHP 版本加入 gd 與 imagick(專案程式碼)廠商文件中沒有. 文件中沒有是. PHP 安裝指令中有 GD;imagick 文件中沒有
PHP 快取(OPcache、APCu)是,非常有用. 是:每個 PHP 網站有自己的 OPcache 與 APCu,可在 PHP 分頁設定是,有用. OPcache 可依網域開關;APCu 文件中沒有是. OPcache 需手動設定;APCu 文件中沒有是. OPcache;APCu 僅能手動編譯是,有用. 其安裝指令碼會啟用 OPcache 並加入 APCu(專案程式碼)廠商文件中沒有. 文件中沒有是. PHP 安裝指令中有 OPcache;APCu 文件中沒有
自訂 PECL 擴充是,有用;其他產品文件中沒有. 是:在網站的 PHP 分頁建置,只由該網站載入;需要 Bucket & Code Server IDE是. 整台伺服器適用,從命令列安裝是. 整台伺服器適用,從 WHM 安裝(限 root)是. 整台伺服器適用,需為每個 PHP 版本編譯廠商文件中沒有. 文件中沒有是. 整台伺服器適用,需手動建置廠商文件中沒有. 文件中沒有
排程工作(cron)是,非常有用. 是:預設選項或 cron 的五個欄位,輸入時即檢查並顯示接下來的執行時間;每項工作以網站帳號執行是,有用. 依主機代管訂閱提供;可先試跑是,有用. 是,依帳號設定,有常用間隔是. 是,依使用者設定(其 crontab)是,有用. 是,附產生器;程式碼會檢查欄位(專案程式碼)是,有用. 是,依網站設定,從範本建立是. 是,透過 Webmin 的排程 cron 工作
在面板中檢視記錄是,有用. 是:每個網站的記錄分頁,以及服務頁面上的伺服器記錄是,非常有用. 是:可即時更新的記錄瀏覽器是. 最近 300 行錯誤;存取記錄需下載廠商文件中沒有. 文件中沒有檢視器是. 可檢視或下載存取與錯誤記錄是,有用. 是:適用 NGINX 與 PHP-FPM 的 Log Viewer是,有用. 是:Logs and Reports 下的存取與錯誤記錄
憑證是,非常有用. 是:透過 HTTP 或 DNS(TurboDNS 或 Cloudflare)取得 Let’s Encrypt,自動續期是,有用. 是:Let’s Encrypt(SSL It!),到期前 30 天續期;萬用字元憑證需由 Plesk 代管 DNS是,有用. 是:Let’s Encrypt(AutoSSL);DNS 由他處代管時無萬用字元憑證是,非常有用. 是:Let’s Encrypt,透過 LEGO 進行 DNS 驗證(Cloudflare 等)是,有用. 支援萬用字元的 Let’s Encrypt;需 Hestia 自己的 DNS,僅見於論壇是. Let’s Encrypt;文件中沒有 DNS 驗證是. Let’s Encrypt;僅在代管區域時可用 DNS 驗證,僅見於論壇
Brotli 與 zstd 壓縮是,非常有用. 是:除 gzip 外還有 Brotli 與 zstd,無需設定是,非常有用. Brotli 預設啟用(nginx);zstd 文件中沒有是,有用. Brotli 為需安裝的 Apache 或 nginx 模組是. Brotli 僅能自訂編譯廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有
HTTP/3(QUIC)是,有用. 是:「前端伺服器與連接埠」頁面上的一個開關是. 實驗功能,需從命令列啟用;依網站設定廠商文件中沒有. 文件中沒有(僅 HTTP/2)是. 搭配 OpenLiteSpeed 或商業版 LiteSpeed廠商文件中沒有. 文件中沒有是,有用. 是:依網站在 vhost 中設定,預設關閉廠商文件中沒有. 文件中沒有
套用前預覽是,非常有用;其他產品文件中沒有. 是。每次變更網頁伺服器都會先顯示檔案差異並通過伺服器自身的檢查;可用快照還原廠商文件中沒有. 文件中沒有是. 僅有要變更的套件清單(EasyApache 4)廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有廠商文件中沒有. 文件中沒有
授權與價格(單台伺服器)是,非常有用. 免費是. 付費:Web Admin(VPS)每月 15.57 美元,10 個網域;授權結束後網站仍運作,面板會被鎖定是. 付費:Solo 每月 29.99 美元,1 個帳號是. 付費:Personal PLUS 每月 5 美元,2 個帳號,20 個網域是,非常有用. 免費且開放原始碼(GPLv3)是,有用. 免費,採封閉授權是,非常有用. 免費的 GPL 版;Pro 版每月 7.50 美元起,10 個網域
從原始碼重新建置是,有用. 是,在 Bucket & Code Server IDE 中依原始碼配方建置;面板本身的程式碼為免費軟體,非開放原始碼廠商文件中沒有. 文件中沒有從原始碼建置的說明廠商文件中沒有. 文件中沒有從原始碼建置的說明是. 其 CustomBuild 會編譯程式;面板本身為封閉是,有用. 是:面板原始碼採 GPLv3否. 否:授權禁止修改是,有用. 是:GPL 版原始碼(GPL-3.0)
  • 本表中沒有任何廠商說明在 QNAP 上的安裝。「在 VM 中」指在 Intel 或 AMD 的 QNAP NAS 上,以 Virtualization Station 虛擬機執行該面板支援的 Linux 系統。虛擬機有自己的 IP 位址,因此不會與 QTS 爭用連接埠 80 與 443,也無法存取 QTS 的 Web 資料夾、憑證或網頁伺服器。
  • TurboDNS 與 MailServerPro 是同一儲存庫中各自獨立的免費套件。WebPortico 會在同一台 NAS 上與它們協作。
  • 變更預覽涵蓋網頁伺服器的設定。建立或刪除資料庫,以及排程工作,會立即生效。
  • 表中價格以美元計,為 2026-11-08 廠商頁面所示、單台伺服器最便宜的方案。Plesk:VPS 授權;頁面未列出專用伺服器的價格。cPanel:月費(年繳時每月 27.46 美元),未含增值稅;自 2026-12-16 起調整價格。其他頁面未說明是否含稅。
  • 「文件未說明」:2026-11-08 我們在廠商文件中找不到相關說明,不代表面板做不到。「僅見於論壇」:文件沒有說明,只有社群論壇的貼文提到。

常見問題

  1. 我一定要安裝 TurboDNS 嗎?

    不用。DNS 可以留在您的註冊商或其他服務商。TurboDNS 是選用的整合,用於在 NAS 上準備區域與記錄。

  2. WebPortico 能一鍵安裝 WordPress 和其他應用程式嗎?

    WebPortico 會準備網站的環境:伺服器、PHP、選用的資料庫與網域設定。應用程式的檔案請自行提供,並依其需求另外安裝。指南中有實際範例。

  3. 我必須將 NAS 暴露在網際網路上嗎?

    不必。您可以完全在 LAN 內使用網站與應用程式。發布特定網站是另一項決定,不需要公開 NAS 管理面板。

  4. 建立網站後就會立刻有可運作的網站嗎?

    不會。必須先套用設定,靜態或 PHP 網站也需要正確的應用程式檔案。從網際網路存取還取決於可運作的 DNS 與所選的發布方式。

  5. 我需要備份嗎?

    需要。請分別備份網站檔案、資料庫與設定。套用計畫時建立的伺服器設定檔快照有助於復原設定變更,但不能取代應用程式資料的備份。

  6. QNAP 上的 WebPortico 是否不受 PHP2Shell 影響?

    是的,在 PHP 8.2 至 8.5 上不受影響。PHP2Shell 是 PHP 的兩個漏洞 CVE-2026-109618 與 CVE-2026-109619。WebPortico 內含 PHP 8.2.35、8.3.36、8.4.27 與 8.5.12,都是包含 php.net 修正的版本,且每個 PHP 網站都以 PHP-FPM 執行,不使用 php-cgi 或 mod_php。PHP 8.1.34 沒有修正,因為 php.net 已於 2025-12-31 結束其支援:請將使用 PHP 8.1 的網站移到較新的分支。你也可以隨時免費使用 Bucket & Code Server IDE 中的配方 nginx、httpd 以及 php81 至 php85,從最新原始碼自行建置 Web 伺服器。

安裝 WebPortico,發布您的第一個網站

從簡單的網站、文件,或是您家中或團隊使用的應用程式開始。之後在同一個面板中新增更多專案,每個專案都有自己的設定。

文件與來源

截圖來自測試 NAS 上的原始 WebPortico 面板,使用示範資料。NAS 本身的位址已替換為文件用位址。

每個儲存格的來源與查閱日期,整理在純文字檔 comparison-sources.txt 中。

Plesk 是 WebPros International GmbH 的註冊商標或商標。cPanel、WebHost Manager 與 WHM 是 WebPros International L.L.C. 的註冊商標。QNAP 是 QNAP Systems, Inc. 的商標。DirectAdmin、HestiaCP、CloudPanel 與 Virtualmin 為其所有者的產品名稱。名稱僅用於指出產品;其所有者均未認可此比較。