Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

WordPressの引っ越しをやってみた

スポンサードリンク

f:id:fa11enprince:20220313012622j:plain WordPressの引っ越し作業を行いました。
高いサーバーから安いサーバーに引っ越しをしました。
もしかするとcPanelのマニュアルとかを熟読するともっと楽な手順があったかもしれませんが、
とりあえずDBを復元しつつ、WPをアーカイブしたものを置きなおせば動くだろう
というノリだけでやってみたら案の定できました。

cPanelを採用しているものどうしなら同じことができるかと思います。
極力画面操作で行けそうなところはなるべくそちらに倒してますが、
もう面倒なら、とりあえずmysqldumpとWPのアーカイブだけでもあれば最悪なんとでもなります。
私の場合はもともと移行元のサーバーで複数WordPressを稼働させていたため、
それが前提の手順になっています。
アドオンドメインのところが関係します。
2個WPを動かしていましたがそのうち1つだけ移行して、もう1つは削除するので移行していません。
私のやり方だとどうしてもSSLの反映で結構なダウンタイムが発生してしまうようです。まぁいいや。

反映が遅いのでLet's EncryptであらかじめSSL証明書を入手しておいて
急場をしのぐ方法がこちらに書いていました。
SSLが無効になる時間をさける場合はこちらを参照
rakkoma.com

アクセスが多いサイトだと致命的な問題なのでまじめに対処したほうが良いでしょう。

以降はcPanelを採用しているレンタルサーバー限定の話になります。
あー…別件でcertbotの作業やらないといけないことを思い出した……。

旧サーバーで行う作業

バックアップの取得

cPanelで移行するWordPressのバックアップを取ります
Applications > マイアプリケーションから対象のブログを選びます
マイアプリタブからバックアップボタンを押します。
終わったらダウンロードボタンからダウンロードできます。わざわざSSHで入らなくて楽でいいですね。

アドオンドメインの削除

1つのサーバーに複数WordPress等を置きたいときにする設定でそもそも1サーバー1つの場合はこの作業はいらないです。
元のサイトからアドオンドメインを削除しておく
※データは消えないので大丈夫です

SSL証明書の削除

AutoSSLから除外
SSL/TLS StatusからAutoSSLから除外します
さらにSSL/TLS > サイトの SSL のインストールおよび管理 (HTTPS)
からSSL証明書を削除していきます。

新サーバーで行う作業

サーバー購入

購入します。 複数ドメインで運営がありえるので、そのサーバーにあった方法でインストールをしますが、 WordPressのインストール自体はこの後になります。

アドオンドメインの設定

移行するドメインを移行元と同じように設定します httpからhttpsにリダイレクトも設定しておいたほうが良いです

WordPressのインストール

Applications > WordPressを選択
移行元のドメインを選ぶ
アドオンドメインを利用しているので
/home/[ユーザー名]/public_html/[ドメイン名]/
となっていることを確認

バックアップのアップロード

ファイル > ファイルマネージャーから
/home/[ユーザー名]/public_html/[ドメイン名]/
にファイルアップロードする

SSHでアクセスできるように設定します

適宜各種レンタルサーバーのマニュアルを参照してください

バックアップのリストア

SSHでアクセスしてtar.gzを展開する

tar xvfz app_...tar.gz

SSHでアクセスしてSQLを実行する

mysql -u[ユーザー名] -p[パスワード] [データベース名]
> source APP-DATA.sql

ユーザー名、パスワード、データベース名は
Applications > マイアプリケーションから「マイブログ」を選択
「高度な」のタブでDB名とかを調べられます

……と、このままでは データベースが変わっているので、 wordpressのほうを書き換える

wp-config.phpを編集します

/** The name of the database for WordPress */
define( 'DB_NAME', '[データベース名に書き換えてね]' );

/** MySQL database username */
define( 'DB_USER', '[ユーザー名に書き換えてね]' );

/** MySQL database password */
define( 'DB_PASSWORD', '[パスワードに書き換えてね]' );

DNSの設定

古いサーバーのほうに向いている既存のDNS設定を消します。
新しいサーバーに向くようにDNSの設定を変更します
httpsでアクセスできるようにSSLも効いているか確認します。

SSLの設定

自動で行われるようですが、念のため、 SSL/TLS StatusからAutoSSLの実行をします。
このSSL設定が反映されるまで6時間程度かかっているような気がします。
ここは諦めて寝て待ちます。
ここまで出来たら引っ越し元のデータは消してよいかと思います。

以上で移行が完了です('ω')ノ
移行中にWindows 11にしてしまった。macを意識している気がする。
次のmacはIntel macじゃないのにしようか悩み中。