こちらのサイトではDRUPAL10に関連する記事を掲載しています。
WORDPRESSの引越しといっても、いろんなシチュエーションが考えられます。シチュエーションに応じたさまざまな方法があります。今回はWordPressの引越しいついて深堀してみます
WORDPRESSの引越しの手順はそんなに難しいわけではありません。
- 稼働中のサーバーで完全バックアップを取得します
- そのデータを新しい引越し先サーバーに転送します
- 新しいサーバー上にWordPressをインストールした後、データを復元します
- サイト名(URL)が変更になる場合は、データベース上のすべてのURL情報を新しいURLに変換します
それでは順をおってみていきます
稼働中のサーバーデータをバックアップする
ワードプレスはリレーショナルデータベースを使用していますが、メディアファイルなどはフォルダ内にぞんざいします。
そこで、引越しはこの両方を丁寧に取り出して梱包する必要があります。
データベースのバックアップ
データベースは壊れ物です。丁寧に扱いましょう。
データベースからデータを取り出す方法は、以下の方法があります。
- WORDPRESS管理画面で記事をエクスポートする
- phpMyAdminなどのデータベースツールでデータベースをエクスポートする
- WP CLIでデータベースをエクスポートする
- 《上級者向け》mysqldumpコマンドでデータベースをエクスポートする
- 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
1.WORDPRESS管理画面で記事をエクスポートする
WORDPRESSの基本機能に記事のエクスポート機能があります。
これを使用すると既存のWORDPRESSの記事をごっそり抜き出すことができます。
ただプラグインや管理画面の設定情報は、引っ越し先で新たに構築してあげる必要があります。
2.phpMyAdminなどのデータベースツールでデータベースをエクスポートする
レンタルサーバーをご利用でコントロールパネルからデータベースツールが使える場合や、すでに既存のサーバーにインストール済みの場合は、ツールを使うのが便利です。
筆者おすすめのツールは、adminer.phpです。このツールは1ファイルのみで動作して煩わしいインストール作業が不要です。ドキュメントルート内のどこかに配置するだけでOKです。
3.WP CLIでデータベースをエクスポートする
WP CLI(WordPress Command Line Interface)が使える環境ですと、WP DBコマンドでエクスポートするのがいいかもしれません。
https://wp-cli.org/ja/
4.《上級者向け》mysqldumpコマンドでデータベースをエクスポートする
コマンドラインからデータベースを扱えますと、データベースのダンプコマンドが高速です。ただ、データベースからデータの抽出方法をオプションで細かく指定してあげる必要があります。
5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
このプラグインは内部でWP CLIを使用しております。
バックアップでデータベースとファイルのデータを一括で保存できます
ファイルのバックアップ
ファイルはWP-CONTENTフォルダ内にあるいくつかのフォルダを圧縮して取り出すだけです。
WP-CONTENフォルダは基本的にはWPがインストールされたドキュメントルートの直下にあります。
wp-confing.phpで変更することもできますので確認して作業します。
圧縮して持ち帰る必要があるのは、次の3つのフォルダです
- THEMES
- PLUGINS
- UPLOADS
・THEMES
テーマに関するファイル一式です。
表示に必要なHTMLやCSSはテーマ内に存在しますのでこれがないと表示できません
引越し前のサーバーで使用していたテーマがない場合は、別のテーマに切り替わるので記事は同じでも見た目が変わります
・PLUGINS
現在インストールされているプラグイン一式です。
有効化されているかどうかにかかわらずすべてのインストール済みのプラグインがここに入っています
・UPLOADS
管理画面のメディアからアップロードした各種ファイルはすべてここに入っています。
ファイルをバックアップする方法は、以下の方法があります。
- データを圧縮せずにそのままFFFTPやWINSCPなどのクライアントソフトで直接ローカルに転送する
- 《上級者向け》tarコマンドででファイルを圧縮する
- 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
1.データを圧縮せずにそのままFFFTPやWINSCPなどのクライアントソフトで直接ローカルに転送する
事前に圧縮することができないのでかなり時間がかかるかもしれません
2.《上級者向け》tarコマンドででファイルを圧縮する
コマンドラインから操作する必要がありますが、TARコマンドでフォルダごと圧縮します。
3.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
バックアップでデータベースとファイルのデータを一括で保存できます
稼働中のサーバーから引越し先サーバーにデータを転送する
引越し元の梱包作業で作成した、データベースから取り出したデータとWordPressフォルダ内のデータファイル一式を引越し先に持っていきましょう。
圧縮したデータですとFFFFTPやWINSCPなどのクライアントソフトで転送しても比較的高速です。引越し元のサーバーに接続しての先ほど梱包したデータを一度すべてローカルに移します。
その後、引っ越し先のサーバーに接続しなおし、今度はローカルに移動した先ほどのデータを引越し先に移動します。
コマンドラインから操作できる場合は、SCPコマンドなどで梱包済みのデータを直接引越し先のサーバーに転送することも可能です。
引越し先サーバーでデータをリストア(復元)する
引越しでデータベースから取り出したデータとWordPressフォルダ内のデータファイル一式を適切な場所に展開します。
データベースをリストア(復元)する
データベースのインポートは以下の方法があります
- WORDPRESS管理画面で記事をインポートする
- phpMyAdminなどのデータベースツールでデータベースをインポートする
- WP CLIでデータベースをインポートする
- 《上級者向け》mysqldumpコマンドでデータベースをインポートする
- 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってインポートする
1.WORDPRESS管理画面で記事をインポートする
WORDPRESSの基本機能に記事のインポート機能があります。
ただプラグインや管理画面の設定情報は、引っ越し先で新たに構築してあげる必要があります。
2.phpMyAdminなどのデータベースツールでデータベースをインポートする
レンタルサーバーをご利用でコントロールパネルからデータベースツールが使える場合や、すでに既存のサーバーにインストール済みの場合は、ツールを使うのが便利です。
筆者おすすめのツールは、adminer.phpです。このツールは1ファイルのみで動作して煩わしいインストール作業が不要です。ドキュメントルート内のどこかに配置するだけでOKです。
3.WP CLIでデータベースをインポートする
WP CLI(WordPress Command Line Interface)が使える環境ですと、WP DBコマンドでエクスポートするのがいいかもしれません。
https://wp-cli.org/ja/
4.《上級者向け》mysqlコマンドでデータベースをインポートする
コマンドラインからデータベースを扱えますと、データベースのコマンドが高速です。
5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってインポートする
WordPressのプラグインを使用してインポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
リストアを選択して引越し元でバックアップしたデータを選択するだけで、新しいサーバー環境にデータベースとファイルが展開され引越しが完了します。
WordPressファイルをリストア(復元)する
ファイルを展開するする方法は
- tarコマンドでファイルを解凍する
- 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
1.tarコマンドでファイルを解凍する
コマンドラインから操作する必要がありますが、TARコマンドでフォルダごと解凍します。
そのあと、解凍したデータを引越し先のWP-CONTENT以下の各フォルダに置き換えます
2.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
バックアップでデータベースとファイルのデータを一括で保存できます
データベースに登録されているサイトURL情報を新しいサーバーのURLに置き換える
データベースのデータにはWordPressが稼働するURLの情報が含まれています。データベースダンプのインポート直後はこのURLが移行前のものになっていますので、これを新しいURLに変更します。
※引越し前後でサイトURLが変更ない場合はこの処理は必要ありません。
※以前はダウンロードしたデータベースをそのままテキストエディタで開いて一括置換するという方法が推奨されていましたが、現在はCodexから記載が削除ており、おすすめできません。
理由は、変更対象の文字列だけでなく、その文字列の長さなど関連する情報が格納されていることもあるため(シリアライズ)、対象の文字列を変更しただけでは、不整合が生じて表示されなくなることがありからです。
サーバーURLを変更する方法は、
- 専用ツール”searchreplacedb2″を使用する
- WP-CLIの文字列リプレースコマンドを使用する
・専用ツール”searchreplacedb2″を使用する
今回は一括置換作業を簡単に行えるツールを使用します。以下のサイトからsearchreplacedb2というツールをダウンロードし、wp-config.phpを設置しているディレクトリにアップロードして使用します。
詳細はこちらを参照ください
・WP-CLIの文字列リプレースコマンドを使用する
シリアライズに対応している検索・置換するためのコマンドです。
wp search-replace [old] [new]
ドメイン情報の変更
サーバーの引越しが完了したら引越し先のグローバルIPアドレスをドメインに紐づけるためにネームサーバーを書き換えます。
ドメイン管理会社のサイトからコントロールパネルを開いて、ネームサーバーのAレコードを新しいサーバーのIPアドレスに変更します。
変更してもしばらくは古いサーバーをさしていると思いますが、浸透してくると新しいサーバーにとんでくるようになると思います。
ドメイン名が変更になる場合は、古いサーバーにアクセスされた場合は、新しいドメインにリダイレクトするようにします。
いくつか方法はありますが、もっとも一般的な方法として.htaccessファイルにリダイレクトルールを入れるのがよいと思います。
.htaccessに次のルールを追加します。
Redirect 301 / http://www.new-website.com
なお mod_rewriteを有効にする必要があります
詳細は以下のサイトを参照ください。
さいごに
サーバー引越しは簡単なようで以外に手間がかかります。データベースやワードプレスファイルは正しく引越し元から持ってきていても動作環境の違いから動作しないこともよくあります。その場合は、WordPressのバージョンから使用しているOSやPHPのバージョンや設定を調べて環境になにか違いがないかよく確認することが大切です。
サーバーサイトの引越しの説明は、以上になります。
※記事の中で紹介させていただいていたプラグイン「簡単!バックアップ&リストア」はこちらです!
最後まで読んでいただきありがとうございました。
参考
この記事の作成にあたって以下のサイトを参考にさせて頂きました。
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。