マルチ構成のサーバでの操作
WordPressのデータのバックアップ
以下のファイルをバックアップします。
wp-content/plugin wp-content/themes wp-content/uploads/sites/[ID]
通常「uploads」下は「2018/11/01/」のように日付で分かれていますが、マルチ構成だと「uploads」下のファイルが「sites/[ID]/2018/11//01/」のように「sites/[ID]」が加わります。
バックアップする際は「uploads/sites/[ID]/」をバックアップする必要があります。
DBのバックアップ(抜き出し)
次にDBをバックアップします。
マルチ構成の場合は、DBのデーブル名に「wp_[ID]」のようにサイトIDが接頭語として使われています。 これらすべてと、「wp_users、wp_usermeta」をhバックアップします。
mysqldumpコマンドの例を載せておきます。
mysqldump -u[ユーザ] -p[パスワード] [移行するWordPressのデータベース名] [該当するテーブル] [該当するテーブル]... > backup.sql
移行先のサーバでの操作
WordPressのデータのコピー
先ほど取ったWordPressのデータのバックアップを移行先にコピーします。
移行先にはWordPressが入っているはずなので、wp-contentの「plugin、themes、uploads」にコピーします。
この時、「uploads」直下はサイトIDではなく、「uploads/2018/」みたいに年が来るようにしてください。
DBのインポート
先ほど取ったダンプデータをインポートします。
この時、ダンプデータの中身を色々と置換する必要があります。
- 「旧ドメイン(サブドメイン、サブディレクトリ)」から「新ドメイン」 ex. hogehoge.com/site2 → hogehoge2.com
- 「wp_[ID]」から「wp_」 ex. wp_2 → wp_
- 「uploads/sites/[ID]/」から「uploads/」 ex. uploads/sites/2/ → uploads/
以上を変更したらインポートします。
例はこんな感じ
mysql -u[ユーザ] -p[パスワード] [新しいデータベース名] < backup.sql
以上で完了です。
うまくいかない場合は以下の点に注意すれば行けると思います。
- .htaccessをデフォルトに変更(マルチ構成の奴はそのままでは使えない)
- wp-config.phpをシングル用に変更(デフォルト設定を使うならそのままで良い)
- ・データコピー時にディレクトリの権限や所有者が変更されていないか確認。