Web サイト環境を完全に制御するために、LNMP スタックを手動でデプロイし、WordPress をインストールすることができます。これにより、ブログやポータルサイトを柔軟に構築できます。
事前準備
パブリックアクセスを有効化:インスタンスに固定パブリック IP アドレスを割り当てるか、Elastic IP アドレス (EIP) をインスタンスに関連付けます。
セキュリティグループルールの追加:インスタンスのセキュリティグループの受信方向で、TCP アクセスのポート 22 と 80 を許可します。
操作手順
このトピックでは、Alibaba Cloud Linux 3 と WordPress 6.4.4 を例として使用します。
ステップ 1:LNMP 環境のデプロイ
ECS インスタンスにログインします。
ECS コンソール - インスタンスに移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動します。 [接続] をクリックし、[ワークベンチ] を選択します。ページのプロンプトに従ってターミナルにログインします。
Nginx、MySQL、PHP などのコアコンポーネントをインストールします。
WordPress は特定のバージョンの PHP と MySQL に依存します。バージョンの不一致は WordPress のインストール失敗の原因となります。依存関係の詳細については、「WordPress の互換性」をご参照ください。
ステップ 2:WordPress データベースの作成
WordPress 専用のデータベースとデータベースユーザーを作成します。
MySQL にログインします。LNMP 環境をデプロイしたときに設定したデータベースのパスワードを使用します。
mysql -u root -pデータベースとユーザーを作成し、権限を付与します。
後で使用するために、データベース名、ユーザー名、パスワードを記録しておきます。
-- WORDPRESS_DATABASE という名前のデータベースを作成 CREATE DATABASE WORDPRESS_DATABASE; -- 専用ユーザー WORDPRESS_USER を作成し、パスワードを設定します。パスワードは 12 文字以上で、大文字、小文字、数字、特殊文字を含む強力なパスワードを設定することを推奨します。 CREATE USER '<span class="var-span" contenteditable="true" data-var="WORDPRESS_USER">WORDPRESS_USER'</span>@'localhost' IDENTIFIED BY '<span class="var-span" contenteditable="true" data-var="WORDPRESS_PASSWORD">WORDPRESS_PASSWORD'</span>; -- このユーザーに wordpress データベースのすべての権限を付与 GRANT ALL PRIVILEGES ON wordpress.* TO '<span class="var-span" contenteditable="true" data-var="WORDPRESS_USER">WORDPRESS_USER'</span>@'localhost'; -- 権限をフラッシュして設定を適用 FLUSH PRIVILEGES; -- MySQL を終了 EXIT;デフォルトでは、MySQL 5.7 以降にはパスワード検証プラグインがインストールされています。パスワードは 8~30 文字で、大文字、小文字、数字、特殊文字を含む必要があります。サポートされている特殊文字には、
()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/が含まれます。
ステップ 3:WordPress のダウンロードと設定
Nginx の Web サイトのルートディレクトリに移動し、WordPress 6.4.4 の中国語版をダウンロードします。
WordPress の英語版をインストールするには、URL を
https://wordpress.org/wordpress-6.4.4.zipに置き換えてください。後続のステップでも、圧縮パッケージ名をwordpress-6.4.4.zipに置き換える必要があります。sudo cd /usr/share/nginx/html sudo wget https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zipunzipコマンドをインストールし、WordPress パッケージを解凍します。sudo yum install unzip -y sudo unzip wordpress-6.4.4-zh_CN.zipwp-config-sample.phpファイルをwp-config.phpにコピーし、元のファイルをバックアップとして保持します。cd /usr/share/nginx/html/wordpress sudo cp wp-config-sample.php wp-config.php設定ファイルを編集します。ステップ 2 で作成したデータベース名、ユーザー名、パスワードなどのデータベース情報を入力します。
sudo vim wp-config.phpiキーを押して編集モードに入ります。/** WordPress のためのデータベース名 */ define('DB_NAME', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_DATABASE">WORDPRESS_DATABASE'</span>); /** MySQL データベースのユーザー名 */ define('DB_USER', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_USER">WORDPRESS_USER'</span>); /** MySQL データベースのパスワード */ define('DB_PASSWORD', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_PASSWORD">WORDPRESS_PASSWORD'</span>); /** MySQL のホスト名 */ define('DB_HOST', 'localhost');変更後、
Escキーを押し、:wqと入力してEnterキーを押し、ファイルを保存して終了します。
ステップ 4:Nginx の設定
Nginx のデフォルトのサイト設定を変更して、PHP リクエストを正しく処理するようにします。
デフォルトの設定をバックアップし、新しい Nginx 設定ファイルを作成します。
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak sudo vim /etc/nginx/conf.d/default.confNginx 設定ファイルを変更します。
iキーを押して編集モードに入ります。serverブロックとlocation ~ .php$ブロックで、rootの後の内容を WordPress のルートディレクトリに置き換えます。この例では、WordPress のルートディレクトリは/usr/share/nginx/html/wordpressです。
Escキーを押し、:wqと入力してからEnterキーを押して、設定ファイルを保存して終了します。設定構文を確認します。
syntax is okが表示された場合は、Nginx を再起動できます。sudo nginx -t構文エラーが報告された場合は、
sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.confを実行してデフォルト設定を復元できます。Nginx を再起動して構成を適用します。
sudo systemctl restart nginx
ステップ 5:WordPress Web サイトのインストールとログイン
サーバー側の設定が完了したら、ブラウザを使用して WordPress を初期化する必要があります。
ローカルマシンでブラウザを開き、
http://<ECS インスタンスのパブリック IP アドレス>にアクセスして WordPress のインストールページに移動します。ウェブサイトの基本情報として、[サイトのタイトル]、管理者の [ユーザー名]、[パスワード]、[メールアドレス] を入力します。 次に、[WordPress をインストール] をクリックします。
インストールが完了したら、[ログイン] をクリックします。前のステップで設定したユーザー名とパスワードを使用してログインします。
ログインに成功すると、WordPress Web サイトが構築され、実行されていることを示します。詳細については、「WordPress 公式ドキュメント」をご参照ください。
次のステップ
FTP を使用したファイルの管理
FTP を使用して WordPress のテーマやプラグインをアップロードするには、「Linux インスタンスで FTP サイトを構築する」必要があります。
ドメイン名の名前解決と HTTPS の設定
IP アドレスを使用して Web サイトにアクセスするのはプロフェッショナルではなく、安全でもありません。Web サイトにドメイン名を関連付け、HTTPS 暗号化を有効にすることを推奨します。
ドメイン名の登録と ICP 登録の申請
ドメイン名をお持ちでない場合は、Alibaba Cloud で「ドメイン名を登録」できます。
Web サイトが中国本土の Alibaba Cloud サーバーでホストされている場合は、ドメイン名の ICP 登録を申請する必要があります。詳細については、「ICP 登録プロセス」をご参照ください。
ドメイン名を ECS インスタンスのパブリック IP アドレスに名前解決します。
インスタンスのパブリック IP アドレスを新しいドメイン名に置き換えます。
インスタンスにリモート接続し、MySQL データベースにログインします。
mysql -u root -pWordPress データベースに切り替え、ドメイン名を設定します。
public_ipをインスタンスのパブリック IP アドレスに、domainをご利用のドメイン名に置き換えます。USE wordpress; UPDATE wp_options SET option_value = replace(option_value, 'http://PUBLIC_IP', 'http://DOMAIN') WHERE option_name = 'home' OR option_name = 'siteurl'; EXIT;
SSL 証明書の設定 (HTTPS)
「SSL 証明書をデプロイする」ことで、Web サイトの HTTPS による暗号化データ転送が可能になります。これにより、ユーザーのプライバシーが保護され、ブラウザの信頼性と検索エンジン最適化 (SEO) のランキングが向上します。
よくある質問
パブリック IP アドレスを使用して WordPress にアクセスできないのはなぜですか?
セキュリティグループの確認:インスタンスのセキュリティグループでポート 80 が許可されていることを確認します。
ファイアウォールの確認:firewalld などのオペレーティングシステムの内部ファイアウォールがポート 80 をブロックしていないことを確認します。
サービスステータスの確認:ECS インスタンスで
sudo systemctl status nginxとsudo systemctl status php-fpmを実行し、サービスがactive (running)状態であることを確認します。ポートリッスンの確認:ポート 80 がリッスンされていることを確認します。
問題のトラブルシューティング方法の詳細については、「インスタンスにデプロイされたサービスにアクセスできない場合の対処方法」をご参照ください。
WordPress でパーマリンクを設定した後、ページにアクセスできなくなるのはなぜですか?
Web サイトを静的にすると、検索エンジンによるインデックス作成が容易になります。WordPress サイトのパーマリンクを設定する前に、まず Nginx サーバーで静的ルールを設定する必要があります。
インスタンスにリモート接続し、Nginx 設定ファイルを開きます。
sudo vim /etc/nginx/conf.d/default.confiキーを押して編集モードに入ります。location /ブロックに、次のコードを追加します。try_files $uri $uri/ /index.php?$args;Escキーを押し、:wqと入力してからEnterキーを押して、設定ファイルを保存して終了します。Nginx サービスを再起動して設定を適用します。
sudo systemctl restart nginx
WordPress の更新やテーマ/プラグインのアップロード時に、FTP ログイン認証情報の入力を求められたり、ディレクトリを作成できないと表示されたりするのはなぜですか?
この問題は、WordPress の設定ファイル、テーマ、またはプラグインの権限が不十分なために発生する可能性があります。次の手順で問題を解決できます。
ECS インスタンスにログインし、WordPress 設定ファイルを開きます。
sudo vim /usr/share/nginx/html/wordpress/wp-config.phpiキーを押して編集モードに入ります。ファイルの末尾に、次のコードを追加します。define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);Escキーを押し、:wqと入力してからEnterキーを押して、設定ファイルを保存して終了します。WordPress ダッシュボードに戻り、ページをリフレッシュします。これにより、FTP ログイン認証情報の入力を求められる問題が解決するはずです。
ディレクトリを作成できない問題が解決しない場合は、Web サイトのルートディレクトリに対する権限を持つユーザーを Nginx ユーザー
nginxに変更します。sudo chown -R nginx /usr/share/nginx/html/wordpress
WordPress イメージ内の MySQL 5.7 データベースのデフォルトのユーザー名とパスワードを変更するにはどうすればよいですか?
ECS インスタンスにリモート接続し、MySQL データベースにログインします。
mysql -u root -pmysqlデータベースに移動し、ユーザー名を表示します。use mysql; select user from mysql.user;データベースのユーザー名とパスワードを変更します。
データベースのユーザー名を新しいユーザー名に変更します。
UPDATE user SET user='NEW_USER_NAME' WHERE user='USER_NAME';たとえば、ユーザー名を
rootからadminに変更するには、次のようにします。UPDATE mysql.user SET user='admin' WHERE user='root';データベースユーザーのパスワードを変更します。
ALTER USER 'USER_NAME'@'localhost' IDENTIFIED BY 'PASSWORD';たとえば、
rootユーザーのパスワードをPassword@2025!に変更するには、次のようにします。ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password@2025!';
権限をフラッシュして変更を適用し、MySQL データベースを終了します。
FLUSH PRIVILEGES; EXIT;
関連ドキュメント
Docker で WordPress をデプロイするには、「Docker Compose を使用してアプリケーションをデプロイする」をご参照ください。
1 つの ECS インスタンスに複数の Web サイトを構築するには、「Nginx を使用して複数の Web サイトを設定する」をご参照ください。