茨の道も一歩から

インフラ構築からプログラミング(Python・JavaScript)までITに関するブログです。

AWS入門:wp-cli を使用して WordPress のサイト URL を変更するには

ヘルプ! パブリック DNS 名が変更されたため、ブログが壊れました

  • WordPress のインストールは、EC2 インスタンスのパブリック DNS アドレスを使用して自動的に設定されます。インスタンスを停止および再開した場合、パブリック DNS アドレスが変更され (Elastic IP アドレスに関連付けられている場合を除く)、ブログが存在しなくなった (または別の EC2 インスタンスに割り当てられた) アドレスにあるリソースを参照することになるため、ブログは機能しなくなります。

参考サイト

wp-cli を使用して WordPress のサイト URL を変更するには

SSH を使って EC2 インスタンスに接続します。

インスタンスの古いサイト URL と新しいサイト URL を書き留めます。古いサイト URL は、WordPress をインストールした時点での EC2 インスタンスのパブリック DNS 名と考えられます。新しいサイト URL は、EC2 インスタンスの現在のパブリック DNS 名です。古いサイト URL が不明な場合、次のコマンドで curl を使用して調べることができます。

[ec2-user ~]$ curl localhost | grep wp-content

古いパブリック DNS 名への参照が出力に表示されます。次に例を示します (古いサイト URL は赤色になっています)。

<script type='text/javascript' src='http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>

次のコマンドを使って wp-cli をダウンロードします。

[ec2-user ~]$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

次のコマンドを使って、WordPress インストールの古いサイト URL を検索し、置き換えます。 EC2 インスタンスの古いサイト URL と新しいサイト URL、および WordPress のインストールパス (通常は /var/www/html または /var/www/html/blog) を置き換えます。

[ec2-user ~]$ php wp-cli.phar search-replace 'old_site_url' 'new_site_url' --path=/path/to/wordpress/installation --skip-columns=guid

ウェブブラウザで、WordPress ブログの新しいサイト URL を入力し、サイトが再び正しく動作していることを確認します。

パスワードのリセット

ユーザ名およびIDの確認

[ec2-user ~]$ php wp-cli.phar user list --path=/path/to/wordpress/installation

パスワードの更新

[ec2-user ~]$ php wp-cli.phar user update 1 --user_pass=NewPassword --path=/path/to/wordpress/installation