WordPress は、ブログ、ニュース ウェブサイト、e コマース ウェブサイト、ソーシャルメディア ウェブサイトなど、ウェブサイトを簡単に作成および管理できる無料のオープンソース コンテンツ管理システム (CMS) です。 WordPress には、ウェブサイトの外観と機能をカスタマイズできる豊富なテーマとプラグインのライブラリがあります。 このトピックでは、異なる Linux オペレーティングシステムを実行する Elastic Compute Service (ECS) インスタンス上に WordPress ウェブサイトを構築する方法について説明します。
準備
既存の Linux ECS インスタンス上に WordPress ウェブサイトを構築するには、インスタンスが以下の要件を満たしていることを確認してください。
パブリック IP アドレスが ECS インスタンスに自動的に割り当てられます。 あるいは、Elastic IP アドレス (EIP) が ECS インスタンスに関連付けられています。 パブリック帯域幅を有効にする方法については、「パブリック帯域幅を有効にする」をご参照ください。
ポート 22 と 80 を開くために、Linux ECS インスタンスのセキュリティグループにインバウンドルールが追加されます。 セキュリティグループルールの追加方法については、「セキュリティグループルールを追加する」をご参照ください。
重要セキュリティ上の理由から、LNMP スタックと WordPress ウェブサイトをデプロイおよびテストするために必要なポートのみが開いています。 LNMP は、次のオープンソースコンポーネントの名前の頭字語です。Linux オペレーティングシステム、NGINX Web サーバー、MySQL リレーショナルデータベース管理システム、および PHP プログラミング言語。 ビジネス要件に基づいて他のポートを開くことができます。 たとえば、ECS インスタンスにデプロイされている MySQL データベースに接続する場合、インスタンスのセキュリティグループにインバウンドルールを追加して、MySQL のデフォルトポートであるポート 3306 を開く必要があります。
手順
Linux ECSインスタンスにWordPress Webサイトを構築するために使用する必要があるコマンドは、インスタンスのオペレーティングシステムによって異なる場合があります。 Linux ECSインスタンスのオペレーティングシステムに適したコマンドを使用してください。 そうしないと、WordPress Webサイトを構築できない場合があります。 このトピックでは、Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、および CentOS 8 を実行する ECS インスタンスを使用して、WordPress 6.4 をデプロイします。
LNMP スタックをデプロイします。詳細については、「LNMP スタックをデプロイする」をご参照ください。
重要LNMP スタックのデプロイ方法については、「LNMP スタックをデプロイする」をご参照ください。WordPress の各バージョンには、特定の PHP および MySQL のバージョンが必要です。PHP または MySQL のバージョンがインストールする WordPress のバージョンと互換性がない場合、WordPress のインストールに失敗する可能性があります。各 WordPress バージョンと互換性のある PHP および MySQL のバージョンの詳細については、「WordPress Compatibility」をご参照ください。
このトピックでは、Web サーバーである NGINX を使用します。Linux ECS インスタンスに Apache がインストールされている場合、ポート 80 が Apache によって使用されているため、WordPress にアクセスできません。
ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
WordPress 用のデータベースを構成します。
MySQL にログインします。
説明root
ユーザーを使用して、MySQL にログインするためのユーザーのパスワードを入力します。パスワードは、LNMP スタックを構築したときに MySQL 用に構成したパスワードです。mysql -u root -p
構築する WordPress Web サイト用に
wordpress
という名前のデータベースを作成します。create database wordpress;
user
という名前のユーザーを作成して wordpress データベースを管理し、データセキュリティを高めるためにユーザーのパスワードをPASSword123.
に設定します。create user 'user'@'localhost' identified by 'PASSword123.';
説明show variables like "%password%";
コマンドを実行して、MySQL パスワードの強度ルールをクエリできます。この例では、MySQL パスワードに次の強度ルールが適用されます。パスワードは 8 ~ 30 文字で、大文字、小文字、数字、および特殊文字を含める必要があります。サポートされている特殊文字には、( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? /
が含まれます。デフォルトでは、validate_password プラグインは MySQL 5.7 以降のバージョンにインストールされており、パスワードの強度を検証します。
wordpress
データベースに対するすべての権限を user という名前のユーザーに付与します。grant all privileges on wordpress.* to 'user'@'localhost';
上記の変更内容を適用します。
flush privileges;
MySQL を終了します。
exit;
WordPress をダウンロードし、構築する Web サイトのルートディレクトリに保存します。
NGINX Web サイトのルートディレクトリに移動し、WordPress パッケージをダウンロードします。
説明この例では、デフォルトで WordPress の中国語版がインストールされています。WordPress の英語版をインストールするには、
wget https://wordpress.org/wordpress-6.4.4.zip
コマンドを実行して、WordPress の英語版のパッケージをダウンロードします。後続の手順で使用されるコマンドで、wordpress-6.4.4-zh_CN.zip をwordpress-6.4.4.zip
に置き換えます。cd /usr/share/nginx/html sudo wget https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip
(オプション)
unzip
コマンドをインストールします。Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、または CentOS 8 で次のコマンドを実行します。
sudo yum install unzip -y
Ubuntu 20.04 以降で次のコマンドを実行します。
sudo apt install unzip -y
WordPress パッケージを解凍します。
sudo unzip wordpress-6.4.4-zh_CN.zip
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
WordPress の構成ファイルを編集します。
wp-config.php
ファイルを開きます。sudo vim wp-config.php
I
キーを押して挿入モードに入ります。次のコードスニペットに示すように、WordPress 用に構成されたデータベースに基づいて、MySQL 関連の設定を変更します。
説明WordPress 構成ファイルで指定する WordPress 用データベースの名前、MySQL データベースユーザー名、および MySQL データベースパスワードは、「WordPress 用のデータベースを構成する」手順で構成したものと同じである必要があります。
// ** MySQL settings - Obtain the information from your host. ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** The MySQL database username */ define('DB_USER', 'user'); /** The MySQL database password */ define('DB_PASSWORD', 'PASSword123.'); /** The MySQL hostname */ define('DB_HOST', 'localhost');
説明WordPress Web サイトのデータは、
wordpress
データベースのuser
という名前のユーザーによって保存されます。Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して構成ファイルを保存して閉じます。
NGINX 構成ファイルを編集します。
次のコマンドを実行して NGINX 構成ファイルを開きます。
sudo vi /etc/nginx/conf.d/default.conf
I
キーを押して挿入モードに入り、構成ファイルを編集します。Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、または CentOS 8
server
の括弧内で、root
の後のコンテンツを WordPress Web サイトのルートディレクトリに置き換えます。この例では、WordPress Web サイトのルートディレクトリは
/usr/share/nginx/html/wordpress
です。location ~ .php$
の括弧内で、root
の後のコンテンツを WordPress Web サイトのルートディレクトリに置き換えます。
説明コンテンツを WordPress Web サイトのルートディレクトリに置き換えるときは、ルートディレクトリにセミコロン (
;
) を追加します。追加しないと、NGINX を再起動できません。この例では、
php-fpm
のリスニングアドレスは/run/php-fpm/www.sock
です。実際の値に置き換えてください。
Ubuntu 20.04 以降
server
の括弧内で、root
の後のコンテンツを WordPress Web サイトのルートディレクトリに置き換えます。この例では、WordPress Web サイトのルートディレクトリは
/usr/share/nginx/html/wordpress
です。location ~ .php$
の括弧内で、root
の後のコンテンツを WordPress Web サイトのルートディレクトリに置き換えます。
説明コンテンツを WordPress Web サイトのルートディレクトリに置き換えるときは、ルートディレクトリにセミコロン (
;
) を追加します。追加しないと、NGINX を再起動できません。この例では、
php-fpm
のリスニングアドレスは/run/php/php8.4-fpm/www.sock
です。実際の値に置き換えてください。
Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して構成ファイルを保存して閉じます。次のコマンドを実行して NGINX を再起動します。
sudo systemctl restart nginx
WordPress をインストールし、WordPress Web サイトにログインします。
オンプレミスのコンピューターで、Web ブラウザーを使用して
http://<ECS インスタンスのパブリック IP アドレス>
にアクセスし、WordPress インストールページに移動します。WordPress Web サイトの基本情報を構成し、[インストールを実行] をクリックします。
次のパラメーターを構成します。
サイトのタイトル: WordPress Web サイトの名前。例: demowp。
ユーザー名: WordPress へのログインに使用するユーザー名。ユーザー名が安全であることを確認してください。例: testwp。
パスワード: WordPress へのログインに使用するパスワード。強力なパスワードを指定することをお勧めします。例: Wp.123456。
メールアドレス: 通知の受信に使用するメールアドレス。例: username@example.com。
[WordPress をインストール] をクリックします。
WordPress のインストール時に指定した
testwp
ユーザー名とWp.123456
パスワードを入力し、[ログイン] をクリックします。WordPress Web サイトにログインしました。WordPress の使用方法の詳細については、「WordPress ドキュメント」をご参照ください。
関連操作
WordPress ウェブサイトのドメイン名を設定する
よくある質問
Q1: WordPress ウェブサイトがホストされている ECS インスタンスのパブリック IP アドレスを使用して WordPress ウェブサイトにアクセスできないのはなぜですか?
Q2: WordPress でパーマリンクを構成した後、パーマリンクにアクセスできないのはなぜですか?
Q3: WordPress のバージョンを更新したり、テーマまたはプラグインをアップロードしたりしようとすると、FTP ログイン資格情報の入力を求められるか、ディレクトリを作成できないのはなぜですか?
Q4: WordPress イメージで MySQL 5.7 データベースのデフォルトのユーザー名とパスワードを変更するにはどうすればよいですか?
参考文献
Docker を使用して WordPress をデプロイできます。詳細については、「Docker Compose を使用してアプリケーションをデプロイする」をご参照ください。
1 つの ECS インスタンスに複数の Web サイトを構築できます。詳細については、以下のトピックをご参照ください。
ドメイン名が WordPress Web サイトに接続されている場合は、ドメイン名に対して HTTPS を介した暗号化通信を設定できます。詳細については、「SSL 証明書をデプロイする」をご参照ください。