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
ECS インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
LNMPスタックをデプロイします。
詳細については、「Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、またはCentOS 8インスタンスへのLNMPスタックのデプロイ」をご参照ください。
重要使用するソフトウェアのバージョンに基づいて、パラメーター設定を変更する必要がある場合があります。 異なるバージョンのWordPressに必要なPHPとMySQLのバージョンについては、「WordPressの互換性」をご参照ください。
(条件付きで必要) 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リポジトリアドレスの変更」をご参照ください。
WordPressデータベースを設定します。
MySQLにログインします。
説明root
ユーザーを使用し、ユーザーのパスワードを入力してMySQLにログインします。 パスワードは、スタックを構築したときに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サーバー内のすべてのパスワード関連システム変数を照会できます。デフォルトでは、パスワードの強度を検証するために、validate_passwordプラグインがMySQL 5.7にインストールされます。 MySQLにログインして、パスワード強度ルールを表示できます。
wordpress
データベースに対するすべての権限をuserという名前のユーザーに付与します。grant all privileges on wordpress.* to 'user'@'localhost';
上記の設定を適用します。
flush privileges;
MySQLを終了します。
exit;
WordPressをダウンロードし、ビルドするWebサイトのルートディレクトリに保存します。
NGINX Webサイトのルートディレクトリに移動し、WordPressパッケージをダウンロードします。
cd /usr/share/nginx/html sudo wget https://wordpress.org/wordpress-5.4.2.zip
(オプション)
unzip
をインストールします。sudo yum install unzip -y
WordPressパッケージを解凍します。
sudo unzip wordpress-5.4.2.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関連の設定を変更します。
// ** 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
データベースに保存されます。Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して設定ファイルを保存して閉じます。
Nginx 設定ファイルを変更します。
Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7
NGINX設定ファイルを開きます。
sudo vim /etc/nginx/nginx.conf
I
キーを押して挿入モードに入ります。説明この例では、ルートディレクトリは
/usr/share/nginx/html/wordpress
です。サーバー
中括弧内で、root
に続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。内で
location ~. php $
中かっこ、次のコンテンツを置き換えますルート
をWordPress Webサイトのルートディレクトリに置き換えます。
Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して設定ファイルを保存して閉じます。NGINXを再起動します。
sudo systemctl restart nginx
CentOS 8
NGINX設定ファイルを開きます。
sudo vi /etc/nginx/conf.d/default.conf
I
キーを押して挿入モードに入ります。説明この例では、ルートディレクトリは
/usr/share/nginx/html/wordpress
です。location /
中括弧内で、root
に続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。location〜 \.php$
中括弧内で、root
に続くコンテンツをWordPress Webサイトのルートディレクトリに置き換えます。
Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して設定ファイルを保存して閉じます。NGINXを再起動します。
sudo systemctl restart nginx
WordPressをインストールし、WordPress Webサイトにログインします。
オンプレミスマシンで、webブラウザーを使用して
http:// <ECSインスタンスのパブリックIPアドレス>
にアクセスし、WordPressインストールページに移動します。WordPress Webサイトに関する基本情報を設定し、[インストールの実行] をクリックします。
次のパラメーターを設定します。
サイトタイトル: WordPress Webサイトの名前。 例: demowp.
Username: WordPressへのログインに使用するユーザー名。 ユーザー名が安全であることを確認してください。 例: testwp。
パスワード: WordPressへのログインに使用するパスワード。 強力なパスワードを指定することを推奨します。 例: Wp.1234556。
メール: 通知の受信に使用するメールアドレス。 例: username@example.com。
[Wordpressのインストール] をクリックします。
WordPressのインストール時に指定した
testwp
ユーザー名とWp.123456
パスワードを入力し、[ログイン] をクリックします。WordPress Webサイトにログオンしています。
Windows Server 2012 R2
WordPress webサイトをビルドするWindowsインスタンスにweb環境が既にデプロイされていることを確認してください.
Windowsインスタンスに接続し、WordPressインストールパッケージをダウンロードします。
ECS インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
WordPressの公式WebサイトからWordPressインストールパッケージをダウンロードします。
説明この例では、WordPress 5.3.2が使用されます。 中国本土内のリージョンにあるインスタンスでWordPressをダウンロードし、
429 Too Many Requests
エラーが報告された場合は、再度お試しいただくか、サードパーティのWebサイトからWordPressインストールパッケージをダウンロードすることをお勧めします。WordPressインストールパッケージを解凍します。
このチュートリアルでは、WordPressインストールパッケージを
C:\wordpress
ディレクトリに解凍します。
ビルドするWordPress WebサイトのMySQLデータベースを作成します。
MySQLインストールディレクトリのbinフォルダーに移動し、空白の領域を右クリックして
Shift
キーを押したままにして、Open command window hereを選択します。MySQLにログインします。
mysql -u root -p
wordpress
という名前のデータベースを作成します。create database wordpress;
WordPressを設定します。
C:\wordpress
ディレクトリで、wp-config-sample.php
ファイルを見つけてファイルをコピーし、ファイルのコピー名をwp-config.php
に変更します。テキストエディターを使用して
wp-config.php
ファイルを開き、wordpress
データベースに関する情報を変更します。次の図に例を示します。
wp-config.php
ファイルを保存します。
WordPress Webサイトをサーバーマネージャーに追加します。
Windowsタスクバーでサーバーマネージャーアイコンを見つけ、サーバーマネージャーを開きます。
[サーバーマネージャー] ウィンドウの上部のナビゲーションバーで、
を選択します。[接続] ペインで、
を選択します。ポート80にバインドされているWebサイトを削除するか、ポート番号を80から8080などの未使用のポート番号に変更します。
右側の [操作] ウィンドウで、[Webサイトの追加] をクリックしてWordPress Webサイトを追加します。
次の図は例を示しています。
次のパラメータに注意してください。
サイト名: WordPress Webサイトの名前を指定します。 この例では、
wordpress
と入力します。アプリケーションプール: DefaultAppPoolを選択します。
物理パス: WordPressインストールパッケージを解凍したディレクトリを選択します。 この例では、
C:\wordpress
を選択します。ポート: 80を入力します。
WordPressをインストールし、WordPress Webサイトにログインします。
Windowsインスタンスで、webブラウザーを使用して
http:// localhost/
にアクセスし、WordPressインストールページに移動します。WordPress Webサイトに関する基本情報を設定し、[インストールの実行] をクリックします。
次のパラメーターを設定します。
サイトタイトル: WordPress Webサイトの名前。 例: demowp.
Username: WordPressへのログインに使用するユーザー名。 ユーザー名が安全であることを確認してください。 例: testwp。
パスワード: WordPressへのログインに使用するパスワード。 強力なパスワードを指定することを推奨します。
メール: 通知の受信に使用するメールアドレス。 (例:example.com)。
[Wordpressのインストール] をクリックします。
WordPressのインストール時に指定したユーザー名とパスワードを入力し、[ログイン] をクリックします。
WordPress Webサイトにログオンしています。
WordPress Webサイトのドメイン名を解決する
ECSインスタンスのパブリックIPアドレスを使用してユーザーにWordPress Webサイトへのアクセスを許可すると、インスタンスのセキュリティが侵害されます。 ドメイン名をお持ちの場合、またはWordPress Webサイトのドメイン名を登録する場合は、次の手順を実行します。
ドメイン名を登録します。
詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。
ドメイン名のインターネットコンテンツプロバイダ (ICP) 申請を申請します。
WordPress Webサイトが中国本土内のリージョンにあるECSインスタンスでホストされている場合は、ICP申請を申請してください。 ICP登録プロセスの詳細については、概要.
登録されたドメイン名をECSインスタンスのパブリックIPアドレスに解決します。
ドメイン名を使用してWebサイトにアクセスする場合は、ドメイン名解決が前提条件です。 詳細については、「Alibaba Cloud DNSの使用を開始する」をご参照ください。
ECSインスタンスのパブリックIPアドレスを登録済みドメイン名に置き換えます。
WordPress WebサイトがホストされているECSインスタンスに接続します。
詳細については、「接続方法の概要」をご参照ください。
(条件付きで必要) ECSインスタンスがWindowsを実行している場合は、この手順を実行します。
WordPress WebサイトがホストされているECSインスタンスに戻ります。 MySQLインストールディレクトリのbinフォルダーに移動し、空白の領域を右クリックして
Shift
キーを押したままにして、Open command window hereを選択します。MySQLにログインします。
mysql -u root -p
WordPressデータベースに切り替えます。
use wordpress;
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';
MySQLを終了します。
exit;
登録されたドメイン名は、WordPress Webサイトに設定されます。
よくある質問
WordPressでURLを指定した後、固定URLにアクセスできないのはなぜですか?
Webサイトを静的にして、検索エンジンがWebサイトにインデックスを付けるのに役立ちます。 WordPress Webサイトの固定URLを指定する前に、NGINXサーバーで静的ルールを設定します。 以下の手順を実行します。
WordPress WebサイトがホストされているECSインスタンスにログインします。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
NGINX設定ファイルを開きます。
sudo vim /etc/nginx/nginx.conf
I
キーを押して挿入モードに入ります。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; }
Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して設定ファイルを保存して閉じます。NGINXを再起動します。
sudo systemctl restart nginx
WordPressでテーマやプラグインのバージョンを更新またはアップロードしようとしたときに、FTPログオン資格情報の入力を求められるのはなぜですか。
WordPress設定ファイルでテーマまたはプラグインを設定する権限がない場合があります。 問題を解決するには、次の手順を実行します。
WordPress WebサイトがホストされているECSインスタンスにログインします。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
WordPress設定ファイルを開きます。
sudo vim /usr/share/nginx/html/wordpress/wp-config.php
I
キーを押して挿入モードに入ります。次のコードスニペットをファイルの末尾に追加します。
define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
Esc
キーを押して挿入モードを終了します。:wq
と入力し、Enter
キーを押して設定ファイルを保存して閉じます。WordPressダッシュボードに戻り、ページを更新します。 FTPログオン資格情報の問題が解決したかどうかを確認します。
ディレクトリを作成できない場合は、ECSインスタンスで次のコマンドを実行して、Webサイトのルートディレクトリに対する権限を持つユーザーをNGINXユーザーに切り替えます。 この例では、
nginx
ユーザーが使用されます。sudo chown -R nginx /usr/share/nginx/html/wordpress
WordPressイメージのMySQL 5.7データベースのデフォルトのユーザー名とパスワードを変更するにはどうすればよいですか?
以下の手順を実行します。
WordPressイメージを使用するECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
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>
MySQLデータベースにログインします。
use mysql
説明MySQLデータベースのユーザー名を表示するには、
select user fro m mysql.us er;
コマンドを実行します。ビジネス要件に基づいて、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";
特権テーブルをリロードし、変更を適用します。
flush privileges;
MySQLを終了します。
quit;