

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: AL2023 で WordPress ブログをホストする
<a name="hosting-wordpress-aml-2023"></a>

次の手順では、ユーザーのAL2023 インスタンスで、WordPress ブログのインストール、構成を実行し、安全性を確立します。このチュートリアルは、WordPress ブログをホストするウェブサーバーを完全に制御する (これは従来のホスティングサービスでは一般的なことではありません) という点で、Amazon EC2 を使用するための優れた手引きになります。

サーバーに対するソフトウェアパッケージの更新とセキュリティパッチの維持は、お客様の責任となります。ウェブサーバー設定と直接やり取りする必要のない、より自動化された 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>

Elastic IP アドレス (EIP) は、WordPress ブログのホストに使用しているインスタンスに関連付けることを強くお勧めします。これにより、インスタンスのパブリック DNS アドレスが変更されて、インストールが破損することを防止できます。ドメイン名を所有していてそのドメインをブログに使用する場合、EIP アドレスをポイントするようにドメイン名の DNS レコードを更新できます (これを行うには、ドメイン名レジストラに問い合わせてください)。実行中のインスタンスに関連付けられた EIP アドレスを無料で 1 つ取得できます。詳細については、*「Amazon EC2 ユーザーガイド」*の[「Elastic IP アドレス」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)を参照してください。[チュートリアル: AL2023 に LAMP サーバーをインストールする](ec2-lamp-amazon-linux-2023.md) チュートリアルでは、セキュリティグループで `HTTP` および `HTTPS` トラフィックを許可するように設定する手順や、ウェブサーバー用にファイル許可が正しく設定されていることを確認する手順も示します。セキュリティグループへのルールの追加の詳細については、「[セキュリティグループへのルールの追加](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
   ```

   ベストプラクティスとして、OS を可能な限り最新の状態にしておくことをお勧めします。ただし、環境内で競合が発生しないように各バージョンをイテレーションすることをお勧めします。**ステップ 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. データベースおよびウェブサーバーを起動します。

   ```
   [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 ユーザーがローカルマシンに保存したブラウザクッキーに対する暗号化レイヤーを提供します。基本的に、ここで長くてランダムな値を指定すると、サイトのセキュリティが向上します。[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 構成ファイルのカスタマイズが終了したため、インストールファイルをウェブサーバーのドキュメントルートにコピーし、インストールスクリプトを実行して、インストールを終了する準備ができました。これらのファイルの場所は、ウェブサーバーの実際のルートで WordPress ブログを使用できるようにするかどうか (`my.public.dns.amazonaws.com` など)、またはルートの下のサブディレクトリやフォルダに格納するか (`my.public.dns.amazonaws.com/blog` など) によって異なります。
  + 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 ウェブサーバー (`httpd`) を直ちに停止してください。インストールを Apache ドキュメントルートの下に移動すると、WordPress インストールスクリプトは保護されなくなり、Apache ウェブサーバーが実行している場合、攻撃者はブログへのアクセス権を取得する可能性があります。Apache ウェブサーバーを停止するには、**sudo service httpd stop** コマンドを入力します。次の手順に移動する場合、Apache ウェブサーバーを停止する必要はありません。

**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. ファイルを保存し、テキストエディタを終了します。

**PHP グラフィック描画ライブラリを AL2023 にインストールするには**  
PHP 用の GD ライブラリを使用すると、イメージを変更することができます。ブログのヘッダーイメージをトリミングする必要がある場合は、このライブラリをインストールします。インストールするバージョンの phpMyAdmin は、このライブラリの特定の最小バージョン (バージョン 8.1 など) を必要とする場合があります。

PHP グラフィック描画ライブラリを AL2023 にインストールするには、次のコマンドを使用します。例えば、LAMP スタックをインストールする一環としてソースから php8.1 をインストールした場合、このコマンドは 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
```

**PHP グラフィック描画ライブラリを Amazon Linux AMI にインストールするには**  
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
```

PHP グラフィック描画ライブラリの特定のバージョン (バージョン php8.1 など) を Amazon Linux AMI にインストールするには、次のコマンドを使用します。

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

**Apache ウェブサーバーのファイル許可を修正するには**

WordPress で使用できる機能の中には、Apache ドキュメントルートへの書き込み権限が必要なものがあります (管理画面を使った、メディアのアップロードなど)。まだ設定していない場合は、次のグループのメンバーシップおよびアクセス許可を適用します (プロセスの詳細は「[LAMP ウェブサーバーチュートリアル](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 ウェブサーバーを再起動して、新しいグループと許可を有効にします。

   ```
   [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 ウェブサーバー (`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](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 ウェブサーバー (`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](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 ウェブサイトの「[サイトの URL の変更](https://wordpress.org/support/article/changing-the-site-url/)」を参照してください。

**ブログを設定する**  
読者にパーソナライズされた体験を提供するため、さまざまな[テーマ](https://wordpress.org/themes/)や[プラグイン](https://wordpress.org/plugins/)を使用するようにブログを設定できます。ただし、インストールプロセスで問題が発生してブログ全体が失われることがあります。インストール中に問題が発生した場合もブログを復元できるように、テーマやプラグインを員ストーする前にインスタンスのバックアップ Amazon マシンイメージ (AMI) を作成しておくことを強くお勧めします。詳細については、「*Amazon EC2 ユーザーガイド*」の「[独自の AMI の作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami)」を参照してください。

**容量を増やす**  
WordPress ブログが人気になり処理能力やストレージを増やす必要がある場合は、次のステップを検討してください。
+ インスタンスストレージ領域を拡張する。詳細については、「[Amazon EBS Elastic Volumes](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](http://codex.wordpress.org/)」にある WordPress Codex ヘルプ文書を参照してください。
+ インストールのトラブルシューティングの詳細については、[「インストールに関する一般的な問題](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems)」を参照してください。
+ WordPress ブログのセキュリティ向上の詳細については、「[WordPress の強化](https://wordpress.org/support/article/hardening-wordpress/)」を参照してください。
+ WordPress ブログを最新状態に維持する方法についての詳細は、「[WordPress の更新](https://wordpress.org/support/article/updating-wordpress/)」を参照してください。

## ヘルプ\$1 パブリック DNS 名が変更されたため、ブログが壊れました
<a name="wordpress-troubleshooting-2023"></a>

WordPress のインストールは、EC2 インスタンスのパブリック DNS アドレスを使用して自動的に設定されます。インスタンスを停止および再開した場合、パブリック DNS アドレスが変更され (Elastic 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** を使用して調べることができます。

   ```
   [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 と新しいサイト 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. ウェブブラウザで、WordPress ブログの新しいサイト URL を入力し、サイトが再び正しく動作していることを確認します。正しく動作していない場合は、[「サイトの URL の変更](https://wordpress.org/support/article/changing-the-site-url/)」と[「一般的なインストールの問題](https://wordpress.org/support/article/how-to-install-wordpress/#common-installation-problems)」を参照してください。