使用Ubuntu Linux架設WordPress

在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

  1. 登入您的域名註冊商的帳戶,找到您想要設定的域名。
  2. 尋找 DNS 設定、域名管理或類似的選項。不同的註冊商界面可能有所不同,但通常您可以在域名管理面板中找到這些選項。
  3. 在 DNS 設定中,尋找到「新增紀錄」或「新增 DNS 記錄」等選項。
  4. 新增兩個 DNS 記錄:
    • 一個 A 記錄,將主機名(例如 mysite.comwww.mysite.com)指向您的伺服器 IP。您的情況下,IP 是 123.123.123.123。
    • 一個 CNAME 記錄,將主機名(例如 www.mysite.com)指向您的主網域(例如 mysite.com)。這是為了確保無論訪問 mysite.comwww.mysite.com,都能夠正確導向您的伺服器。
  5. 儲存您的設定。儲存後,DNS 設定可能需要一段時間才能生效,這個時間通常稱為 DNS 傳播時間,可能需要幾小時甚至一天的時間。

完成這些步驟後,當用戶訪問 mysite.comwww.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.comwww.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的安全,例如使用安全的密碼,定期更新軟體版本等。

瀏覽次數:24