載入程式圖片

利用 WordOps 快速建立 WordPress

前言

在 Google Cloud Platform 或其他的 VPS 上想擁有快速架設網站的方式,
可以選擇 WordOps,其架構是參考 EasyEngine 開發出來的,而且可以快速產生多種 WordPress 架構,
再加上免費開源,所以很推薦使用。

WordOps

功能

  • 簡單安裝:一鍵式自動安裝,支持從 EasyEngine v3 遷移
  • 快速建置:快速自動化建置 WordPress,Nginx,PHP,MySQL 和 Redis
  • 自定義 Nginx 架構:Nginx 1.18.0-TLS v1.3 Cloudflare HTTP / 2 HPACK 和支持 Brotli
  • 最新版本:PHP 7.2、7.3和7.4,MariaDB 10.5 和 Redis 6.0
  • 安全:透過嚴格的 Nginx 位置指令來加強 WordPress 安全性
  • 強大:具備支持多個後端暫存的 Nginx 設定
  • SSL:我們使用 DNS API 加密 SSL 證書來支持主網域,子網域和萬用字元網域
  • 新式的:強大的 ciphers_suite,支持最新的 TLS 協議和 HSTS ( ssllabs 的 A+ 級 )
  • 監控:使用 ngx_vts_module 即時監控 Nginx 虛擬主機流量,以及使用 Netdata 監控伺服器
  • 用戶友好介面:WordOps 儀表板,內建伺服器狀態/監控和工具(展示

環境需求

最低需求

WordOps 非常輕巧,不需要佔用大量資源,可以安裝在 Raspberry PI 等低階設備上。
最低需求:

  • 約 100MB 的儲存空間
  • 512MB 記憶體

但是,如果要在正式環境中使用 WordOps,像是某些服務( 例如 MySQL 或 Redis )可能需要更多資源,而在沒有足夠資源的情況下執行 WordOps stacks 可能會影響網站性能。而您的網站流量也會大幅度決定佔用資源的程度。

推薦用於正式環境的硬體需求:

  • 多核心 CPU
  • 20GB SSD 儲存空間
  • 2GB 記憶體

虛擬化

支持以下虛擬化平台:

  • VMware
  • XEN
  • OpenVZ
  • KVM
  • Hyper-V
  • LXC / LXD

WordOps 還與在 Windows Linux 子系統(WSL)上執行的 Ubuntu 相容。

軟體需求

作業系統

支持以下作業系統:

系統版本架構
Ubuntu20.04 LTS (focal)x86_64
18.04 LTS (bionic)x86_64
16.04 LTS (xenial)x86_64
Debian9 (stretch)x86_64
10 (buster)x86_64
Raspbian9 (stretch)armv7l
10 (buster)armv7l

連接埠

服務連接埠備註
SSH22SSH 預設或自定連接埠
HTTP80Nginx 在連接埠 80 上監聽
HTTPS443Nginx 在連接埠 443 上監聽
WordOps 後端22222WordOps 後端在連接埠 22222 上可用,並受密碼保護
GnuPG1137導入 APT 儲存庫必需的 GPG 密鑰

官方需求說明

安裝

官方提供了一個安裝腳本,可以在設置 WordOps 前安裝所需的依賴項目,可以使用以下指令安裝

wget -qO wo wops.cc && sudo bash wo

安裝腳本執行哪些步驟?

  • 安裝 WordOps 依賴項目
  • 啟用自動安全更新升級
  • 啟用 NTP 世界時間同步
  • 檢測以前的 EasyEngine 或 WordOps 安裝是否存在
  • 將現有網站站點導入 WordOps
  • 安裝 WP-CLI
  • 安裝 Acme.sh
  • 安裝 Wordops

等待一會時間,會出現要求輸入名稱、信箱,輸入完後會顯示帳號密碼相關資訊,記錄下來 WordOps 後端需要用到。

等待安裝完會要求輸入名稱、信箱

官方安裝說明

安裝後的步驟

啟用 bash_completion

要啟用 WordOps 自動完成指令功能,請在安裝 WordOps 後執行以下指令

source /etc/bash_completion.d/wo_auto.rc

為 sudo wo 建立別名

如果希望能夠以非 root 用戶身份直接使用 wo 該指令,則可以新增 bash 別名自動以 sudo 新增在 wo 指令前面。

使用以下指令新增別名

echo -e "alias wo='sudo -E wo'" >> $HOME/.bashrc

然後用

source $HOME/.bashrc

完成建立

安裝 WordOps stacks ( 可選 )

安裝 WordOps 主要 stacks,想選擇性安裝跳過此步驟

wo stack install

以下是輸入上述指令後安裝的 WordOps 套件列表

套件類別描述
NginxAPT packageWordOps web server
PHP 7.4APT packagePHP7.4-FPM
MariaDB 10.5APT package開源版本 MySQL
WP-CLIBinaryThe WordPress command-line tool
ComposerBinaryPHP packages manager
MySQLTunerBinaryCommand-line tool to tune MySQL
Fail2banAPT packageAuthentication bruteforce protection
phpMyAdminWeb AppMySQL server web interface
AdminerWeb Applightweight phpMyAdmin alternative
OpcacheGUIWeb Appweb interface for Opcache monitoring
NetdataBinaryMonitoring suite
AnemometerWeb AppMySQL Slow Query Monitor
WordOps dashboardWeb AppBootstrap template for WordOps backend
eXtplorerWeb AppWeb File manager
cheat.shBinaryCommand-line Linux cheatsheet
SendmailAPT packageSendmail MTA

安裝後步驟官方說明

WordOps stacks 指令用法

管理伺服器 stack 用法

wo stack (command) [options]

可用 command 列表

command描述
install安裝 WordOps stacks
upgrade升級 WordOps stack
migrate升級 MariaDB stack
remove移除套鍵
purge移除並清除套件
reload重新載入 WordOps stack
restart重新執行 WordOps stack
stop暫停 WordOps stack
start開啟 WordOps stack

伺服器 command 用法,重啟 WordOps 服務

wo stack restart

可用 options 列表

options類型描述
--webGroupNginx, PHP, MySQL, WP-CLI
--adminGroupphpMyAdmin, Adminer, Dashboard, Netdata, MySQLTuner …
--utilsGroupOpcacheGUI, Webgrind, Anemometer
--nginxAPT packagenginx stack
--phpAPT packagePHP7.2-FPM stack
--php73APT packagePHP7.3-FPM stack
--php74APT packagePHP7.4-FPM stack
--mysqlAPT packageMariaDB stack
--redisAPT packageRedis stack
--wpcliBinaryWP-CLI : WordPress CLI
--phpmyadminWeb AppphpMyAdmin : Web interface for MySQL
--composerBinaryComposer : PHP dependencies manager
--netdataBinaryNetdata : Real-time monitoring suite
--dashboardWeb AppWordOps dashboard
--extplorerWeb AppeXtplorer Filemanager
--adminerWeb Appadminer (phpmyadmin alternative)
--fail2banAPT packageFail2ban : Bruteforce protection
--phpredisadminWeb Appphpredisadmin : Web interface for Redis
--proftpdAPT packageproftpd stack : FTP server
--mysqltunerBinaryMySQLTuner stack : MySQL tuning tool
--ufwAPT packageUFW : Firewall
--sendmailAPT packageSendmail MTA
--ngxblockerBinaryUltimate Nginx bad bots blocker
--nanorcBinaryNano editor syntax highlighting

套件安裝用法

wo stack install [options]

如果沒有 options,將會安裝 WordOps 主要 stacks

基本網站安裝方式

wo stack install --web

將安裝 Nginx、PHP 7.4、MariaDB

管理工具安裝方式

wo stack install --admin

將安裝內建 WordOps-Dashboard,PHPmyAdmin,Adminer,OpcacheGUI 等工具的 WordOps 後端
安裝管理工具後,可以在 http://YOUR.SERVER.IP:22222 操作

WordOps 套件升級

用法

wo stack upgrade [options]
options描述
--all升級所有套件
--web升級網站套件
--admin升級管理工具
--nginx升級 Nginx
--php升級 PHP 7.2
--php73升級 PHP 7.3
--php74升級 PHP 7.4
--mysql升級 MariaDB
--wpcli升級 WPCLI
--redis升級 Redis
--netdata升級 Netdata
--dashboard升級 WordOps 儀表板
--composer升級 Composer
--phpmyadmin升級 phpMyAdmin
--adminer升級 Adminer
--no-prompt無需任何提示直接升級套件
--force強制升級套件不顯示任何提示
wo stack upgrade

以上指令會新增套件儲存庫,並升級套件且針對主套件,從目前 WordOps 版本中包含的配置模版來更新及優化配置 ( 尤其是針對 MariaDB 和 Redis )

使用以下指令,只會從目前的 MariaDB 儲存庫更新套件,而不會在主要版本 ( 10.1 -> 10.3 ) 之間升級。

wo stack upgrade

要升級 MariaDB,請使用以下指令

wo stack migrate --mariadb

WordOps 套件刪除

用法 ( 不刪除 APT 套件包的配置或數據 )

wo stack remove <stack> [options]
options描述
--all刪除所有套件
--force強制刪除不提示

詳細 WordOps stacks 指令,請閱讀官方 WordOps stacks 說明

一鍵快速安裝 WordPress

官方提供了多種 WordPress 架構安裝方式,透過以下指令即可快速完成安裝

WordPress site

wo site create site.tld --wp

以下指令為進階 WordPress 安裝,對 WordPress 有一定程度的了解再進行

WordPress site + Nginx fastcgi_cache

wo site create site.tld --wpfc

WordPress site + Redis cache

wo site create site.tld --wpredis

WordPress site + WP-Super-cache

wo site create site.tld --wpsc

WordPress site + WP-Rocket cache

wo site create site.tld --wprocket

WordPress site + Cache enabler

wo site create site.tld --wpce

Enable Ultimate Nginx bad blocker on new site

wo site create site.tld --ngxblocker

site.tld 改成你的網域,DNS 要指向伺服器主機 IP 才能從網域名稱解析到主機

一鍵安裝指令官方說明

附加功能

WordOps 支援 Let’s Encrypt SSL 憑證加密

利用以下指令在一鍵安裝 WordPress 時也可一同向 Let’s Encrypt 申請證書

wo site create site.tld --wp --letsencrypt

site.tld 改成你的網域

萬用字元網域證書

可以透過此方式申請主網域 + 子網域萬用字元憑證 ( 萬用字元憑證 WiKi )

可以透過 Cloudflare DNS 來向 Let’s Encrypt 申請憑證,Cloudflare DNS 申請及 DNS 設定在此不詳述

照以下步驟執行

  1. 取得 Cloudflare API Key
  2. 使用 acme.sh 變數設置憑證

在使用 DNS API 發行第一個 SSL 憑證之前,必須使用以下指令

export CF_Key="Cloudflare Global API Key"
export CF_Email="Cloudflare 的帳戶 Email"

設置好後使用以下指令建立萬用字元憑證

wo site create site.tld --wp --letsencrypt=wildcard --dns=dns_cf

site.tld 改成你的網域

網站附加功能安裝官方說明

維護

使用以下指令可以立即更新 apt-cache 並升級套件

wo maintenance

WordOps 版本更新

使用以下指令將 WordOps 更新到可用的最新版本

wo update

結尾

WordOps 雖然好用,但還是有遇到過在更新上發生一些問題,所以記得在已經正式上線的伺服器上如果要作任何更新以及刪除的動作前,請先利用主機的快照備份一下副本以防萬一

喜歡這篇內容的話,可以幫我註冊 Likecoin 並在文章下方幫我按五下拍手,對我有很大的鼓勵喔!!

野狼

技術宅大叔,喜歡貓、玩具、電玩、動漫、美劇、電影

目錄