

 AWS Cloud9 は新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# の WordPress チュートリアル AWS Cloud9
<a name="sample-wordpress"></a>

このチュートリアルでは、 AWS Cloud9 開発環境内で WordPress をインストールして実行できます。WordPress は、配信ウェブコンテンツに広く使用されているオープンソースのコンテンツ管理システム (CMS) です。

**注記**  
このチュートリアルに従い、このサンプルを作成すると、 AWS アカウントに料金が発生する可能性があります。これには、Amazon Elastic Compute Cloud (Amazon EC2) などのサービスに対して発生する可能性のある料金が含まれます。詳細については、「[Amazon EC2 の料金](https://aws.amazon.com/ec2/pricing/)」を参照してください。

## 前提条件
<a name="sample-wordpress-prereqs"></a>

このサンプルを使用する前に、設定が次の要件を満たしていることを確認します。
+ **既存の AWS Cloud9 EC2 開発環境が必要です。**このサンプルは、Amazon Linux または Ubuntu Server を実行する Amazon EC2 インスタンスに接続された EC2 環境が既にあることを前提としています。別のタイプの環境またはオペレーティングシステムがある場合、このサンプルの指示を関連ツールを設定する必要がある場合があります。詳細については、「[での環境の作成 AWS Cloud9](create-environment.md)」を参照してください。
+ **既存の環境の AWS Cloud9 IDE が既に開いている。**環境を開くと、 はウェブブラウザでその環境の IDE AWS Cloud9 を開きます。詳細については、「[で環境を開く AWS Cloud9](open-environment.md)」を参照してください。
+ **すべての最新ソフトウェアパッケージを含む最新の EC2 インスタンスを持っています**。 AWS Cloud9 IDE ターミナルウィンドウで、 オプション`yum update`を使用して を実行し、確認を求めることなく更新`-y`をインストールできます。インストール前に更新を検査する場合は、このオプションを省略できます。

  ```
  sudo yum update -y
  ```

## インストールの概要
<a name="task-overview"></a>

環境の EC2 インスタンスに WordPress をインストールするには、以下のステップを実行:

1. WordPress インストールに関する情報を格納するオープンソースのリレーショナルデータベースである MariaDB サーバーのインストールと設定 

1. WordPress のインストールと設定。これには、`wordpress.conf` 設定ファイルの編集が含まれます。

1. WordPress サイトをホストする Apache サーバーの設定

1. Apache サーバーによってホストされている WordPress ウェブコンテンツのプレビュー

## ステップ 1: MariaDB サーバーのインストールと設定
<a name="wp-install-configure-mariadb"></a>

1.  AWS Cloud9 IDE で、**ウィンドウ**、**新しいターミナル**を選択し、次のコマンドを入力して MariaDB サーバーのインストールをインストールして開始します。

   ```
   sudo yum install -y mariadb-server
   sudo systemctl start mariadb
   ```

1. 次に、`mysql_secure_installation` スクリプトを実行して、MariaDB サーバーのインストールのセキュリティを向上させることができます。

   スクリプトへの応答を指定するときは、最初の質問に対して、［**入力**］を押して、root パスワードを空白のままにします。`Set root password?` に対して**n**を押し、残りの各セキュリティオプションに対しては**y**を押します。

   ```
   mysql_secure_installation
   ```

1. 今、MariaDB クライアントを使用して WordPress 情報を保存するためデータベーステーブルを作成します。

   (パスワードを求められた場合、**入力**を押します。)

   ```
   sudo mysql -u root -p
   MariaDB [(none)]> create database wp_test;
   MariaDB [(none)]> grant all privileges on wp_test.* to root@localhost identified by ';'
   ```

1. MariaDB クライアントからログアウトするには、`exit` コマンドを実行します。

## ステップ 2: WordPress のインストールと設定
<a name="wp-install-configure-wordpress"></a>

1. IDE ターミナルウィンドウで、`environment`ディレクトリに移動して、ディレクトリ `config` および `wordpress` を作成します。次に、`touch` コマンドを実行して、`config` ディレクトリで `wordpress.conf` という名前のファイルを作成:

   ```
   cd /home/ec2-user/environment
   mkdir config wordpress
   touch config/wordpress.conf
   ```

1. IDE エディタまたは vim を使用して、`wordpress.conf`を更新して、Apache サーバーによる WordPress コンテンツの提供を許可するホスト構成情報に置き換え:

   ```
   # Ensure that Apache listens on port 80
   Listen 8080
   <VirtualHost *:8080>
       DocumentRoot "/var/www/wordpress"
       ServerName www.example.org
       # Other directives here
   </VirtualHost>
   ```

1. 次に、次のコマンドを実行して必要なアーカイブファイルを取得し、WordPress をインストール: 

   ```
   cd /home/ec2-user/environment
   wget https://wordpress.org/latest.tar.gz
   tar xvf latest.tar.gz
   ```

1. `touch` コマンドを実行して、`environment/wordpress` ディレクトリで `wp-config.php` という名前のファイルを作成:

   ```
   touch wordpress/wp-config.php
   ```

1. IDE エディタまたは vim を使用して `wp-config.php` を更新します。次に、サンプルデータを自分の設定に置き換えます。

   ```
   // ** MySQL settings - You can get this info from your web host ** //
   /** The name of the database for WordPress */
   define( 'DB_NAME', 'wp_test' );
   
   /** MySQL database username */
   define( 'DB_USER', 'wp_user' );
   
   /** MySQL database password */
   define( 'DB_PASSWORD', 'YourSecurePassword' );
   
   /** MySQL hostname */
   define( 'DB_HOST', 'localhost' );
   
   /** Database Charset to use in creating database tables. */
   define( 'DB_CHARSET', 'utf8' );
   
   /** The Database Collate type. Don't change this if in doubt. */
   define( 'DB_COLLATE', '' );
   
   define('FORCE_SSL', true);
   
   if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS'] = 'on';
   ```

## ステップ 3: Apache HTTP サーバーの設定
<a name="wp-install-configure-apache"></a>

1.  AWS Cloud9 IDE ターミナルウィンドウで、Apache がインストールされていることを確認します。

   ```
   httpd -v
   ```

   Apache サーバー がインストールされていないのであれば、次のコマンドを実行:

   ```
   sudo yum install -y httpd 
   ```

1. `/etc/httpd/conf.d` ディレクトリに移動します。このディレクトリは Apache の仮想ホスト設定ファイルの場所です。次に、`ln` コマンドを実行して、以前に作成した `wordpress.conf` を現在の作業ディレクトリ (`/etc/httpd/conf.d`)にリンク:

   ```
   cd /etc/httpd/conf.d
   sudo ln -s /home/ec2-user/environment/config/wordpress.conf
   ```

1. さて、`/var/www` ディレクトリに移動します。ここは Apache サーバーのデフォルトのルートフォルダです。そして、`ln` コマンドを実行して、先ほど作成した `wordpress` ディレクトリを、現在の作業ディレクトリ (`/var/www`)とリンク: 

   ```
   cd /var/www
   sudo ln -s /home/ec2-user/environment/wordpress
   ```

1. `chmod` コマンドを実行して、Apache サーバーによる `wordpress` サブディレクトリでのコンテンツ実行を許可:

   ```
   sudo chmod +x /home/ec2-user/
   ```

1. Apache サーバーを再起動して、新しい設定の検出を許可: 

   ```
   sudo service httpd restart
   ```

## ステップ 4: WordPress ウェブコンテンツのプレビュー
<a name="wp-preview-wordpress"></a>

1.  AWS Cloud9 IDE を使用して、 ディレクトリ`index.html`に という名前の新しいファイルを作成します`environment/wordpress`。

1. HTML 形式のテキストを `index.html` に追加します。例えば、次のようになります。

   ```
   <h1>Hello World!</h1>
   ```

1. **[環境]**ウィンドウで、`index.html` ファイルを選択してから、**[プレビュー]**、**[実行中のアプリケーションのプレビュー]** の順に選択します。

   *Hello World\$1*メッセージを表示しているウェブページは、アプリケーションのプレビュータブに表示されます。ご希望のブラウザーでウェブコンテンツを表示するには、**Pop Out Into New Window (新しいウィンドウで開く)**を選択してください。

   `index.html` ファイルを削除し、アプリケーションのプレビュータブを更新すると、WordPress の設定ページが表示されます。

## 混在コンテンツのエラーを管理する
<a name="wp-allow-mixed"></a>

ウェブブラウザは、HTTPS スクリプトと HTTP スクリプトまたはコンテンツを同時にロードしている場合、WordPress サイトの混在コンテンツエラーを表示します。エラーメッセージの文言は、使用しているウェブブラウザーによって異なりますが、サイトへの接続が安全でないか、完全に安全でないことが通知されます。また、ウェブブラウザは、混在コンテンツへのアクセスをブロックします。

**重要**  
デフォルトで、 AWS Cloud9 IDE アプリケーションのプレビュータブでアクセスするすべての ウェブページは自動的に HTTPS プロトコルを使用します。ページの URI が安全でない `http` プロトコルをとりあげている場合、`https` によって自動的に置き換えられます。また、手動で `https` を `http` に変更しても、安全でないコンテンツにアクセスすることはできません。  
ウェブサイトに HTTPS 実装に関するガイダンスについては、[WordPress のドキュメント](https://wordpress.org/support/article/https-for-wordpress/)を参照してください。