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

Elastic Compute Service:CentOS 7インスタンスでWordPress Webサイトを構築する

最終更新日:Feb 27, 2024

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

準備

既存のECSインスタンスでWordPress Webサイトを構築するには、インスタンスが次の要件を満たしていることを確認します。

  • インスタンスには、パブリックIPアドレスまたはelastic IPアドレス (EIP) があります。

  • インスタンスはCentOS 7のマイナーバージョンを実行します。

  • インバウンドルールがインスタンスのセキュリティグループに追加され、ポート22、ポート80、およびポート443のトラフィックが許可されます。 詳細については、「セキュリティグループルールの追加」をご参照ください。

    重要

    サーバーデータのセキュリティを確保するため、LNMPスタックとWordPress Webサイトのデプロイとテストに必要なポートのみが開いています。 ビジネス要件に基づいて他のポートを開きます。 たとえば、ECSインスタンスにデプロイされているMySQLデータベースに接続する場合は、インスタンスのセキュリティグループにインバウンドルールを追加して、MySQLで使用されるデフォルトのポートであるポート3306でトラフィックを許可する必要があります。

WordPress の Web サイトの構築

クイック展開

クイックデプロイモードでは、Alibaba Cloud Resource Orchestration Service (ROS) を活用して、LNMPスタックとWordPress Webサイトをすばやくデプロイできます。 手動デプロイと比較して、この方法はリソースのデプロイと構成を自動化します。

  1. ROSコンソールにログインし、[新しいリソースを使用する (標準)] ページに移動します。

  2. 上部のナビゲーションバーの左上隅で、リージョンを選択します。地域.png

  3. [テンプレートパラメーターの設定] ステップで、スタックの名前を入力し、ECSインスタンスを作成または選択してから、MySQLデータベースのパスワードを入力します。

    ECSインスタンスを作成するには、インスタンスのゾーン、インスタンスタイプ、システムディスクカテゴリ、およびパスワードを指定します。

    重要

    作成されたインスタンスが、CentOS 7のマイナーバージョンを実行し、ネットワーク使用にトラフィック課金方式を使用し、パブリックIPアドレスを持つ従量課金インスタンスであることを確認します。 ECSインスタンスとパブリックIPアドレスの課金については、「課金の概要」をご参照ください。

  4. [作成] をクリックします。

    [スタック情報] タブの [ステータス] セクションで、[作成][作成済み] に変更した場合、WordPressがデプロイされます。

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

    1. [出力] タブをクリックし、[WordPressUrl] の横にあるURLをクリックします。 このURLは、使用するECSインスタンスのパブリックIPアドレスです。

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

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

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

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

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

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

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

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

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

手動展開

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

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

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

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

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

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

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

      mysql -uroot -p
    2. ビルドするWordPress Webサイトのデータベースを作成します。

      この例では、wordpress Webサイト用にWordPressという名前のデータベースが作成されます。

      データベースwordpressを作成します。
    3. セキュリティを向上させるために、wordpressデータベースを管理する新しいユーザーを作成します。

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

      show variables like "% password %";

      この例では、作成されたユーザーはuserで、パスワードはPASSword123です。

      作成ユーザー 'user' @ 'localhost' で識別される 'PASSword123。';
    4. wordpressデータベースに対するすべての権限をユーザーに付与します。

      ワードプレスのすべての権限を付与します。* に 'user' @ 'localhost' 識別 'PASSword123.';
    5. 上記の設定を適用します。

      フラッシュ特権;
    6. MySQLを終了します。

      出口;
  4. WordPressをダウンロードし、ビルドするWebサイトのルートディレクトリに移動します。

    1. WordPressをダウンロードします。

      次のyumコマンドを実行してWordPressをダウンロードします。 ダウンロードしたWordPressパッケージは、自動的に /usr/share/wordpressディレクトリに保存されます。

      sudo yum -y install wordpress
    2. WordPressパッケージを、ビルドするWebサイトのルートディレクトリに移動します。

      sudo mv /usr/share/wordpress /usr/share/nginx/html/wordpress
  5. WordPressの設定ファイルを変更します。

    1. 新しいWordPressディレクトリに移動し、wp-config.php設定ファイルへのシンボリックリンクを作成します。

      cd /usr/share/nginx/html /ワードプレス
      sudo ln -snf /etc/wordpress/wp-config.php wp-config.php 
    2. wp-config.phpファイルを編集します。

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

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

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

      // **MySQL設定-情報はホストから送信されます。 **//
      /**WordPressデータベースの名前 * /
      define('DB_NAME '、'wordpress');
      
      /**MySQLデータベースのユーザー名 * /
      define('DB_USER', 'user');
      
      /**MySQLデータベースのパスワード * /
      define('DB_PASSWORD '、'PASSword123.');
      
      /**MySQLデータベースのホスト * /
      define('DB_HOST', 'localhost'); 
    4. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して終了します。

  6. NGINXの設定ファイルを変更します。

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

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

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

      • 場所内〜。php$ 中かっこで、rootの後のコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。

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

        nginx配置文件

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

    4. NGINXを再起動します。

      sudo systemctl再起動nginx
  7. WordPressをインストールし、WordPress Webサイトにログインします。

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

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

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

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

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

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

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

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

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

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

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

ECSインスタンスのパブリックIPアドレスを使用してユーザーがWordPress Webサイトにアクセスできるようにすると、ECSインスタンスのセキュリティが侵害されます。 ドメイン名をお持ちの場合、またはWordPress Webサイトのドメイン名を登録する必要がある場合は、次の手順を実行します。 この例では、ドメイン名www.example.comが登録されています。

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

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

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

    ドメイン名のWebサイトが中国本土のリージョンにあるECSインスタンスでホストされている場合、ICP申請を申請する必要があります。

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

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

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

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

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

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

      mysql -uroot -p
    3. WordPressデータベースに切り替えます。

      使用wordpress;
    4. ECSインスタンスのパブリックIPアドレスを新しいドメイン名に置き換えます。

      update wp_options set option_value = replace(option_value, 'http:// <インスタンスのパブリックIPアドレス> ', 'http:// www.example.com') ここで、option_name = 'home' OR option_name = 'siteurl';
    5. MySQLを終了します。

      出口;

      新しいドメイン名が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){
    書き換え (.*) $1/index.htmlブレーク;
    }
    if (-f $request_filename/index.php){
    書き換え (.*) $1/index.php;
    }
    if (!-f $request_filename){
    書き換え (.*) /index.php;
    } 
  5. Escキーを押して挿入モードを終了します。 :wqと入力し、Enterキーを押して設定ファイルを保存して終了します。

  6. NGINXを再起動します。

    sudo systemctl再起動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 /ワードプレス