かなり限定される使い方なのかもしれませんが、Google Cloud Platform(GCP) 上で動いている WordPress (KUSANAGI for GCP)を他のサーバーに引っ越しさせる際に、遭遇した事例があったので共有します。
目次
GCP に SSH ログインすると sudo にパスワードが求められる
GCP にSSH でサーバーに接続はできるものの、データベースのバックアップ・ディレクトリ一式の圧縮等において権限が足りませんでした。sudo 実行はパスワードが求められます。
GCPターミナルからのブラウザSSH接続では、Googleアカウントユーザはパスワード無しでsudoが打てる。そのユーザ自体にパスワード不要の権限はついていないようであり、Google側でうまくやってくれているようだ。ターミナルソフトからSSH鍵でログインすると、sudoにパスワードが求められる。
GCE(Google Compute Engine)でのユーザ作成 – 2種類の作成方法とsudo権限設定 – Qiita
とある通り、GCP に用意されているブラウザでターミナル画面が起動できる「Cloud Shell」を利用すればパスワードを省略して sudo を実行できるようですが、Mac のターミナルからログインしたところ、sudo 実行にはパスワードが必須となります。
WordPress のデータは ①データベースと②ウェブデータ一式が必要となりますので、①はデータベースのバックアップ作業として mysqldump
コマンド、②はドキュメントルートのディレクトリ一式を圧縮するため tar
コマンドを実施したいのですが、どちらも権限が足りずに実行できませんでした。
データベースのエクスポートに WP-CLI を利用する
今回は KUSANAGI for GCP がデプロイされていたため、WordPress のコマンドラインインターフェースである WP-CLI が利用できました(もしかしたら KUSANAGI は関係ないのかも)。WP-CLI にはデータベースを出力する wp db export
コマンドが用意されています。
wp db export | WP-CLI Command | WordPress Developer Resources
wp db export --add-drop-table
とすることで無事データベースをエクスポートすることができました。
ウェブデータ一式は各ディレクトリを圧縮&各ファイルをダウンロードするため少々手間
ルートディレクトリ一式を tar
で圧縮し、それを scp
で転送できるのが望ましいのですが、ルートディレクトリに対する操作が権限が足らないため、ルートディレクトリ内に移動後、WordPress 関連のディレクトリである wp-includes
, wp-admin
, wp-content
をそれぞれ tar
で圧縮し、圧縮後 scp
で転送します。

残りはこのディレクトリにある WordPress 関連のファイルのため、これも scp で転送します。最低限 WordPress の必須ファイルは以下です。(上の画像のディレクトリを除くファイルが該当)
- wp-login.php
- index.php
- license.txt
- readme.html
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config-sample.php
- wp-config.php
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
.htaccess
がある場合は忘れずに追加しましょう。転送後は圧縮して作成された圧縮ファイルはもう不要なため rm
コマンドで削除します。
ちなみに scp
は複数のファイルを転送できます。
■例
scp file1.php file2.php file3.php ユーザー名@転送先ホスト
プラグインを利用するという方法も全然有り
今回は行いませんでしたが、WordPress のバックアップや引っ越し系プラグインでデータベースとウェブデータ一式を取得するという方法もあります。というか、WordPress 管理画面にアクセスしてブラウザだけで行うのでこれができれば全然こっちの方が作業はラクです。一度ダウンロードしないといけないため、容量によっては転送の時間がかかるというのがデメリットですね。scp
なら直接サーバーに送ることができるので早いです。
有名で多くのダウンロード数を誇る All-in-One WP Migration は WordPress の引っ越しに最適です。URL 置換も行ってくれるためとても便利なプラグイン。ただし容量制限に引っかかる可能性が高いため、その場合は有料のエクステンションを利用します。(以前は容量制限を外せましたが今は推奨されていない)
UpdraftPlus もバックアップ作成がメインですが、WordPress を別サーバーに移行するのにも利用できます。
ssh
接続や wp-cli
を使って移行作業を行うこともできますが、ブラウザだけで完結するプラグインという方法もあるため、環境や条件に合わせて実施してください。
コメントを残す