在Ubuntu Linux上架設WordPress需要安裝LAMP(Linux、Apache、MySQL、PHP)堆疊和WordPress本身。這裡是一個簡單的步驟:
安裝 LAMP :
安裝 Apache
sudo apt update sudo apt install apache2
安裝 MySQL(MariaDB)資料庫伺服器
sudo apt install mysql-server
在安裝過程中會要求如果沒設置 root 密碼可透過配置MySQL新增
登入mysql
mysql -u root
建立root密碼,'yourpassword' 改成你要登入的密碼
mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpassword'; exit;
安裝 PHP
sudo apt install php libapache2-mod-php php-mysql php-gd php-curl php-mbstring php-xml
配置 MySQL:
進入 MySQL 並建立 WordPress 使用的資料庫和用戶
sudo mysql -u root -pyourpassword
CREATE DATABASE wordpress; CREATE USER 'wordpressuser'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_password'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
請將 'your_password'
更改為你想要的密碼。
如果你要管理多個網站,且又希望每個站的帳密都不同,可針對各別的站生成不同的帳密,安全管理上也會較好
安裝 WordPress:
下載最新版的 WordPress
wget -c https://wordpress.org/latest.tar.gz
解壓縮 WordPress 文件
tar -xzvf latest.tar.gz
移動 WordPress 文件到 Apache 伺服器的文件夾
sudo mv wordpress /var/www/html/ sudo chown -R www-data:www-data /var/www/html/wordpress
配置 WordPress:
確認 Apache 伺服器和 MySQL 服務正在運行
sudo systemctl restart apache2 sudo systemctl restart mysql
在瀏覽器中訪問 http://your_server_ip_address/wordpress
來開始 WordPress 的安裝過程。
依照安裝向導的指示填寫資料庫資訊(資料庫名稱、用戶名和密碼),完成安裝
登入 WordPress 後台 http://your_server_ip_address/wordpress/wp-admin
,開始使用 WordPress 管理後台。
配置虛擬主機:
設定DNS
- 登入您的域名註冊商的帳戶,找到您想要設定的域名。
- 尋找 DNS 設定、域名管理或類似的選項。不同的註冊商界面可能有所不同,但通常您可以在域名管理面板中找到這些選項。
- 在 DNS 設定中,尋找到「新增紀錄」或「新增 DNS 記錄」等選項。
- 新增兩個 DNS 記錄:
- 一個 A 記錄,將主機名(例如
mysite.com
或www.mysite.com
)指向您的伺服器 IP。您的情況下,IP 是 123.123.123.123。 - 一個 CNAME 記錄,將主機名(例如
www.mysite.com
)指向您的主網域(例如mysite.com
)。這是為了確保無論訪問mysite.com
或www.mysite.com
,都能夠正確導向您的伺服器。
- 一個 A 記錄,將主機名(例如
- 儲存您的設定。儲存後,DNS 設定可能需要一段時間才能生效,這個時間通常稱為 DNS 傳播時間,可能需要幾小時甚至一天的時間。
完成這些步驟後,當用戶訪問 mysite.com
或 www.mysite.com
時,他們將會被導向到您的伺服器 IP,進而訪問到您的網站。
建立虛擬主機設定檔
您可以使用您喜歡的文字編輯器,在 /etc/apache2/sites-available/ 目錄中建立一個新的設定檔。例如:
sudo nano /etc/apache2/sites-available/mysite.conf
在設定檔中加入以下內容,請注意替換您的網站根目錄路徑和網址
<VirtualHost *:80> ServerAdmin webmaster@mysite.com ServerName mysite.com ServerAlias www.mysite.com DocumentRoot /var/www/html/wordpress ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/wordpress> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
這將設定一個名為 mysite.com
的虛擬主機,其根目錄位於 /var/www/html/wordpress
,並且允許使用 .htaccess
檔案進行自訂設定。
啟用這個新的虛擬主機設定檔:
sudo a2ensite mysite.conf
重新啟動 Apache2 以應用設定更改
sudo systemctl restart apache2
現在,您的網站應該已經設定完成。請確保您的 DNS 設定將 mysite.com
和 www.mysite.com
導向到您的伺服器 IP 地址,以便外部用戶可以訪問您的網站。
安裝 Certbot 並設定 SSL 憑證
安裝 Certbot 並設定 SSL 憑證,您可以按照以下步驟進行:
安裝 Certbot 軟體包
首先,您需要安裝 Certbot 軟體包。Certbot 是一個用於自動化 TLS/SSL 憑證的工具,可以從 Let's Encrypt 獲取免費的 SSL 憑證。
sudo apt update sudo apt install certbot python3-certbot-apache
設定 SSL 憑證
一旦安裝了 Certbot,您可以使用以下命令為您的網站啟動 SSL 憑證的設定:
sudo certbot --apache
這個命令將自動檢測您的 Apache 設定,並提示您選擇要為其設定 SSL 的網站。然後,Certbot 將從 Let's Encrypt 獲取 SSL 憑證,並自動配置您的 Apache 伺服器以使用這些憑證。設定完成後,您的網站將會使用 HTTPS 協議提供安全的通訊。
Let's Encrypt 的 SSL 憑證有效期僅為90天,因此建議您設定自動更新機制,以確保您的 SSL 憑證始終保持最新。您可以創建一個 cron 作業,定期執行 Certbot 來更新 SSL 憑證。例如,您可以使用以下命令編輯 cron 作業:
自動更新 SSL 憑證
sudo crontab -e
然後添加一行類似於以下內容,以在每天凌晨 2 點自動更新憑證:
0 2 * * * /usr/bin/certbot renew --quiet
保存並退出編輯器。這將設置一個 cron 作業,每天凌晨 2 點執行 Certbot,自動更新 SSL 憑證。Certbot 將只在憑證即將到期時進行更新,以節省系統資源。
注意事項:
記得保護伺服器和WordPress的安全,例如使用安全的密碼,定期更新軟體版本等。