Synology NAS 架設 WordPress 系列教學 – 00.導讀

前言

自從 2021 年起公司有低成本的架站需求,到 2023 年我老媽的 Xuite 網誌終止營運,陸續架了不少網站在 Synology 的 NAS 上。但每次架站幾乎都採過不同的坑,無論是 Synology 從 DSM 6.2 到 DSM 7.0 、 7.2 每個版本都有些許變化。

Synology NAS 手動架站相關的中文資源實在是不多,偏門的問題幾乎都只能去 Synology 的海外論壇 打聽。故打算寫一篇系列文來一步步說明每個步驟該怎麼操作,一方面希望同樣在 NAS 有架站需求的人能少走點彎路,一方面避免日後有步驟忘記時,書籤上的連結已經失效求助無門的窘境。

Synology NAS 架設 WordPress 系列文章節

前置準備的部分較為漫長,對於不熟悉網路架構的人可能會不了解做這些步驟的目的為何,以及每一道步驟會影響些什麼,故這邊有做一張精簡版的流程圖,圖解當你連線到一個架設再 Synology NAS 上的網站時,依序發生了什麼 (例如本網站就是以 Synology NAS 搭建的),最終才呈現出你看到的網頁畫面。 (點擊圖片可放大)

為求初學者方便理解,此流程有做過一定程度的精簡

而本系列文的 01 ~ 05 前置作業篇、06 ~ 10 初期安裝篇對應的範圍如下:

常見問題

為什麼我不用 Synology 的 WordPress 套件架設

Synology 的 WordPress 套件對於完全零經驗的人來說還是相對友好的,安裝過程極度簡單,但也就是因為這簡單導致他無法做太多的客製化設定,具體來說會有以下的限制:

  • 更新頻率緩慢:
    一般來說一年更新次數約 1~2 次,即使更新了版本通常也落後最新版不少。(Synology更新日誌)
  • WordPress 的資料夾只能透過終端機存取:
    假如有購買 Envato 或其他付費的套版,多半是要直接解壓縮到資料夾內,內建 WordPress 套件資料夾只能用 Terminal 存取,相當不便。即使不安裝套件,想要編輯 wp-config.php 等檔案也很不方便。
  • 非容器化的情況下只能架設一個網站:
    過去內建的 WordPress 套件是無法一台主機內架設多個網站的,必須透過 Docker (DSM 7.2 後改為 Container Manager) 的方式才可以一機多站,但容器化後要存取 WordPress 的資料夾個人覺得頗麻煩。
  • 強制使用 Apache 作為網頁伺服器:
    Nginx 作為網頁伺服器有更好的效能、響應速度、穩定性,但內建的 WordPress 無法使用。

基於上述幾點我是不太推薦使用 Synology 提供的 WordPress 套件,不過如果這些你都覺得沒差,那內建的 WordPress 套件依然是不錯的選擇。

相較於租用虛擬主機,使用 NAS 架站的優缺點為何

優點:一機多用CP值高

使用 NAS 架站最主要優點就是便宜、多用途,因為 NAS除了可以架站以外,平時主要任務還是備份資料、影音等、錄 IPCAM、掛BT等,只要效能不太差的 NAS 一機就能取代架站主機、Google雲端、監控等服務。但如果你的 NAS 屬於入門機種(使用Arm架構的CPU),那就不推薦使用 NAS 架站了,別為了省錢跟順暢度過意不去。如果以 Synology 的產品系列來說,至少需要買到 Plus 等級以上的機種,Value 與 J 系列的機種多半都是 Arm 架構處理器,效能 & 相容性都不如 x86 的機種。

比較項目NAS 架站共享主機
A2 Share Hosting
VPS主機
CloudWay
費用一次性月租,起跳價約 NT$90/月月租,起跳價約 NT$300/月
硬體效能較佳
以Synology來說
買到 Plus 系列都不錯
較差
多個站點共享效能
響應時間久
尚可
獨立單核 CPU 資源
RAM買斷,自行擴充起跳 1 GB
2 GB 月租費約 NT$190/月
起跳 1 GB
2 GB 月租費約 NT$900/月
儲存空間買斷,自行擴充起跳 100 GB
無限容量月租約 NT$190/月
起跳 25 GB
50 GB 月租費約 NT$900/月
網路速率視自家ISP合約而定未標示1 TB
資料備援需自行搞定伺服器業者處裡伺服器業者處裡
比較好的 VPS 主機即使上到US$28/月,也只提供 1 Core CPU + 2GB Ram

以我自己的建置成本來說:

  • NT$19,700:DS923 & 不斷電650VA
  • NT$7,500:4T 硬碟 (Raid1)
  • NT$1,500:500G Pcie SSD 快取 (Raid1)
  • NT$1,900:加一條 16GB RAM

總價大約是 3 萬出頭,假如以 5 年攤提,等於每月成本只有 NT$510,但是他以更好的效能取代了以下服務:

  • Google 雲端 5TB:年費 NT$8,250,換算月費要 NT$687
    (註.Google 雲端 30 天內的版本記錄不會計算空間,但是 Synology NAS 快照會消耗儲存空間)
  • VPS虛擬主機:月費 NT$900

光取代這兩項用途合計每月就省了 NT$1000 左右,而且隨著 NAS 容量需求越大,節省的費用差距會更加顯著,若 Google 雲端要升級 10GB 空間需要月繳 NT$1650,而自行搭建的NAS只須一次付清硬碟的費用即可。

缺點:家中網路頻寬要足夠、資料備援需自己操心

從價格層面去看似乎一切都很美好,但用 NAS 有以下幾個無法忽視的問題需要去解決:

  • 沒有運作時間保障:
    像Google、雲端主機她們都會有保障你的資料一定會完好無缺,且一整年中 99.9% 的時間伺服器都會正常運作。但自己架NAS就要考慮停電、修馬路挖斷網線、硬碟掛掉等問題,一旦出問題你的網站就是直接離線。
  • 資料備援要自己想辦法:
    很多人買 NAS 都以為有做硬碟陣列 (Raid) 就是有做備份了,這觀念其實不對,試想萬一地震把你家的 NAS 震到地上,整台硬碟一起壞掉就算你有做 Raid 也愛莫能助,而資料救援的費用都是好幾萬在開價的。
    所以一般來說有個口訣是備份 321,同一份資料至少保存 3 份,其中 2 份需要存放在不同裝置,其中 1 份要保存在異地或雲端。如果要落實這原則,NAS 的搭建成本不見得會比跟雲端業者租用便宜多少。以我自己來說目前也只做到存放 2 份,1 份定期存在冷硬碟裡。要等到現在這台 NAS 退役後才能做到 1 份異地備份。
  • 訪客網頁載入取決於你的網路方案:
    大部分的電信方案都是不對稱頻寬,例如我們常說的中華電信光世代 100M,大多數時候是指 100/40M 這方案,100 代表下載速率有 100Mbps;40代表上傳速率僅 40Mbps。
    (每 8 Mbps 等於 1MB/s)
    今天如果有多個訪客要從外網訪問你的網站時,他們同一時間最大的連線速度就是 5MB/s,變相導致每個人讀取速度緩慢。
    所以如果要考慮 NAS 架站,會建議網路至少要申請 300/300M 的方案,不然你的 NAS 在做其他例行傳輸時 (例如: Synology Photo 備份相片、影片) ,訪客瀏覽你的網站會卡的半死。
中華電信的速率價格表,100M以下都屬於不對稱頻寬,上傳速率都不到下載速率的一半

架設 WordPress 需要花費多少錢

WordPress 本身是免費的,主要的花費除了上一段落提到的主機建置費用外,還有來自於佈景主題、外掛插件的月租費。不過這部份並非一定要付費,大多數付費插件也有提供閹割部分功能的免費版,如果只是要寫寫文章大多數的免費版外掛足以勝任。所以主要的費用開銷還是在上一段提到的主機租用或購入硬體的成本上。

這邊簡單列舉下我所安裝的插件以及其付費版的價格:

插件名稱付費功能.收費方式主要差異我使用
的版本
JetpackSecurity 套餐:NT$6,779/年

Complete 套餐:NT$16,955/年
雲端備份
垃圾留言防護
資安掃描

快取加速
影片 CDN 加速
客戶管理
搜尋加速
免費
Easy Table
of Contents
US$49/年支援 AMP
Elementor 小工具
免費
Code SnippetsUS$39/年可編輯 CSS
可編輯 JS
自訂應用範圍
免費
FooBox
Lightbox
US$30/年更多客製化選項免費
AstraPro 版:US$59/年
Essential 版:US$169/年
固定頁首
更多客製化選項
Pro 版

其實絕大部分的插件,免費版就已經很好用了,初期階段不太需要花錢去購買升級版,建議是養成定期寫網誌的習慣後,再依照自己的需求去購買插件,部分插件也有提供終生授權。

不過如果你架站的目的是為了銷售、變現,WooCommerce 相關的外掛收費都是不手軟的,很多核心功能都是強迫你付費,甚至是免費版只提供 14 天預覽而已。

所以回到架設需要多少錢這檔事上,我自己在硬體開銷的部分花了約 NT$30,600 (若攤提 5 年,每年NT$6,120),而外掛的部分目前只有年繳 US$59 (1:32 換算台幣約 NT$1,900)。所以合計每年費用約 NT$8,000 左右。

用 NAS 架設 WordPress 安全嗎

安全這件事可以分成三個層面來說:

  • 資料存儲的部分:
    如果有遵循上一個段落提到的備份 321 原則,那至少可以確保你的資料不至於因為單一事件就消失殆盡。關於如何做好資料備援這一點,日後會在寫文章提一下。
  • 資安的部分:
    當你使用 NAS 架站相當於把 NAS、路由器曝露在外網上,如果 NAS 後台、路由器的 Port 有開放的話,難免會遇到一些網路爬蟲嘗試暴力破解你的帳號密碼。故會建議將 NAS、Wordpress 的帳號都開啟兩步驟驗證,並且將版本盡量維持在最新版以保護帳號安全。
    路由器得部分如果是一般家用機種,大多都沒有兩步驟驗證功能,防火牆的功能也都只是防個寂寞的,故建議將路由器的外網管理功能關閉,避免路由器遭劫持。
自從設定 5001 埠可以轉送至 NAS 後,不定時會遇到有機器人試圖登入你的 NAS
  • IP 位置曝露的問題:
    網址透過 DNS 伺服器解析後就會得出你的 IP 位置,有心人如果知道網站伺服器的 IP 位置,即使你的網址未來變更了,對方依然可以用 IP 的方式嘗試連線並試圖攻擊你的路由器,常見手法像是命令注入攻擊手法嘗試奪取你的路由器或 NAS 的操控權、DDNS使你的網站超載無法使用等,而這些問題其實可以透過 Cloudflare 來做一個基本的保護,當你的 DNS 交給 Cloudflare 託管後就可以隱藏你的固定 IP 位置,由 Cloudflare 自動過濾可疑的流量,並且只讓特定通訊埠連線

本系列文撰寫時,使用的硬體、軟體、套件版本為何

  • Synology NAS :
    • 硬體:
      • 型 號:DS923+
      • 記憶體:原廠 DDR4-2666 4G x1、金士頓 DDR4-2666 16G x1 (兩條均有ECC)
      • 硬 碟:Seagate Iron 4TB x 2
      • 固態碟:Kioxia G2 Pcie Gen3 500G x2
    • 軟體、Synology套件:
      • 系統:DSM 7.2.1-69057 Update 1
      • MariaDB:10.11.2-1303
      • Web Station:4.2.2-0498
      • PHP:8.2.5-0102
      • phpMyAdmin:5.2.1-1085
  • WordPress:
    • 版本:6.3.2
    • 外掛:
      • Astra Pro:4.4.0
      • Category Order and Taxonomy Terms Order:1.7.9
      • Code Block Pro:1.24.1
      • Code Snippets:3.5.0
      • Easy Table of Contents:2.0.57.1 (目前有Bug: srcoll offset)
      • Fixed Widget:6.2.3
      • FooBox Image Lightbox:2.7.27
      • Jetpack:12.7.1
      • Jetpack Boost:2.1.1
      • Performance Lab:2.7.0
      • Site Kit by Google:1.111.1
      • Starter Templates:3.4.4
      • ThumbPress:4.1
      • WP Super Cache:1.10.0
本文結束,放個廣告加減賺
廣告結束

發表迴響

返回頂端