這是記錄我在 VPS 上安裝 wordpress 的過程
系統是 Debian 12,Ubuntu 裝法應該也一樣
1. 更新套件庫並安裝套件
sudo apt update
sudo apt install -y nginx mariadb-server php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml unzip curl
2. 設定 MariaDB
sudo mysql_secure_installation
我這裡是按 N N Y Y Y Y


3. 登入 MySQL 並建立 WordPress 資料庫
sudo mysql -u root -p
這裡要求 Enter Password 如果跟我一樣沒設密碼直接 Enter 就行
在SQL內執行以下查詢
(your_password 改成你要為 wpuser 設置的密碼)
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. 下載 wordpress 然後解壓並設置權限
cd /var/www
sudo curl -O https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo chown -R www-data:www-data wordpress
sudo chmod -R 755 wordpress
5. 建立 SSL 證書
我搭配 Cloudflare 使用,因此這裡用自簽證書
openssl genpkey -algorithm RSA -out private.key
openssl req -x509 -new -nodes -key private.key -sha256 -days 365 -out certificate.crt
產生證書時 Common Name 填域名,其他留空即可
6. 設定 Nginx
sudo nano /etc/nginx/sites-available/wordpress
填入以下內容:(域名和證書路徑要改成自己的)
server {
listen 443 ssl;
server_name 你的域名.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
root /var/www/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|otf|ttf|ttc|mp4|webm|ogg|mp3|wav|flac|opus|avi|mov|mkv|webp)$ {
expires max;
log_not_found off;
}
location ~ /\.ht {
deny all;
}
}
存檔後重啟 Nginx
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
7. 設定 WordPress
假如你 DNS 設置正確,這時使用瀏覽器連結到你的地址應該會看到安裝頁面
填寫資料庫那一頁這樣寫
- 用戶名稱 : wpuser
- 密碼 : 你在第三步那邊設的密碼
- 資料庫 : wordpress
- 其他兩個保持原樣下一步
之後下一步設置管理員帳戶
順利的話,就安裝好了