

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：託管 AL2023 上的 WordPress 部落格
<a name="hosting-wordpress-aml-2023"></a>

下列程序可協助您在 AL2023 執行個體上安裝、設定和保護 WordPress 部落格。本教學課程正確提供 Amazon EC2 的使用簡介，您可在該執行個體上完全掌控託管 WordPress 部落格的 web 伺服器，其並非一般傳統型的託管服務。

您需負責為伺服器更新軟體套件及維護安全性修補程式。對於不需要與 Web 伺服器組態直接互動的更自動化 WordPress 安裝， CloudFormation 此服務提供的 WordPress 範本也可以讓您快速開始使用。如需詳細資訊，請參閱 *AWS CloudFormation 使用者指南*中的[入門](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.Walkthrough.html)。若您需要具備解偶資料庫的高可用性解決方案，請參閱 *AWS Elastic Beanstalk 開發人員指南*中的[部署高可用性 WordPress 網站](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-hawordpress-tutorial.html)。

**重要**  
這些程序旨在與 AL2023 搭配使用。如需其他分發的詳細資訊，請參閱其特定文件。本教學課程中的許多步驟不適用於 Ubuntu 執行個體。如需在 Ubuntu 執行個體上安裝 WordPress 的協助，請參閱 Ubuntu 文件中的 [WordPress](https://help.ubuntu.com/community/WordPress)。您也可以使用 [CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials-wordpress-launch-instance.html)，在 Amazon Linux、macOS 或 Unix 系統上完成此任務。

**Topics**
+ [

## 先決條件
](#hosting-wordpress-prereqs-2023)
+ [

## 安裝 WordPress
](#install-wordpress-2023)
+ [

## 後續步驟
](#wordpress-next-steps-2023)
+ [

## 說明\$1 我的公有 DNS 名稱曾經變更且現在部落格無法使用
](#wordpress-troubleshooting-2023)

## 先決條件
<a name="hosting-wordpress-prereqs-2023"></a>

我們強烈建議您將彈性 IP 地址 (EIP) 與您用來託管 WordPress 部落格的執行個體建立關聯。如此可避免您執行個體的公有 DNS 地址變更及損害安裝。如果您擁有網域名稱，而且您想將該網域名稱用於部落格，您可更新網域名稱的 DNS 記錄，使其指向您的 EIP 地址 (如需這類的協助，請聯絡您的網域名稱註冊商)。您可免費將一個 EIP 地址與執行中的執行個體建立關聯。如需詳細資訊，請參閱*《Amazon EC2 使用者指南》*中的[彈性 IP 位址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)。[教學課程：在 AL2023 上安裝 LAMP Web 伺服器](ec2-lamp-amazon-linux-2023.md) 教學課程亦提供設定安全群組以允許 `HTTP` 和 `HTTPS` 流量的步驟，還有多個步驟可確保您的 web 伺服器已設定正確的檔案許可權限。如需將規則新增至安全群組的詳細資訊，請參閱[將規則新增至安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule)。

如果您沒有網域名稱可用於部落格，您可向 Route 53 註冊網域名稱，並將執行個體的 EIP 地址與網域名稱建立關聯。如需詳細資訊，請參閱 *Amazon Route 53 開發人員指南*中的[使用 Amazon Route 53 註冊網域名稱](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html)。

## 安裝 WordPress
<a name="install-wordpress-2023"></a>

連接至您的執行個體，然後下載 WordPress 安裝套件。如需連線至執行個體的詳細資訊，請參閱[連線至 AL2023 執行個體](connecting-to-instances.md)。

1. 使用下列命令，下載並安裝這些套件。

   ```
   dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y
   ```

1. 您可能會注意到輸出中顯示帶有類似措辭的警告 (版本可能會隨時間而有所變化)：

   ```
   WARNING:
     A newer release of "Amazon Linux" is available.
   
     Available Versions:
        
   dnf upgrade --releasever=2023.0.20230202
   
       Release notes:
        https://aws.amazon.com
   
     Version 2023.0.20230204:
       Run the following command to update to 2023.0.20230204:
   
         dnf upgrade --releasever=2023.0.20230204 ... etc
   ```

   作為最佳實務，我們建議儘可能保持作業系統的最新狀態，但您可能想要逐一查看每個版本，以確保您的環境中沒有衝突。**若步驟 1 中記下的先前套件安裝失敗，您可能需要更新至所列出較新版本的其中一個，然後再試一次**。

1. 請用 **wget** 命令下載最新的 WordPress 安裝套件。以下命令將一律下載最新版本。

   ```
   [ec2-user ~]$ wget https://wordpress.org/latest.tar.gz
   ```

1. 解壓縮並解除封存安裝套件。安裝資料夾將解壓縮到名為 `wordpress` 的資料夾。

   ```
   [ec2-user ~]$ tar -xzf latest.tar.gz
   ```<a name="create_user_and_database_2023"></a>

**建立 WordPress 安裝的資料庫使用者和資料庫**

您的 WordPress 安裝需要將資訊存放在資料庫，例如部落格文章和使用者評論。此程序協助您建立部落格的資料庫，以及有權在該資料庫中讀取和儲存資訊的使用者。

1. 啟動資料庫和 Web 伺服器。

   ```
   [ec2-user ~]$ sudo systemctl start mariadb httpd
   ```

1. 以 `root` 使用者的身分登入資料庫伺服器。出現提示時，輸入您資料庫的 `root` 密碼；此密碼可能不同於您的 `root` 系統密碼，假如您尚未設定資料庫伺服器的密碼，此密碼可能為空白。

   如果您尚未建立資料庫伺服器的保護機制，請務必這麼做。如需詳細資訊，請參閱 [步驟 3：保護資料庫伺服器](ec2-lamp-amazon-linux-2023.md#secure-mariadb-lamp-server-2023)(AL2023)。

   ```
   [ec2-user ~]$ mysql -u root -p
   ```

1. <a name="create_database_user_2023"></a>為您的 MySQL 資料庫建立使用者和密碼。您的 WordPress 安裝使用這些值與 MySQL 資料庫通訊。請輸入下列命令，並換成唯一的使用者名稱與密碼。

   ```
   CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';
   ```

   務必為使用者建立高強度密碼。請勿在密碼中使用單引號字元 ( ' )，因為這會使上述命令中斷。請勿重複使用現有密碼，並將此密碼存放在安全的地方。

1. <a name="create_database_2023"></a>建立資料庫。為資料庫提供一個描述性有意義的名稱，例如 `wordpress-db`。
**注意**  
以下命令中資料庫名稱前後的標點符號稱為反引號。標準鍵盤上的反引號 (```) 鍵通常位在 `Tab` 鍵上方。反引號不一定為必要，但反引號可讓您在資料庫名稱中使用其他的非法字元，例如連字號。

   ```
   CREATE DATABASE `wordpress-db`;
   ```

1. 將資料庫完整權限授予先前建立的 WordPress 使用者。

   ```
   GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
   ```

1. 排清資料庫權限，以套用所有變更。

   ```
   FLUSH PRIVILEGES;
   ```

1. 離開 `mysql` 用戶端。

   ```
   exit
   ```

**建立及編輯 wp-config.php 檔案**

WordPress 安裝資料夾包含組態檔案範例，其名稱為 `wp-config-sample.php`。在此程序中您將複製該檔案，並依照您的特定組態編輯檔案。

1. 將 `wp-config-sample.php` 檔案複製到稱為 `wp-config.php` 的檔案。此動作將建立一個新的組態檔案，並保留原本的範例檔案做為備份。

   ```
   [ec2-user ~]$ cp wordpress/wp-config-sample.php wordpress/wp-config.php
   ```

1. 用您喜愛的文字編輯器 (例如 `wp-config.php` 或 **nano**) 編輯 **vim** 檔案，並輸入您的安裝值。如果您沒有喜愛的文字編輯器，`nano` 很適合入門者。

   ```
   [ec2-user ~]$ nano wordpress/wp-config.php
   ```

   1. 找出定義 `DB_NAME` 的行，並將 `database_name_here` 變更為您在[Step 4](#create_database_2023)的[建立 WordPress 安裝的資料庫使用者和資料庫](#create_user_and_database_2023)中建立的資料庫名稱。

      ```
      define('DB_NAME', 'wordpress-db');
      ```

   1. 找出定義 `DB_USER` 的行，並將 `username_here` 變更為您在[Step 3](#create_database_user_2023)的[建立 WordPress 安裝的資料庫使用者和資料庫](#create_user_and_database_2023)中建立的資料庫使用者。

      ```
      define('DB_USER', 'wordpress-user');
      ```

   1. 找出定義 `DB_PASSWORD` 的行，並將 `password_here` 變更為您在[Step 3](#create_database_user_2023)的[建立 WordPress 安裝的資料庫使用者和資料庫](#create_user_and_database_2023)中建立的高強度密碼。

      ```
      define('DB_PASSWORD', 'your_strong_password');
      ```

   1. 找出稱為 `Authentication Unique Keys and Salts` 的區段。這些 `KEY` 和 `SALT` 的值會將一層加密提供給 WordPress 使用者存放於本機機器的瀏覽器 Cookie。基本上，於此新增長的隨機值將使您的網站更安全。請前往 [https://api.wordpress.org/secret-key/1.1/salt/](https://api.wordpress.org/secret-key/1.1/salt/) 隨機產生一組金鑰值，您可將其複製並貼入到 `wp-config.php` 檔案內。若要將文字貼入到 PuTTY 終端，請將游標移至想要貼入文字的位置，然後在 PuTTY 終端內按一下滑鼠右鍵。

      如需安全金鑰的詳細資訊，請參閱 [https://wordpress.org/support/article/editing-wp-config-php/\$1security-keys](https://wordpress.org/support/article/editing-wp-config-php/#security-keys)。
**注意**  
下列值僅供範例使用；請勿使用這些值進行安裝。

      ```
      define('AUTH_KEY',         ' #U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-');
      define('SECURE_AUTH_KEY',  'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg');
      define('LOGGED_IN_KEY',    'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3');
      define('NONCE_KEY',        'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj');
      define('AUTH_SALT',        'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h');
      define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv');
      define('LOGGED_IN_SALT',   ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/');
      define('NONCE_SALT',       '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG');
      ```

   1. 儲存檔案並結束您的文字編輯器。

**將 WordPress 檔案安裝至 Apache 文件根底下**
+ 現在您已解壓縮安裝資料夾、建立 MySQL 資料庫和使用者，並自訂 WordPress 組態檔案，接著您可將安裝檔案複製到 web 伺服器文件根，並執行安裝指令碼以完成安裝。這些檔案的位置取決於您想要在 web 伺服器的實際根 (例如，`my.public.dns.amazonaws.com`) 或根底下之子目錄或資料夾 (例如，`my.public.dns.amazonaws.com/blog`) 下使用 WordPress 部落格。
  + 如果您想讓 WordPress 在文件根下執行，請複製 wordpress 安裝目錄的內容 (非目錄本身)，如下所示：

    ```
    [ec2-user ~]$ cp -r wordpress/* /var/www/html/
    ```
  + 如果您想讓 WordPress 在文件根下的其他目錄下執行，請先建立目錄，然後將檔案複製到目錄中。在此範例中，WordPress 將在 `blog` 目錄中執行：

    ```
    [ec2-user ~]$ mkdir /var/www/html/blog
    [ec2-user ~]$ cp -r wordpress/* /var/www/html/blog/
    ```

**重要**  
基於安全起見，如果您不是要立即移至下一個步驟，現在請先停止 Apache web 伺服器 (`httpd`)。將安裝移到 Apache 文件根底下後，WordPress 安裝指令碼未受保護，攻擊者可能在 Apache web 伺服器執行時存取您的部落格。若要停止 Apache Web 伺服器，輸入命令 **sudo service httpd stop**。如果您要移至下一個步驟，則不需要停止 Apache web 伺服器。

**允許 WordPress 使用永久連結**

WordPress 永久連結需要使用 Apache `.htaccess` 檔案才能正常運作，但此檔案在 Amazon Linux 上並非預設啟用。請使用此程序允許 Apache 文件根下的所有覆寫。

1. 使用您喜愛的文字編輯器 (例如 `httpd.conf` 或 **nano**) 開啟 **vim** 檔案。如果您沒有喜愛的文字編輯器，`nano` 很適合入門者。

   ```
   [ec2-user ~]$ sudo vim /etc/httpd/conf/httpd.conf
   ```

1. 找出開頭為 `<Directory "/var/www/html">` 的區段。

   ```
   <Directory "/var/www/html">
       #
       # Possible values for the Options directive are "None", "All",
       # or any combination of:
       #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
       #
       # Note that "MultiViews" must be named *explicitly* --- "Options All"
       # doesn't give it to you.
       #
       # The Options directive is both complicated and important.  Please see
       # http://httpd.apache.org/docs/2.4/mod/core.html#options
       # for more information.
       #
       Options Indexes FollowSymLinks
   
       #
       # AllowOverride controls what directives may be placed in .htaccess files.
       # It can be "All", "None", or any combination of the keywords:
       #   Options FileInfo AuthConfig Limit
       #
       AllowOverride None
   
       #
       # Controls who can get stuff from this server.
       #
       Require all granted
   </Directory>
   ```

1. 變更上述區段中的 `AllowOverride None` 行，以讀取 `AllowOverride All`。
**注意**  
此檔案中有多個 `AllowOverride` 行；請確定您變更的是 `<Directory "/var/www/html">` 區段中的行。

   ```
   AllowOverride All
   ```

1. 儲存檔案並結束您的文字編輯器。

**在 AL2023 上安裝 PHP 圖形繪製程式庫**  
適用於 PHP 的 GD 程式庫可讓您修改影像。如果您需要裁剪部落格的標題映像，請安裝此程式庫。您安裝的 phpMyAdmin 版本可能需要此程式庫的特定最低版本 (例如 8.1 版)。

使用以下命令在 AL2023 上安裝 PHP 圖形繪製程式庫。例如，如果您從來源安裝 php8.1 作為安裝 LAMP 堆疊的一部分，則此命令會安裝 PHP 圖形繪製庫的 8.1 版。

```
[ec2-user ~]$ sudo dnf install php-gd
```

若要確認已安裝的版本，請使用下列命令：

```
[ec2-user ~]$ sudo dnf list installed | grep php-gd
```

下列為範例輸出：

```
php-gd.x86_64                     8.1.30-1.amzn2             @amazonlinux
```

**在 Amazon Linux AMI 安裝 PHP 圖形繪製庫**  
適用於 PHP 的 GD 程式庫可讓您修改影像。如果您需要裁剪部落格的標題映像，請安裝此程式庫。您安裝的 phpMyAdmin 版本可能需要此程式庫的特定最低版本 (例如 8.1 版)。

若要確認哪些版本可用，請使用下列命令：

```
[ec2-user ~]$ dnf list | grep php
```

以下是 PHP 圖形繪製庫 (8.1 版) 輸出的範例行：

```
php8.1.aarch64                                                    8.1.7-1.amzn2023.0.1                        @amazonlinux
php8.1-cli.aarch64                                                8.1.7-1.amzn2023.0.1                        @amazonlinux
php8.1-common.aarch64                                             8.1.7-1.amzn2023.0.1                        @amazonlinux
php8.1-devel.aarch64                                              8.1.7-1.amzn2023.0.1                        @amazonlinux
php8.1-fpm.aarch64                                                8.1.7-1.amzn2023.0.1                        @amazonlinux
php8.1-gd.aarch64                                                 8.1.7-1.amzn2023.0.1                        @amazonlinux
```

使用下列命令，在 Amazon Linux AMI 上安裝特定版本的 PHP 圖形繪製庫 (例如，php8.1 版)：

```
[ec2-user ~]$ sudo dnf install -y php8.1-gd
```

**修正 Apache web 伺服器的檔案權限**

WordPress 中可用的部分功能需要 Apache 文件根的寫入存取 (例如透過管理畫面上傳媒體)。如果您尚未這樣做，請先套用下列的群組成員資格與許可 (詳細資訊詳述於 [LAMP web 伺服器教學課程](ec2-lamp-amazon-linux-2023.md))。

1. 將 `/var/www` 及其內容的檔案所有權授予 `apache` 使用者。

   ```
   [ec2-user ~]$ sudo chown -R apache /var/www
   ```

1. 將 `/var/www` 及其內容的群組所有權授予 `apache` 群組。

   ```
   [ec2-user ~]$ sudo chgrp -R apache /var/www
   ```

1. 變更 `/var/www` 及其子目錄的目錄許可，以新增群組寫入許可並設定日後子目錄的群組 ID。

   ```
   [ec2-user ~]$ sudo chmod 2775 /var/www
   [ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;
   ```

1. 請以遞迴方式變更 `/var/www` 及其子目錄的檔案許可。

   ```
   [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0644 {} \;
   ```
**注意**  
 如果您也想要使用 WordPress 做為 FTP 伺服器，此處您需要更寬鬆的群組設定。請檢視推薦的 [WordPress 中的步驟和安全設定](https://wordpress.org/support/article/changing-file-permissions/)以完成此操作。

1. 重新啟動 Apache web 伺服器，以套用新的群組與許可。

   ```
   [ec2-user ~]$ sudo systemctl restart httpd
   ```

**使用 AL2023 執行 WordPress 安裝指令碼**

現在已就緒可安裝 WordPress。使用的指令取決於作業系統。此程序中的命令適用於 AL2023。使用下列程序搭配 AL2023 AMI。

1. 使用 **systemctl** 命令，確定每次系統開機時 `httpd` 和資料庫服務都會啟動。

   ```
   [ec2-user ~]$ sudo systemctl enable httpd && sudo systemctl enable mariadb
   ```

1. 確認資料庫伺服器正在執行。

   ```
   [ec2-user ~]$ sudo systemctl status mariadb
   ```

   如果資料庫服務未執行，請啟動服務。

   ```
   [ec2-user ~]$ sudo systemctl start mariadb
   ```

1. 確認 Apache web 伺服器 (`httpd`) 正在執行。

   ```
   [ec2-user ~]$ sudo systemctl status httpd
   ```

   如果 `httpd` 服務未執行，請啟動服務。

   ```
   [ec2-user ~]$ sudo systemctl start httpd
   ```

1. 在網頁瀏覽器中，輸入您 WordPress 部落格的 URL (可能是執行個體的公有 DNS 地址，或是該地址後面加上 `blog` 資料夾)。接著應該會出現 WordPress 安裝指令碼。提供 WordPress 安裝所需的資訊。選擇**安裝 WordPress** 來完成安裝。如需詳細資訊，請參閱 WordPress 網站上的 [Step 5: Run the Install Script (步驟 5：執行安裝指令碼)](https://wordpress.org/support/article/how-to-install-wordpress/#step-5-run-the-install-script)。

**使用 AL2023 AMI 執行 WordPress 安裝指令碼**

1. 使用 **chkconfig** 命令，確定每次系統開機時 `httpd` 和資料庫服務都會啟動。

   ```
   [ec2-user ~]$ sudo chkconfig httpd on && sudo chkconfig mariadb on
   ```

1. 確認資料庫伺服器正在執行。

   ```
   [ec2-user ~]$ sudo service mariadb status
   ```

   如果資料庫服務未執行，請啟動服務。

   ```
   [ec2-user ~]$ sudo service mariadb start
   ```

1. 確認 Apache web 伺服器 (`httpd`) 正在執行。

   ```
   [ec2-user ~]$ sudo service httpd status
   ```

   如果 `httpd` 服務未執行，請啟動服務。

   ```
   [ec2-user ~]$ sudo service httpd start
   ```

1. 在網頁瀏覽器中，輸入您 WordPress 部落格的 URL (可能是執行個體的公有 DNS 地址，或是該地址後面加上 `blog` 資料夾)。接著應該會出現 WordPress 安裝指令碼。提供 WordPress 安裝所需的資訊。選擇**安裝 WordPress** 來完成安裝。如需詳細資訊，請參閱 WordPress 網站上的 [Step 5: Run the Install Script (步驟 5：執行安裝指令碼)](https://wordpress.org/support/article/how-to-install-wordpress/#step-5-run-the-install-script)。

## 後續步驟
<a name="wordpress-next-steps-2023"></a>

在完成 WordPress 部落格的測試之後，您可以考慮更新其組態。

**使用自訂的網域名稱**  
如果您有網域名稱與 EC2 執行個體的 EIP 地址相關聯，您可設定部落格使用該名稱，而不是使用 EC2 公有 DNS 地址。如需詳細資訊，請參閱 WordPress 網站上的 [Changing The Site URL (變更網站 URL)](https://wordpress.org/support/article/changing-the-site-url/)。

**設定部落格**  
您可設定部落格使用不同的[主題](https://wordpress.org/themes/)和[外掛程式](https://wordpress.org/plugins/)，為讀者提供更為個人化的使用體驗。但安裝程序有時會出錯，使您失去整個部落格。因此我們強烈建議您為執行個體建立備份的 Amazon Machine Image (AMI)，然後再嘗試安裝任何主題或外掛程式，如此安裝期間發生任何錯誤時便能還原部落格。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[建立您自己的 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami)。

**增加容量**  
若您的 WordPress 部落格變得十分熱門而需要更多運算能力或儲存空間，請參考下列步驟：
+ 擴展執行個體的儲存空間。如需詳細資訊，請參閱 [Amazon EBS 彈性磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)。
+ 將 MySQL 資料庫移往 [Amazon RDS](https://aws.amazon.com/rds)，善加運用該服務可輕鬆擴展的能力。

**改善網際網路流量的網路效能**  
如果您希望您的部落格能夠提高來自世界各地使用者的流量，請考慮 [AWS Global Accelerator](https://aws.amazon.com/global-accelerator)。Global Accelerator 可改善使用者用戶端裝置與 AWS上執行的 WordPress 應用程式之間的網際網路流量效能，協助您實現較低的延遲。Global Accelerator 使用[AWS 全球網路](https://aws.amazon.com/about-aws/global-infrastructure/global_network/)，將流量導向最接近用戶端的 AWS 區域中運作狀態良好的應用程式端點。

**進一步了解 WordPress**  
下列連結包含 WordPress 的詳細資訊。
+ 如需有關 WordPress 的資訊，請參閱 Codex 中的 WordPress [Codex](http://codex.wordpress.org/) 說明文件。
+ 如需有關對安裝進行故障診斷的詳細資訊，請前往[常見安裝問題](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems)。
+ 如需讓 WordPress 部落格更安全的資訊，請前往 [Hardening WordPress](https://wordpress.org/support/article/hardening-wordpress/)。
+ 如需有關將 WordPress 部落格保持在up-to-date的資訊，請前往[更新 WordPress](https://wordpress.org/support/article/updating-wordpress/)。

## 說明\$1 我的公有 DNS 名稱曾經變更且現在部落格無法使用
<a name="wordpress-troubleshooting-2023"></a>

您的 WordPress 安裝會自動設定為使用 EC2 執行個體的公有 DNS 地址。如果您停止並重新啟動執行個體，公有 DNS 地址便會變更 (除非與彈性 IP 地址建立關聯)，而且部落格將無法再使用，因為其參考資源的地址已不存在 (或已指派至其他的 EC2 執行個體)。如需更詳細的問題說明和多個可能的解決方案，請參閱 [https://wordpress.org/support/article/changing-the-site-url/](https://wordpress.org/support/article/changing-the-site-url/)。

如果您的 WordPress 安裝發生此狀況，您也許可用下列程序使用 WordPress 的 **wp-cli** 命令列界面復原部落格。

**使用 **wp-cli** 變更 WordPress 網站 URL**

1. 使用 SSH 連結至您的 EC2 執行個體。

1. 記下執行個體的舊網站 URL 和新網站 URL。舊網站 URL 可能是安裝 WordPress 時 EC2 執行個體的公有 DNS 名稱。新網站 URL 為 EC2 執行個體目前的公有 DNS 名稱。如果您不確定舊網站的 URL，請用 **curl** 使用下列命令來尋找 URL。

   ```
   [ec2-user ~]$ curl localhost | grep wp-content
   ```

   輸出應該會顯示舊公有 DNS 名稱的參考，其看起來類似 (舊網站的 URL 為紅色)：

   ```
   <script type='text/javascript' src='http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>
   ```

1. 使用下列命令下載 **wp-cli**。

   ```
   [ec2-user ~]$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
   ```

1. 使用下列命令搜尋並取代 WordPress 安裝中的舊網站 URL。取代 EC2 執行個體的舊網站和新網站 URL，以及 WordPress 安裝的路徑 (通常為 `/var/www/html` 或 `/var/www/html/blog`)。

   ```
   [ec2-user ~]$ php wp-cli.phar search-replace 'old_site_url' 'new_site_url' --path=/path/to/wordpress/installation --skip-columns=guid
   ```

1. 在 web 瀏覽器中輸入 WordPress 部落格的新網站 URL，再次確認網站是否正常運作。如果不是，請參閱[變更網站 URL](https://wordpress.org/support/article/changing-the-site-url/) 和[常見安裝問題](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems)以取得詳細資訊。