WordPress(ワードプレス)で作ったのブログサイトを新サーバに引っ越しする手順を備忘録として残しておきます。
以前に使用していたレンタルサーバ WebARENA では、サーバの仕様でワードプレスのインストールディレクトリが、深い階層になっていました。そのため、サイトアドレスがWordPressアドレスとは異なるURLに設定されていました。今回のサーバ引っ越しのタイミングでWordPressアドレスとサイトアドレスとが同じになるよう調整しました。
WordPress関連のファイルのダウンロード
下図のようにFTPソフトで移行元サーバのWordPressインストールフォルダに接続します。当社のブログサイトのURL(サイトアドレス)は、https://coeure.co.jp/blog/ ですが、赤で囲った箇所を見ていただきますとインストールフォルダ(WordPressアドレス)は別の場所になっているのが分かります。今回の引っ越しのタイミングでこれも解消します。
まず、下図に表示されているフォルダとファイルすべてをローカルPCにダウンロードします。
MySQLのデータをエクスポート
次にMySQLに格納されているデータをエクスポートします。これには、phpMyAdminを使用します。移行元のサーバであるWebARENAのphpMyAdminにログインし、WordPressで使っているデータベースを選択します。当社の場合は、赤で囲ったデータベースがWordPressで使っているものなので、そこをクリックします。
WordPressで使用しているデータベースを選択すると下図のようなテーブルの一覧が表示されますので、「エクスポート」タブを選択します。
「エクスポート」タブでは、「ファイルに保存する」にチェックを入れましたのが、それ以外はデフォルトのままでいけました。「データ」「完全なINSERT文を作成する」「長いINSERT文を作成する」にチェックが入っていることを確認しておくと良いでしょう。ここにチェックがないとエラーになることがあるようです。そして、実行ボタンをクリックするとエクスポートファイルを指定の場所にダウンロードすることができます。
WordPress関連のファイルのアップロード
FTPソフトで移行先サーバに接続します。今回は、ドキュメントルート直下に blog というフォルダを作成し、そこに、移行元サーバからダウンロードしたファイルをアップロードしました。
MySQLのデータをインポート
インポートの前に、まず mixhost の cPanel にログインし、データベースを作成する必要があります。ここでは、cPanel の 「MySQLデータベース」 を使ってデータベースを作成する方法をご説明します。「MySQLデータベースウィザード」でも同様のことができます。
「MySQLデータベース」では、下記の手順で作業します。
- データベースの作成
- ユーザの作成
- データベースにユーザを追加
この3つの作業はすべて「MySQLデータベース」の画面から行なうことができます。1つの作業が終わるごとにスクロールしていくと、次の作業を行なえるようになっています。ではまず、新しいデータベースの作成から見てみましょう。
赤で囲った箇所に新しいデータベースの名前を入力します。分かりやすい名前を付けておくと良いでしょう。グレーで塗りつぶした箇所も含めて、メモしておいてください。この名称はあとで必要になります。「データベースの作成」ボタンをクリックすると新しいデータベースが作成されます。
続いて、ユーザの作成です。画面を少しスクロールすると下図のようにユーザ名を入力する箇所が出てきます。赤く囲った箇所にユーザー名を入力してください。パスワードは、「パスワード生成ツール」使う便利です。英数記号が混ざった文字列を作ってくれますので、それをパスワードにすることができます。このパスワードも必ず安全な場所にメモしておいてください。もちろん、ユーザ名もグレーで塗りつぶした箇所を含めてメモしておいてください。後ほど必要になります。
最後に、作成したデータベースにユーザを紐付ける作業になります。さらに画面をスクロールすると下図のようにユーザとデータベースを選択する箇所が出てきます。先ほど作成したものを選択し、追加ボタンをクリックします。
ユーザをデータベースに追加するにあたり、このユーザにどのような権限を与えるかを決める必要があります。下図の画面で「すべての権限」にチェックをつけ、変更ボタンをクリックすることで権限が付与されます。
さて、ここまでで、移行元のデータを移行先にインポートするための準備が整いました。あとは、作成したMySQLのデータベースにデータをインポートするだけです。今度は、移行先サーバのphpMyAdminを使ってデータをインポートします。
移行先の phpMyAdmin で先ほど作成したデータベースを選び、「インポート」タブをクリックします。
次に、「ファイル選択」ボタンをクリックし、移行元のMySQLからダウンロードしたSQLファイルを選択した上で「実行」ボタンをクリックします。
これで、MySQLのデータ移行は完了です。
wp-config.phpの変更
WordPressのインストールフォルダにある wp-config.php ローカルPCにダウンロードします。ダウンロードしたファイルを開き、下記の項目について移行先サーバにデータベースを作成した際にメモした情報に書き換えます。
- データベース名
- ユーザ名
- パスワード
/** WordPress のデータベース名 */
define('DB_NAME', 'データベース名');
/** MySQL のユーザー名 */
define('DB_USER', 'ユーザ名');
/** MySQL のパスワード */
define('DB_PASSWORD', 'パスワード');wp-config.php を書き換えた後、移行先サーバにアップロードします。
WordPress の移行は基本的にはここまででほぼ完了です。ただし、今回のようにWordPressアドレスを変更するような場合や、ドメインを変更するようなときは、さらに作業が必要になります。
Search and Replace DB を使ったURLの書き換え
MySQLに格納されているデータには、URLやIPアドレスがいくつも含まれています。それらを移行先サーバの情報に書き換える必要があります。phpMyAdmin を使ってそれらのデータを書き換えることもできるのですが、それではうまくいかないこともあります。なぜなら、格納されているデータはURLだけでなく、URLの長さなどの情報も含まれているためだそうです。
そこで、下記のツールを使って、URLやIPアドレスを書き換えます。
Database Search and Replace Script in PHP
下図のように、赤で囲った3つの項目にチェックを入れます。必ず内容を確認してからチェックを入れることをお勧めします。その後、Name と Email に入力して SUBMIT ボタンをクリックすると入力した Email アドレスにメールが届きます。
入力した Emailアドレス に下記の内容が記されたメールが届きます。赤で囲ったリンクをクリックするとZip形式で圧縮されたファイルのダウンロードが始まります。
圧縮ファイルを解凍すると「Search-Replace-DB-master」というフォルダになります。このフォルダをWordPressサイトの直下にアップロードします。このままのフォルダ名でアップロードしても構わないのですが、わたしの場合は、フォルダ名を意味のない文字列(asdlkfjasdjasdfk)に変更した上でアップロードしました。
ブラウザを使ってWordPressサイトの直下の/asdlkfjasdjasdfk/ にアクセスします。すると下図のような画面が表示されます。
次の手順でURLを書き換えます。
- 「replace」欄には、移行元のurlを入力する(ドメイン名を含むURL)。
このブログサイトの場合は、「coeure.co.jp/app-def/S-102/blog」 - 「with」欄には、移行先のurlを入力する。
このブログサイトの場合は、「coeure.co.jp/blog」 - 「dry run」をクリックする(試行なのでまだデータの置き換えはされていない)
- 問題がないことが確認してから「live run」をクリックする。
- 次に、「replace」欄に、移行元のurlをIPアドレス表記で入力し、①~④と同様の処理をする。
このブログサイトの場合は、「移行元サーバのIPアドレス/app-def/S-102/blog」 - 「delete me」を必ずクリックする。
| 移行元サーバ(WebARENA)のWordPressインストールフォルダ | coeure.co.jp/app-def/S-102/blog
旧サーバのIPアドレス/app-def/S-102/blog |
| 移行先サーバ(mixhost)のWordPressインストールフォルダ | coeure.co.jp/blog |
新サーバにて動作確認
データ移行はこれで完了です。あとは、ネームサーバの切り替えをすれば新しいサーバでワードプレスのサイトを閲覧できるようになります。
では、今回はここまでです。
















