WordPressのサーバ移行

元:さくらの VPS(CentOS6)
先:さくらのレンタルサーバ

CentOS6 環境でのいろいろな諸々を綺麗にしないといけないなと思って3億年くらい経ってしまったので、業務で久々にそのあたりもやってることもあり、とりあえずできるところから、で、WordPress だけ移行することにしました。

最近は WordPress の移行もプラグイン一発でできるようですが、その動作を理解してないと罠にはまりそうな気もしたので、いにしえの手動移行です。

作業メモな内容ですし、情報の価値もあまりないと思いますが、気が向いたらもう少しトレースしやすい内容にするかもしれません。

移行元での作業

  • DB のダンプ
    移行先の DB でテーブル名が合わせられないので、CREATE DATABASE を含まない形でダンプします。
    mysqldump -u ユーザー名 -p --no-create-db DB名 > ダンプ先ファイル名
  • wp-content の plugins、themes、uploads で使うものをダウンロード
    使うもの、というか、全部ダウンロードしておいてもいいと思います。
  • 適宜、インターネットから参照できないように諸々設定変更
    移行が全部終わってから、バーチャルホストだの何だのを全部無効に設定します。

移行先での作業

  • DB の作成
    ぽちっとなで作成。便利な世の中です。
  • WordPress のインストール
    コントロールパネルでディレクトリを指定してぽちっとなで作成できるのですが、今回は WordPress のソースを PC でダウンロード、解凍して、サーバに適宜コピーしました。
  • config-inc.php の設定
    作成した DB の情報やら何やらお約束の設定。ターミナルで vim すると UTF-8 が文字化けする場合、適宜設定(最後のほうに記載しました)するか、PC で書き換えたものをアップロードするのが良いと思います。
  • WordPress の初期設定(仮)
    さくらのレンタルサーバは「取得した名称.sakura.ne.jp」でインターネットから参照できるので、まずは全部それで設定します。ユーザー名やパスワードも、元と一緒でなくても OK です(DB から書き戻すので)。
  • 移行元のダンプを書き戻す
    phpMyAdmin からでもターミナルからでもよしなに。
    mysql -u ユーザー名 -p DB名 < ダンプしてきたファイル名
  • DB の wp-options を「取得した名称.sakura.ne.jp」に書き換える
    wp-options テーブルの site_url と home を「取得した名称.sakura.ne.jp」に書き換えると表示の確認が楽です。
  • 移行元のファイルを書き戻す
    wp-content に plugins、themes、uploads を書き戻します。
  • 表示の確認
    「取得した名称.sakura.ne.jp」でアクセスして、テーマや画像が表示されているか確認します。
  • DNS の設定変更
    ドメインをバリュードメインで取得していてそのまま使うので、さくらで使えるように諸々設定します。ここで、PC 側で nslookup するなりで、PC からも設定変更が確認できるまで待つと楽です。
  • Let’s Encrypt の再発行
    本来、移行元で SSL 証明書を失効させてから再発行するほうがきれいなのですが、CentOS 側をいじるのが面倒だったので、さくらのコントロールパネルから Let’s Encrypt の設定を行ってしまいました。
    適宜ボタンをポチポチするだけで OK です。
    証明書の発行が失敗した場合、一度、設定を削除して、再度実行します(私は一度失敗してこれで OK でした)。
  • DB の wp-options を元の URL に書き戻す
    wp-options テーブルの site_url と home を書き戻せば OK です。
  • http → https の転送設定を行う
    さくらのコントロールパネルの SSL のところで設定できますので、よしなに設定します。

あらかじめやったほうが楽かもしれない内容

以下、すべて「さくらのレンタルサーバ」での内容です。

  • .vimrc の作成・設定
    vim でバックスペースやデリートキーで文字が消せるように
    set backspace=indent,eol,start
    を設定しておくと楽です。
    vi でやりたければ適宜、vi の設定を。
  • .cshrc に SETENV を追加
    UTF-8 文字化けする可能性があるので、
    setenv LANG ja_JP.UTF-8
    を設定しておくと楽です。
    設定の反映はログアウト→ログインし直すのが楽です。
  • www 直下に .htaccess を作成・設定
    ブラウザで UTF-8 が略なので、
    AddDefaultCharset UTF-8
    を設定しておくと楽です。これが一番困りました。
    が、後ほど、charset 指定が適切でなかったことが判明しました。typo め…。

作業して思ったのは、
さくらのレンタルサーバはなんで UTF-8 文字化けするの?
に尽きます。
昔からあるサービスなので、そのあたりのしがらみもあるのかもしれませんね。

ファイルやディレクトリは適切な(より安全な)パーミッションを設定したほうが良いと思います。以前の WordPress はインストール時に警告が出たりしたはずなのですが、普通にファイルをアップロードしただけで何も言われませんでした。ので、いじりました。

ともあれ、これで、WordPress をホスティングしているサーバの OS やパッケージのバージョンアップについてあまり気にする必要がなくなって良かったです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする