はじめに
サーバーの容量不足や速度不足、その他色々な理由で、ブログの記事全体をサーバー間で移動(いわゆるまるごと引っ越し)したい場合があるかと思います。
今回は、まるごと引っ越しの手順をまとめたいと思います。
移行の手順
手順は次の3ステップとなります。
- 移動するファイルとデータベースのバックアップ(ダウンロード)を実行する。
- ファイルの新サーバへアップロードを実行する
- SQLのインポートを実行する
移行元データのダウンロード
移行元のデータを一旦PCにダウンロードします。
FTPなどを使って、移行先にデータを直接置くことも可能ですが、その辺りはご自身の環境で一番使いやすいものを選んでください。
私の場合は、バックアップも兼ねて、一度ローカルなPCにデータを退避(ダウンロード)しました。
移動対象となるのは、移行元のサーバーのドキュメントのホームディレクトリの下全て(次の図で示すような、ファイルとフォルダ含めて全部)となりまる。
これをPCにダウンロードします。
移行元のデータベースのエクスポート
移行元のサーバーのデータベースをエクスポートするのに、PhpMyAdminを使用しました。
インストールしていない方は、次の記事を参考にしてみてください。
サーバー管理ツールにPhpMyAdminがある場合もあるかと思います。
このサーバーも次の図のようにサーバー管理ツールからphpmyadminを呼び出すことができます。
話を戻して、それぞれの環境にあった方法で、PhpMyAdminを立ち上げます。
“エクスポート”タブ(次図①)を選択して、その中の”エクスポート方法:”の項(次図②)で、”詳細 – 可能なオプションを全て表示”を選択します。
続いて、同じく”エクスポート”タブの中の”テーブル”の項で、全てのテーブルを選択状態にします。
([補足] 先に示した”エクスポートの方法”で”詳細”を選択した時点で、こちらの”テーブル”項が表示されます。)
次のように、生成オプションを設定してください。
その後、表示されている”実行”ボタンをクリックすると、エクスポートが開始されます。
設定ファイルの変更
Wp_config.phpの編集を行います。
DB_NAME,DB_USER,DB_PASSWORDに、移行先のデーターベース名、データベースのユーザー名、パスワードを入力します。
(次図の例で、@@DB-NAME@@,@@USR-NAME@@,@@PASSWD@@としている部分です。)
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '@@DB-NAME@@');
/** MySQL database username */
define('DB_USER', '@@USR-NAME@@');
/** MySQL database password */
define('DB_PASSWORD', '@@PASSWD@@');
/** MySQL hostname */
define('DB_HOST', 'localhost');
移行先データベースへのインポート
移行先のサーバーでphpMyAdminを立ち上げます。
“インポート”タブを選択します。
移行元のDBからエクスポートしたファイルを”ファイル選択”から選びます。
一番下にある”インポート”ボタンをクリックします。
移行先データベースのリンクパス修正
search-Replace-DBというツールを使います。
search-Replace-DBをインストール
search-Replace-DBをインストールします。
Git-Hubからダウンロードします。
ダウンロードした zip ファイルを展開します。
展開したフォルダ(Search-Replace-DB-master)をデータベースを編集するサイトの wp-admin や wp-content、wp-includes と同じ階層に配置します。
配置後、ブラウザで「http://ドメイン名/Search-Replace-DB-master/
」にアクセスして以下のような画面が表示されればインストールは完了です。
データベースへの接続
“database name”,”username”,”pass”,”host”,”port”の部分に入力します。
database name | データベース名 |
---|---|
username | データベースのユーザ名 |
pass | データベースのパスワード |
host | データベースのホスト名。127.0.0.1 または localhost などのホスト名を入力します。使用しているサーバーにより異なります。 |
port | ポート番号。省略可能 |
「Test Connection」をクリックしてデータベースに接続できるかを確認します。
緑色で「Success. You are connected.」と表示されればデータベースに接続成功です。
置換
リンクの変更を実行します。
replaceに置換前の文字列をwithの後に置換後の文字列を入力します。
“add more match terms”をクリックすると置換パターンを追加できます。
ドメインの置換であれば、「replace」には移行元(検索・置換の対象)の URL(またはその一部)を入力し、「with」には移行先の URL(またはその一部)を入力します。
置換対象は、サイトの環境に応じて決定します。例えば、単に example.com を example.localhost に置換すると、E-mail アドレス xxx@example.com も xxx@example.localhost に置換されるので、置換対象に”http://” や ”https://”を含めるなどが必要になります。
デフォルトでは、全てのテーブルが選択状態になっています(“all tables”)。必要に応じて、選択的にテーブルを対象にしたい場合は、”select tables”をクリックして、テーブルを選択します。ここでは、”all tables”で進めます。
置換のテスト
“Let’s go”の項目にある”Do a safe test run”で置換のシミュレーションを実行します。実際の置換を行う前に”Do a safe test run”を実行してどのように置換されるかを確認します。
実行結果は次のようになります。赤枠で囲まれているように、置換は問題なく行われそうです。
置換の実行
テストで問題ないことを確認したら、”Search and Replace”をクリックします。
以上で、置換が完了しました。
search-Replace-DBの削除
最後にセキュリティの面でsearch-Replace-DBを削除しておきます。
テスト
最後に移行先にログインして、きちんと移行できているかをテストします。
ユーザー名が前の移転先と同じでない場合は、移転前のユーザーでログインしてみます。
以上で完了です。
まとめ
サーバーの容量不足や速度不足、その他様々な理由で、ブログの記事全体をサーバー間で移動したい場合は起こりえます。引っ越しが必要になったとき何かの参考になればと思います。
以上、WordPressの記事全体をサーバー間で移したい場合の引っ越しの手順をまとめました。
コメント