ドメイン名が変わる場合のWordpressの移行手順
ムズカシイんでしょう?と思ったがナイスなツールが存在し、そんなことなかった。ドメインが変わらない場合はDBの移行とwordpressのファイルをコピーするだけで済む様子。ドメインが変わる場合の手順は以下。
1. DBをdumpして移行先に流す
2. wordpressのディレクトリを全て移行先にコピー
3. wp-config.phpに記述されているDBの設定を移行先にあわせる
4. DATABASE SEARCH AND REPLACE SCRIPT IN PHPという置換スクリプトを使い、ドメインを置換する。
wp_optionsなどのテーブルにシリアライズされた状態でURL情報が格納されていたりするようで、スクリプトを使った置換が必要なようです。しかしGUI画面でできるので戸惑うことはありませんでした。
### operation in test server ### # dump and copy mysqldump -uroot wordpress > wordpress.sql scp ./wordpress.sql user@production.local:~/ # wordpress compress and copy tar zcvf wp.tgz ./wordpress_dir scp wp.tgz user@production.local:~/ ### operation in production server ### # create import database mysql -uroot create database wordpress; exit; # import dum sql mysql -uroot wordpress < wordpress.sql # wordpress uncompress tar zxvf wp.tgz # edit database connection setting vim wp-config.php # script download wget https://github.com/interconnectit/Search-Replace-DB/archive/master.zip unzip master.zip sudo chwon apache:apache -R Search-Replace-DB-master
移行先のwordpressのURLにSearch-Replace-DB-masterを加えて開く
http://production.local/cms/Search-Replace-DB-master
GUI画面が表示されるので、旧ドメインから新ドメインを入力し、置換を実行する。
作業終了後は「delete me」をクリックし、必ずこのツールを削除する。
※ MySQLのバージョンが5.1など古い場合utf8mb4が使えず、追加で手順が必要です。