すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ECSインスタンスでのWordPress Webサイトの構築

最終更新日:Aug 28, 2024

WordPressは、PHPで書かれたブログ公開システムです。 WordPressをコンテンツ管理システム (CMS) として使用したり、PHPおよびMySQLデータベースをサポートするサーバー上にWebサイトを構築したりできます。 このトピックでは、異なるオペレーティングシステムを実行するElastic Compute Service (ECS) インスタンスでWordPress Webサイトを構築する方法について説明します。

前提条件

WordPress WebサイトをビルドするECSインスタンスが作成され、次の要件を満たしています。

  • ECSインスタンスは、システムに割り当てられたパブリックIPアドレスまたはelastic IPアドレス (EIP) に関連付けられています。 詳細については、「ECSインスタンスのパブリックIPアドレスの変更」をご参照ください。

  • 必要なポートを開くために、インバウンドルールがインスタンスのセキュリティグループに追加されます。 インバウンドセキュリティグループルールを追加する方法の詳細については、「セキュリティグループルールの追加」をご参照ください。

    • ECSインスタンスがLinuxインスタンスの場合、ポート22、80、および443は開いています。

    • ECSインスタンスがWindowsインスタンスの場合、ポート80と3389は開いています。

    重要
    • サーバーデータのセキュリティを確保するため、LNMPスタックとWordPress Webサイトのデプロイとテストに必要なポートのみが開いています。 ビジネス要件に基づいて他のポートを開くことができます。 LNMPは、Linuxオペレーティングシステム、NGINX webサーバー、MySQLリレーショナルデータベース管理システム、およびPHPプログラミング言語のオープンソースコンポーネントの名前の頭字語です。 たとえば、ECSインスタンスにデプロイされているMySQLデータベースに接続する場合は、インスタンスのセキュリティグループにインバウンドルールを追加して、MySQLのデフォルトポートであるポート3306を開く必要があります。

手順

ECSインスタンスでWordPress Webサイトを構築するために実行する必要がある操作は、インスタンスのオペレーティングシステムによって異なる場合があります。 ECSインスタンスのオペレーティングシステムでサポートされている操作を実行します。

Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、およびCentOS 8

  1. ECS インスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. LNMPスタックをデプロイします。

    詳細については、「Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、またはCentOS 8インスタンスへのLNMPスタックのデプロイ」をご参照ください。

    重要

    使用するソフトウェアのバージョンに基づいて、パラメーター設定を変更する必要がある場合があります。 異なるバージョンのWordPressに必要なPHPとMySQLのバージョンについては、「WordPressの互換性」をご参照ください。

  3. (条件付きで必要) ECSインスタンスがCentOS 8を実行している場合は、CentOS 8リポジトリアドレスを変更します。

    説明

    CentOS8はEOLに到達しました。 Linuxコミュニティルールに従って、すべてのコンテンツが次のCentOS 8リポジトリアドレスから削除され http://mirror.centos.org/centos/8/ た。 Alibaba CloudでデフォルトのCentOS 8リポジトリを引き続き使用すると、エラーが報告されます。 CentOS 8の特定のインストールパッケージを使用するには、CentOS 8リポジトリアドレスを変更します。 詳細については、「CentOS 8リポジトリアドレスの変更」をご参照ください。

  4. WordPressデータベースを設定します。

    1. MySQLにログインします。

      説明

      rootユーザーを使用し、ユーザーのパスワードを入力してMySQLにログインします。 パスワードは、スタックを構築したときにMySQL用に設定したパスワードです。

      mysql -u root -p
    2. ビルドするwordpress WebサイトのWordPressという名前のデータベースを作成します。

      create database wordpress;
    3. userという名前のユーザーを作成してwordpressデータベースを管理し、ユーザーのパスワードをPASSword123に設定します。 データセキュリティを向上させる。

      create user 'user'@'localhost' identified by 'PASSword123.';
      説明
      1. show variables like "% password %"; コマンドを実行して、MySQLサーバー内のすべてのパスワード関連システム変数を照会できます。

      2. デフォルトでは、パスワードの強度を検証するために、validate_passwordプラグインがMySQL 5.7にインストールされます。 MySQLにログインして、パスワード強度ルールを表示できます。

    4. wordpressデータベースに対するすべての権限をuserという名前のユーザーに付与します。

      grant all privileges on wordpress.* to 'user'@'localhost';
    5. 上記の設定を適用します。

      flush privileges;
    6. MySQLを終了します。

      exit;
  5. WordPressをダウンロードし、ビルドするWebサイトのルートディレクトリに保存します。

    1. NGINX Webサイトのルートディレクトリに移動し、WordPressパッケージをダウンロードします。

      cd /usr/share/nginx/html
      sudo wget https://wordpress.org/wordpress-5.4.2.zip 
    2. (オプション) unzipをインストールします。

      sudo yum install unzip -y
    3. WordPressパッケージを解凍します。

      sudo unzip wordpress-5.4.2.zip
    4. WordPressインストールディレクトリにあるwp-config-sample.phpファイルの内容をwp-config.phpファイルにコピーし、wp-config-sample.phpファイルをバックアップとして使用します。

      cd /usr/share/nginx/html/wordpress
      sudo cp wp-config-sample.php wp-config.php
  6. WordPressの設定ファイルを変更します。

    1. wp-config.phpファイルを変更します。

      sudo vim wp-config.php
    2. Iキーを押して挿入モードに入ります。

      次のコードスニペットを使用して、構成されたWordPressデータベースに基づいてMySQL関連の設定を変更します。

      // ** MySQL settings - Obtain the information from your host. ** //
      /** The name of the WordPress database */
      define('DB_NAME', 'wordpress');
      
      /** The username of the MySQL database */
      define('DB_USER', 'user');
      
      /** The password of the MySQL database */
      define('DB_PASSWORD', 'PASSword123.');
      
      /** The host of the MySQL database */
      define('DB_HOST', 'localhost');
      説明

      WordPress Webサイトのデータは、userという名前のユーザーによってwordpressデータベースに保存されます。

    3. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して閉じます。

  7. Nginx 設定ファイルを変更します。

    Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7

    1. NGINX設定ファイルを開きます。

      sudo vim /etc/nginx/nginx.conf
    2. Iキーを押して挿入モードに入ります。

      説明

      この例では、ルートディレクトリは /usr/share/nginx/html/wordpressです。

      1. サーバー中括弧内で、rootに続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。

      2. 内でlocation ~. php $中かっこ、次のコンテンツを置き換えますルートをWordPress Webサイトのルートディレクトリに置き換えます。

        nginx配置文件

    3. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して閉じます。

    4. NGINXを再起動します。

      sudo systemctl restart nginx

    CentOS 8

    1. NGINX設定ファイルを開きます。

      sudo vi /etc/nginx/conf.d/default.conf
    2. Iキーを押して挿入モードに入ります。

      説明

      この例では、ルートディレクトリは /usr/share/nginx/html/wordpressです。

      1. location /中括弧内で、rootに続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。nginx

      2. location〜 \.php$ 中括弧内で、rootに続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。nginx

    3. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して閉じます。

    4. NGINXを再起動します。

      sudo systemctl restart nginx
  8. WordPressをインストールし、WordPress Webサイトにログインします。

    1. オンプレミスマシンで、webブラウザーを使用してhttp:// <ECSインスタンスのパブリックIPアドレス> にアクセスし、WordPressインストールページに移動します。

    2. WordPress Webサイトに関する基本情報を設定し、[インストールの実行] をクリックします。

      次のパラメーターを設定します。

      1. サイトタイトル: WordPress Webサイトの名前。 例: demowp.

      2. Username: WordPressへのログインに使用するユーザー名。 ユーザー名が安全であることを確認してください。 例: testwp。

      3. パスワード: WordPressへのログインに使用するパスワード。 強力なパスワードを指定することを推奨します。 例: Wp.1234556。

      4. メール: 通知の受信に使用するメールアドレス。 例: username@example.com。

    3. [Wordpressのインストール] をクリックします。

    4. WordPressのインストール時に指定したtestwpユーザー名とWp.123456パスワードを入力し、[ログイン] をクリックします。

      WordPress Webサイトにログオンしています。

Windows Server 2012 R2

  1. WordPress webサイトをビルドするWindowsインスタンスにweb環境が既にデプロイされていることを確認してください.

  2. Windowsインスタンスに接続し、WordPressインストールパッケージをダウンロードします。

    1. ECS インスタンスに接続します。

      詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。

    2. WordPressの公式WebサイトからWordPressインストールパッケージをダウンロードします。

      説明

      この例では、WordPress 5.3.2が使用されます。 中国本土内のリージョンにあるインスタンスでWordPressをダウンロードし、429 Too Many Requestsエラーが報告された場合は、再度お試しいただくか、サードパーティのWebサイトからWordPressインストールパッケージをダウンロードすることをお勧めします。

    3. WordPressインストールパッケージを解凍します。

      このチュートリアルでは、WordPressインストールパッケージをC:\wordpressディレクトリに解凍します。

  3. ビルドするWordPress WebサイトのMySQLデータベースを作成します。

    1. MySQLインストールディレクトリのbinフォルダーに移動し、空白の領域を右クリックしてShiftキーを押したままにして、Open command window hereを選択します。

      1

    2. MySQLにログインします。

      mysql -u root -p
    3. wordpressという名前のデータベースを作成します。

      create database wordpress;
  4. WordPressを設定します。

    1. C:\wordpressディレクトリで、wp-config-sample.phpファイルを見つけてファイルをコピーし、ファイルのコピー名をwp-config.phpに変更します。

    2. テキストエディターを使用してwp-config.phpファイルを開き、wordpressデータベースに関する情報を変更します。

      次の図に例を示します。1

    3. wp-config.phpファイルを保存します。

  5. WordPress Webサイトをサーバーマネージャーに追加します。

    1. Windowsタスクバーでサーバーマネージャーアイコンを見つけ、サーバーマネージャーを開きます。

      服务器管理器

    2. [サーバーマネージャー] ウィンドウの上部のナビゲーションバーで、[ツール] > [インターネットインフォメーションサービス (IIS) マネージャー] を選択します。

      1

    3. [接続] ペインで、<ECSインスタンス名> > [サイト] を選択します。

    4. ポート80にバインドされているWebサイトを削除するか、ポート番号を80から8080などの未使用のポート番号に変更します。

      1

    5. 右側の [操作] ウィンドウで、[Webサイトの追加] をクリックしてWordPress Webサイトを追加します。

      次の図は例を示しています。1

      次のパラメータに注意してください。

      • サイト名: WordPress Webサイトの名前を指定します。 この例では、wordpressと入力します。

      • アプリケーションプール: DefaultAppPoolを選択します。

      • 物理パス: WordPressインストールパッケージを解凍したディレクトリを選択します。 この例では、C:\wordpressを選択します。

      • ポート: 80を入力します。

  6. WordPressをインストールし、WordPress Webサイトにログインします。

    1. Windowsインスタンスで、webブラウザーを使用してhttp:// localhost/ にアクセスし、WordPressインストールページに移動します。

    2. WordPress Webサイトに関する基本情報を設定し、[インストールの実行] をクリックします。

      次のパラメーターを設定します。

      • サイトタイトル: WordPress Webサイトの名前。 例: demowp.

      • Username: WordPressへのログインに使用するユーザー名。 ユーザー名が安全であることを確認してください。 例: testwp。

      • パスワード: WordPressへのログインに使用するパスワード。 強力なパスワードを指定することを推奨します。

      • メール: 通知の受信に使用するメールアドレス。 (例:example.com)。

    3. [Wordpressのインストール] をクリックします。

    4. WordPressのインストール時に指定したユーザー名とパスワードを入力し、[ログイン] をクリックします。

      WordPress Webサイトにログオンしています。

WordPress Webサイトのドメイン名を解決する

ECSインスタンスのパブリックIPアドレスを使用してユーザーにWordPress Webサイトへのアクセスを許可すると、インスタンスのセキュリティが侵害されます。 ドメイン名をお持ちの場合、またはWordPress Webサイトのドメイン名を登録する場合は、次の手順を実行します。

  1. ドメイン名を登録します。

    詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。

  2. ドメイン名のインターネットコンテンツプロバイダ (ICP) 申請を申請します。

    WordPress Webサイトが中国本土内のリージョンにあるECSインスタンスでホストされている場合は、ICP申請を申請してください。 ICP登録プロセスの詳細については、概要.

  3. 登録されたドメイン名をECSインスタンスのパブリックIPアドレスに解決します。

    ドメイン名を使用してWebサイトにアクセスする場合は、ドメイン名解決が前提条件です。 詳細については、「Alibaba Cloud DNSの使用を開始する」をご参照ください。

  4. ECSインスタンスのパブリックIPアドレスを登録済みドメイン名に置き換えます。

    1. WordPress WebサイトがホストされているECSインスタンスに接続します。

      詳細については、「接続方法の概要」をご参照ください。

    2. (条件付きで必要) ECSインスタンスがWindowsを実行している場合は、この手順を実行します。

      WordPress WebサイトがホストされているECSインスタンスに戻ります。 MySQLインストールディレクトリのbinフォルダーに移動し、空白の領域を右クリックしてShiftキーを押したままにして、Open command window hereを選択します。

      1

    3. MySQLにログインします。

      mysql -u root -p
    4. WordPressデータベースに切り替えます。

      use wordpress;
    5. WordPress Webサイトの登録ドメイン名を設定します。

      説明

      この例では、登録された新しいドメイン名はwww.example.comです。

      • Linux インスタンス:

        ECSインスタンスのパブリックIPアドレスを登録済みドメイン名に置き換えます。

        update wp_options set option_value = replace(option_value, 'http://<Public IP address of the instance>', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
      • Windowsインスタンス:

        http:// localhost/ を登録済みドメイン名に置き換えます。

        update wp_options set option_value = replace(option_value, 'http://localhost', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
    6. MySQLを終了します。

      exit;

      登録されたドメイン名は、WordPress Webサイトに設定されます。

よくある質問

WordPressでURLを指定した後、固定URLにアクセスできないのはなぜですか?

Webサイトを静的にして、検索エンジンがWebサイトにインデックスを付けるのに役立ちます。 WordPress Webサイトの固定URLを指定する前に、NGINXサーバーで静的ルールを設定します。 以下の手順を実行します。

  1. WordPress WebサイトがホストされているECSインスタンスにログインします。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. NGINX設定ファイルを開きます。

    sudo vim /etc/nginx/nginx.conf
  3. Iキーを押して挿入モードに入ります。

  4. location /コードブレース内に、次のコードスニペットを追加します。

    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
  5. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して閉じます。

  6. NGINXを再起動します。

    sudo systemctl restart nginx

WordPressでテーマやプラグインのバージョンを更新またはアップロードしようとしたときに、FTPログオン資格情報の入力を求められるのはなぜですか。

WordPress設定ファイルでテーマまたはプラグインを設定する権限がない場合があります。 問題を解決するには、次の手順を実行します。

  1. WordPress WebサイトがホストされているECSインスタンスにログインします。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. WordPress設定ファイルを開きます。

    sudo vim /usr/share/nginx/html/wordpress/wp-config.php
  3. Iキーを押して挿入モードに入ります。

  4. 次のコードスニペットをファイルの末尾に追加します。

    define("FS_METHOD","direct");
    define("FS_CHMOD_DIR", 0777);
    define("FS_CHMOD_FILE", 0777);
  5. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して閉じます。

  6. WordPressダッシュボードに戻り、ページを更新します。 FTPログオン資格情報の問題が解決したかどうかを確認します。

    ディレクトリを作成できない場合は、ECSインスタンスで次のコマンドを実行して、Webサイトのルートディレクトリに対する権限を持つユーザーをNGINXユーザーに切り替えます。 この例では、nginxユーザーが使用されます。

    sudo chown -R nginx /usr/share/nginx/html/wordpress

WordPressイメージのMySQL 5.7データベースのデフォルトのユーザー名とパスワードを変更するにはどうすればよいですか?

以下の手順を実行します。

  1. WordPressイメージを使用するECSインスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. MySQLにログインします。

    mysql -u root -p

    プロンプトに従って、MySQLのルートユーザーのデフォルトのパスワードmysql57@onesul.comを入力します。

    [test@izbp1cgfkqcrs8pi2li**** ~]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.23 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
  3. MySQLデータベースにログインします。

    use mysql
    説明

    MySQLデータベースのユーザー名を表示するには、select user fro m mysql.us er; コマンドを実行します。

  4. ビジネス要件に基づいて、MySQLデータベースのデフォルトのユーザー名とパスワードを変更します。

    • MySQLデータベースのデフォルトのユーザー名を変更します。

      update user set user="<New username>" where user="<Username>";

      この例では、次のコマンドを実行して、デフォルトのユーザー名をrootからadminに変更します。

      updat e mysql.us er set user="admin" where user="root";
    • デフォルトのユーザー名のパスワードを変更します。

      update mysql.user set authentication_string=password("<New password>") where user="<Username whose password you want to change>";

      この例では、次のコマンドを実行して、rootユーザー名のパスワードをnewpasswordに変更します。

      update mysql.user set authentication_string=password("newpassword") where user="root";
  5. 特権テーブルをリロードし、変更を適用します。

    flush privileges; 
  6. MySQLを終了します。

    quit;