HELPER VPS

VPS 安裝 WordPress:WordPress、LEMP、Docker 映像各自的方法

把 WordPress 親手安裝在自己的伺服器,外掛、佈景主題以至伺服器設定都可隨意決定。按建立伺服器時所選映像,選擇最合適的安裝方法跟著做。

從三種方法中選擇

在 HELPER VPS,只需在建立伺服器時選擇映像,WordPress 準備步驟便大幅減少。選擇適合你情況的一種方法便可。

  • WordPress 映像:在 Ubuntu 24.04 上安裝 Nginx、MySQL、PHP 及 WordPress。只需在瀏覽器完成安裝畫面,是最快開設一個網誌的方法。
  • LEMP 映像:在已備妥 Nginx、MySQL、PHP 的伺服器親手架設 WordPress。適合在一部伺服器放多個網站,或想自行決定資料夾結構及設定時。
  • Docker 映像:以容器啟動 WordPress 及資料庫。方便把網站遷到其他伺服器或多次建立相同環境。

小型博客可以從最小的 12GB 通用方案開始,而網店或繁忙的網站在高效能 NVMe 伺服器上打開頁面會更輕快。大小建議請參閱 WordPress VPS 頁面。

先連接網域

如打算使用網域,在安裝前先連接,便可一次取得 HTTPS 證書。在購買網域處的 DNS 管理畫面建立以下兩項記錄。

  • A 記錄:名稱 @(及 www),值為伺服器的 IPv4 位址
  • AAAA 記錄:名稱 @(及 www),值為伺服器的 IPv6 位址

記錄傳開一般需要數分鐘至數小時。在伺服器執行 ping -c 3 example.com,顯示你的伺服器 IP 即準備完成。下方指令中的 example.com 請換成你的網域輸入。

方法 1:以 WordPress 映像即時開始

  • 在建立伺服器畫面選擇地區及大小,並在映像清單選擇 WordPress。
  • 伺服器轉為運行中後,以瀏覽器開啟 http://YOUR_SERVER_IP。
  • 選擇語言,設定網站標題、管理員帳號、密碼及電郵,安裝便完成。
  • 以 http://YOUR_SERVER_IP/wp-admin 進入管理畫面。

管理員密碼設定為長而複雜,帳號以只有你知道的名稱代替 admin,面對登入嘗試更穩妥。連接網域及 HTTPS 照著下方 HTTPS 步驟便可。

方法 2:在 LEMP 伺服器親手安裝

LEMP 映像已安裝 Nginx、MySQL 及 PHP-FPM,只需加上 WordPress 所需的 PHP 擴充、資料庫及網站設定。以 Ubuntu 24.04 為準,其他 Ubuntu 及 Debian 亦是相同次序。

第 1 步:安裝 PHP 擴充

終端機
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v 顯示 PHP 版本,ls /run/php/ 顯示 PHP-FPM socket 名稱。Ubuntu 24.04 為 PHP 8.3,會顯示 php8.3-fpm.sock;Debian 13 為 PHP 8.4,會顯示 php8.4-fpm.sock。在下方 Nginx 設定照樣使用這個名稱。

第 2 步:建立資料庫及用戶

以 root 登入狀態執行 mysql,便可免密碼進入 MySQL。以下列四行建立 WordPress 專用資料庫及用戶。密碼請改長並記下。

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第 3 步:下載 WordPress

終端機
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

把資料夾擁有者改為網頁伺服器用戶(www-data),瀏覽器安裝畫面便可直接建立設定檔,外掛及佈景主題亦可在管理畫面即時安裝。

第 4 步:Nginx 網站設定

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
終端機
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

nginx -t 顯示 syntax is ok, test is successful,即表示設定正確。如尚未有網域,在 server_name 填寫 _ 並刪除預設網站(/etc/nginx/sites-enabled/default)連結,便可經 IP 位址開啟。

第 5 步:在瀏覽器完成安裝

開啟 http://example.com 便會出現安裝畫面。填入資料庫名稱 wordpress、用戶 wpuser、第 2 步設定的密碼及主機 localhost,再設定網站標題及管理員帳戶便完成。

方法 3:以 Docker Compose 安裝

以 Docker 映像建立的伺服器或已自行安裝 Docker 的伺服器,以一個檔案便可同時啟動 WordPress 及 MariaDB。兩個密碼請改長再填入。

終端機
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

開啟 http://YOUR_SERVER_IP 便會出現安裝畫面。資料庫資料已寫在檔案中,只需設定網站標題及管理員帳戶。文章及上載檔案保留在 wp 卷宗,資料庫保留在 db 卷宗,即使把容器換成新版本亦維持不變。

為以 Docker 架設的網站加上 HTTPS,在前面放置反向代理最整潔。使用只需在畫面輸入網域便自動配上證書的 Coolify 或 Dokploy 映像更簡單。

配上 HTTPS 證書

WordPress 映像及 LEMP 伺服器以 Certbot 取得 Let's Encrypt 免費證書並直接配到 Nginx。網域必須已指向伺服器 IP。

終端機
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

輸入電郵並同意條款,證書便會簽發,Nginx 設定亦會加入 HTTPS。證書由 Certbot 自動更新。之後在 WordPress 管理畫面的設定 > 一般,把 WordPress 位址及網站位址改為 https。如使用防火牆,以 ufw allow 80,443/tcp 開放兩個連接埠。

安裝後最好完成的設定

  • 永久連結:在設定 > 永久連結選擇文章名稱方式,位址更易讀。上方 Nginx 設定的 try_files 一行會處理這些位址。
  • 上載大小:想上載大型圖片或佈景主題檔案,請把 Nginx 的 client_max_body_size 及 /etc/php/8.3/fpm/php.ini 的 upload_max_filesize、post_max_size 調高至相同大小,再執行 systemctl restart php8.3-fpm。
  • 發送郵件:會員註冊、找回密碼、訂單通知等郵件,以 SMTP 外掛連接郵件發送服務的 587 或 465 號連接埠。方法見發送郵件指南。
  • 更新:WordPress 本體、外掛及佈景主題在管理畫面更新,伺服器則以 apt update && apt upgrade -y 定期更新至最新。
  • 備份:文章及資料庫是無法重建的資產。建立伺服器時啟用自動備份,或以備份與快照指南的方法留下副本。

想由頭重新安裝時,在伺服器頁面的重新安裝再次選擇 WordPress 映像,便會回到乾淨狀態。硬碟會重新安裝,請先以工具 > 匯出取得需要的文章,步驟參考重新安裝指南。

值得一併查看的指南

接續此指南最好一併完成的設定。

查看所有指南