ブログシステムのお引越し

先日の「ヘテムルさんで旧サーバーから新サーバーへお引越し」や「ヘテムルさんで旧サーバーから新サーバーへお引越し(追伸)」につづいて、 #ドメイン の整理を予定していたのでブログシステムのドメイン移行と、さらにディレクトリの名前変更しました。きっとまたそんなこともあるだろうと思いますので「まとめ」を備忘録がてら投稿します。

新サーバーへのお引越しと違って、今度はドメインも変わるしデータベースも作り直すことになりますので少々厄介です。以前、 #Movable_Type から #WordPress に移行(2013年12月29日)する際も少なからず面倒だったと記憶しており気が引けます。でもまあ、WordPressからWordPressの移行なのでいくらか楽なのではないかと期待をしつつ調査をしたところ、基本はFASTCODINGさんの「【決定版】WordPressの引っ越し!サーバー移行・移転手順」(感謝。)の案内で進められました。プラグインとか厄介な要件もあり一筋縄ではありませんでしたが、私のケースにおいて作業の流れを記述いたします。

「【決定版】WordPressの引っ越し!サーバー移行・移転手順」ページ

まず、引越し元(運用中ドメイン)で作業をします。
(1)WordPressの実行ファイルをダウンロードする。
引越し元はのドメインのルートディレクトリ内にWordPressのブログシステム専用にディレクトリ(フォルダ)を設けて運用してますので、 #FTP クライアントの #Transmit を利用して、そのディレクトリをまるまるダウンロードします。

(2)データベースをダンプする。
ヘテムルサービスのコントロールパネルにログインして「データベース一覧」画面を開くと運用しているデータベース毎に” #phpMyAdmin “の利用ボタンがありますので、このインターフェースを利用してMySQLのデータをダンプ(”データベース名.sql”というフィアルが取得できます。)します。

「データベース一覧」ページ

ヘテムルさんのサポートページ「データベースの移行方法:MySQLデータのエクスポート(MySQL5の場合)」(感謝。)があります。

「データベースの移行方法」ページ

また、FASTCODINGさんの案内に「phpMyAdminを使ってMySQLのデータをバックアップ・復元する方法」(感謝。)へのリンクもあります。

つぎに、引越し先(別ドメイン)で作業をします。
(1)データベースを新規作成する。
ドメインが変わっても同じヘテムルさんのサービスですから、先ほどのデータベースの管理画面で「データーベース作成画面へ」ボタンを押して、「データベースの新規作成」画面でデータベースを作ります。データベース名とパスワードを控えておきましよう。

「データベースの新規作成」ページ

(2)WordPressの設定ファイルを変更する。
ダウロードしたWordPressの実行ファイル内にある設定ファイル( #wp-config.php )の次の赤字部分を新しいデータベースの情報に変更します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '新しいデータベース名を入れる');
/** MySQL データベースのユーザー名 */
define('DB_USER', '新しいデータベースのユーザー名を入れる(基本データベース名と同じ)');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'データベースのパスワドを入れる');
/** MySQL のホスト名 */
define('DB_HOST', 'データベースのサーバーアドレスを入れる');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', '大抵はそのまま');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

(3)WordPressの実行ファイルを新しいサーバーに設置する。
FTPクライアントのTransmitにて、今度は目的のドメインルートにブログシステムのディレクトリごとアップロードします。

(4)ダンプデータをインポートする
今度は引越し元のデータベース情報を新しいデータベースにインサートします。ダンプ時と同じくヘテムルさんのサポートページ「データベースの移行方法」を参考に作業をします。

(5)データベースのテーブル情報を新しいドメインに置換える。
FASTCODINGさんの案内にもありますが” #Search_Replace_DB “を利用してサイトURLを置き換えます。新しいバージョンについて解説している「WordPressのドメイン変更に必携のツール『Search Replace DB ver3.1』」(感謝。)を参考しすると良いでしょう。

「SearchReplace_DB」インターフェース

これは私の所感ですが、これって役に立ったのかどうかよく判りませんでした。(事後なので確かなことではありませんが、可能な限り様々のパターンで置き換えを実行しておくことをお勧めします。ついでに「delete me」は使わない方が良いそうです。)私はやるだけやった感しか残らず、困ったことに、それだけではWordPressのダッシュボードにログインできなかったのです。
「うえー!まじかよ。その後の作業ができねーじゃんかよ。」と、がっくりしてしまいました。でもしつこいのでめげません。
とりあえず、第一の障害になっていた” #SiteGuard WP Plugin “(ログイン時にロボットか否かの検証を実現するプラグインです。)をTransmitを使ってFTPで引っこ抜きました。それでもログインすると引越し元のドメインに遷移してしまいます。事態打開のため探して見つけたのが「wordpressのアドレスを変更してログインできないときの対処方法」(感謝。)でした。でも記述にある初級編の対処方法はうまくいかず、致し方なく上級編の完全修復の作業にかかりました。(上級編がオススメです。)
“phpMyAdmin”でデーターベースに直接アクセスして「データーベース名options」テーブルにアクセスして「サイトURL(siteurl)」と「ホームURL(home)」を直接書き換えます。(この時に他のテーブルも眺めてみて”Search Replace DB”の作業に疑いを持ってしまいました。)

“phpMyAdmin”でデーターベースのテーブルから「テーグル名opsion」を選択したところ

この操作でようやくWordPressのダッシュボードにログインできるようになりました。
設定関係のアドレスを全てチェックして必要に応じて変更をして、引っこ抜いた”SiteGuard WP Plugin”を復活させて概ね正常に動作するようにしました。

めでたしめでたし。
ではなくてもう一越え、さらにWordPressのブログシステム専用のディレクトリ(フォルダ)名を変更しました。他のWordPressと運用を揃えたいがためだけに実行しました。(ほとんど実証試験のため、)つづけてそのくだりです。

引越し先で、WordPressのディレクトリ名を変更する。
事前に調査をしておきました。「WordPressをインストールしたフォルダ名を変更する方法」(感謝。)の案内が良さげです。その通りに手順を記載します。
(1)ダッシュボードでアドレス(URL)を変更する。
WordPressのダッシュボードの「設定」メニュー内の「一般」ページで、「WordPressアドレス」と「サイトアドレス」のドメイン下のディレクトリ名を書き換えます。さきほど”phpMyAdmin”で書き換えたものです。

「設定」メニュー内「一般」画面

(2)サーバー内のディレクトリ名を変更する。
FTPクライアントのTransmitでサーバーにアクセスして、実際のディレクトリ名を変更します。

(3)サイトにアクセスしてみる。
ひとまずはサイトにアクセスできてページが開きますが、いろいろと表示されません。以前のディレクトリ名のままの記述が残っているからです。それらを潰していかないと作業終了にはなりません。

(4)データベースのテーブル情報を新しいディレクトリ名に置換える。
あれ?なんかさっき似たようなことを「Search Replace DB」でやんなかったけ?でも今度はプラグイン” #Better Search Replace “です。狐につままれたような気分になりつつ、案内に従って作業をします。(気をつけるのは「Run as dry run?」のオンオフをしっかり確認することです。)
これでだいぶ復活します。

“Better Search Replace”のインターフェース画面’

(5)手作業でURLを変更する。
残念ながら、投稿内のURLの記述までのすべてが自動的に置き換わりません。表示を見ながら一つ一つ修正をしなくてはなりません。今回、私のケース(テスト用のブログ環境です。)では投稿数が限られていましたので大きな負担もなく、比較的すぐに元通りになりました。

これで新サーバー、システム、ディレクトリの引っ越しが一通りすみました。少々気になることもありますがコツコツ解決をしていこうと思います。昨年の秋から狙っていたタイミングで概ね予想通りのドタバタと苦悩でことが進み、ぜんっぜん!楽ではありませんでした。そかさ。