はじめに
先日書いたMAMPにWordPressをインストールする方法ですが、今度はそこで作られたデータベースやテーマなどを本番環境に移行したり、別サーバーへ引っ越しする方法です。
ここでご紹介する方法は以下の2つです。
1つはAll-in-One WP Migrationと呼ばれるWordPressのプラグインを使う方法。
2つ目は、自分でデータベースなどを編集する上級者向けの手動での方法です。
調べれば他にも方法が出てきますが、特に2つ目の方法は初心者目線で詳しく解説されているサイトが少ないため、WordPress初心者の人は是非やり方をマスターしていってください。
前置きはここまでとして、それでは早速本題に移りましょう。
本番環境ってなに?
本番環境とは簡単に分かりやすく言うと、ユーザーがサイトを閲覧するときに、そのサイトのデータが格納されているサーバーのことです。
厳密には定義からして違うのですが、イメージとしては付きやすいのではないでしょうか。
環境についてはウィキペディアに解説が載っていますので、そちらをご参照ください。
ここで言う実環境とは、さくらレンタルサーバーやロリポップ、XServerなどで契約したレンタルサーバーのことだと思ってください。
今回はこのブログサイトを解説するにあたって契約したさくらレンタルサーバーを例に出します。
下準備
プラグインを使う使わないは置いておいて、まずは確認したいといけない項目があります。
これを飛ばしていきなり移行してしまうと、本番環境の方でエラーの原因などになってしまう場合があるため、サボらずにしっかりと確認しましょう。
PHPのバージョンを揃える
2020年11月26日にPHPはバージョン8へのメジャーアップデートがありました。
レンタルサーバー各社は順次PHP8への対応を進め、さくらレンタルサーバーは2021年7月8日からPHP8の提供を始めています。
PHPのバージョンアップでは新たな機能の追加や撤廃が実施されており、PHPで作られているWordPressは他人事ではありません。
バージョンが異なるとローカル環境では正常に動いていたプログラムが、本番環境ではエラーになったりする可能性があります。
まずはローカル環境と本番環境で、PHPのバージョンを揃えましょう。
ローカル環境のPHPがバージョン5系とかだった場合、まずはバージョン7.4か8に上げて、ちゃんと動作するか確認をしてから移行を進めてください。
僕のMAMPではPHP8.0.12が使われているので、本番環境のさくらレンタルサーバーでも同じPHP8に揃えます。
さくらレンタルサーバーでのPHPのバージョン変更は、まずサーバーコントロールパネルにログインし、スクリプト設定 > 言語のバージョン設定に進んでください。
ここでPHPのバージョンが確認できるので、現在の設定がPHP7.4だった場合はPHP8.0に変更してバージョンを揃えます。
ローカルが7.4系だった場合は、ローカルに合わせて7.4に設定します。
WordPressやプラグインのバージョンを最新にアップデートしておく
こちらもPHPのバージョンと同じで、バージョンが異なると思った通りの動作をしないことがあります。
こだわりがなければ全て最新バージョンへアップデートしておきましょう。
もしリニューアル案件だった場合、最終更新が長らくされていない古いプラグインには、最新版では廃止されているWordPress独自の関数が含まれていたり、セキュリティ上のリスクがあったりするため、移行前にしっかり確認しておきましょう。
本番環境にもWordPressをインストールしておく
移行先のサーバーにWordPressがないと移行ができないので、移行の直前までにはWordPressをインストールしておきましょう。
最近の主要レンタルサーバーにはクイックインストール機能がついており、簡単にWordPressやEC-CUBEなどの主要CMSをインストールできるようになっています。
WordPressのクイックインストール方法
さくらレンタルサーバーのサーバーコントロールパネルに入り、左のメニューからWebサイト/データ > クイックインストールで上のクイックインストール画面と同じページに移動します。
WordPressのインストール画面(さくらレンタルサーバー仕様)の画面に切り替わるので、上から順に情報を入力していきます。
- インストールURL
-
追加されているドメインの一覧から、利用したいURLを選びます。
基本的には1ドメイン(サブドメインも1つのドメインと数える)につき1サイトなので、仕様の都合上サブディレクトリにしないといけない理由がない限りは、チェックを入れなくて大丈夫です。
サーバー上ではドメイン名/www/となるため、サブドメインの場合はサブドメイン名/www/となる。
もちろん、サブディレクトリにチェックを入れるとドメイン名/www/サブディレクトリ/となる。
- 利用データベース
-
データベースを既に作成している場合は、ここから対象のデータベースを選択します。
新規で作る場合は横のデータベース作成をクリックして、作成画面を開きます。
データベース名だけ入力し、同意にチェックを入れて作成します。
他の項目は変更しなくて大丈夫です。
データベース作成画面 - データベース接続パスワード
-
データベースを既に作成している場合は、対象のデータベースのパスワードを入力します。
- テーブルの接頭辞
-
基本的にはそのままで大丈夫ですが、分かりやすくするためwpサイト名(ローマ字)とかにすることもあります。
- サイトのタイトル
-
サイト名を入力します。
- WordPressユーザー名
-
WrodPressの管理画面にログインするためのユーザー名を決めます。
- WordPressパスワード
-
WordPressの管理画面にログインするためのパスワードを決めます。
- メールアドレス
-
ここで作成する管理者アカウントのメールアドレスを入力します。
- 検索エンジンでの表示
-
当日中に公開する場合はチェックをいれませんが、公開までに時間がかかったり初めての人はチェックを入れておきましょう。
ただし実際にインデックス(検索結果に表示されるように登録されること)されるかはロボット次第なので、過信は禁物です。
別途メンテナンスモードにできるプラグインなどを入れておくと安心です。
最後に同意にチェックを入れて実行します。
All-in-One WP Migrationでサイトを移行・引っ越し
下準備が整ったら、All-in-One WP Migrationローカル環境と本番環境にそれぞれ追加しましょう。
管理画面から検索するか、ダウンロードしたzipファイルを読み込ませて有効化します。
有効化すると左のメニューにAll-in-One WP Migrationが追加されているので、エクスポートをクリックします。
All-in-One WP Migrationは無料版と有料版があり、無料版ではエクスポートはファイルのみ可能で、インポート時には900MBの上限が設定されています。
たくさんのメディアやプラグイン、テーマ内に動画などが含まれていると簡単に1GBを超えるので、その際は有料版を買うか、この後でご紹介する2つ目の方法を使います。
エクスポート画面に移ったら高度なオプションを開き、エクスポートファイルに含めないものを選択します。
ここではすべてのデータを移行したいので、チェックはつけずに緑色のエクスポート先を押し、ファイルを選択します。
.wpressという拡張子のついたファイルがダウンロードされるので、本番環境側のAll-in-One WP Migratioのインポート画面を開きます。
アップロード画面に切り替わるので、ダウンロードしたファイルを選択してインポートしてください。
All-in-One WP Migrationを使うとメディアのリンクが途切れていることがあるので、メディアがある場合は注意深くリンク切れが起こっていないか確認しましょう。
手動でWordPressを移行・引っ越しする方法
やり方はそんなに難しくありませんが、間違えると修正が難しいので、ここは慎重に進めていきます。
データベースを移行
まずはローカル環境のphpMyAdminに入り、移行したいデータベースをエクスポートします。
左のメニューからデータベースを選択、上のタブからエクスポートタブをクリックします。
下の写真のようにエクスポート方法と出力の項目を設定し、一番下の実行を押すことでデータベース(SQL)のファイルがダウンロードされます。
本番環境のphpMyAdminに入り、インストールしたWordPress用のデータベースを開きます。
先ほどと同じphpMyAdminの画面が開くので、一旦、全てのテーブルをチェックし、削除してください。
削除しますかと効かれるので、「はい」を押します。
テーブルを全て削除したら、続けてエクスポートの横にあるインポートタブを開きます。
すると下のインポート画面が出ますので、ファイルを選択から、先程ダウンロードしたデータベース(SQL)のファイルを指定して実行します。
データベースの中身を書き換え
インポートが終わったら、左のメニューにこのようなリストが並ぶので、一番下のwp_usersを開いてください。
wp_usersを開くと、次のような画面になります。
ここにはWordPressの管理画面にログインできるユーザー情報が行ごとに並ぶので、もしユーザー名やパスワードを忘れた際は、ここを編集すると良いです。
左の編集を押すと、下のような画面になります。
ここで書き換えるのは上から2〜6、10番目の6項目です。
まずは上から順に説明します。
- user_login
-
ログイン時に入力するユーザー名です。
本番環境なので予測しにくいユーザー名にします。
- user_pass
-
ログイン時に入力するパスワードです。
本番環境なので予測しにくいパスワードにします。
パスワードは無料で自動生成してくれるオンラインサイトがあるので、そちらで用意してもいいです。
パスワードを書き換える際は左横の関数のプルダウンからMD5を絶対に選択してください。
- user_nicename
-
アカウントのニックネームです。
任意の文字列にできます。
- user_email
-
アカウントに紐付けるメールアドレスです。
基本的には本番環境のサーバーに紐付けているドメインで用意したメールアドレスを設定します。
- user_url
-
アカウントに紐付けるWEBサイトのURLです。
特になければWEBサイトURLを設定します。
- display_name
-
ログイン中のユーザー名や記事を投稿したユーザー名に使われます。
任意の文字列にできます。
必要な項目を書き換えたら、保存します。
次に移る前に、今変更したレコード(行)の左にあるIDの値を覚えておいてください。
次の作業ではこのIDと同じ値を持ったレコードを書き換えます。
左のメニューからwp_usermetaを開いてください。
再び似たような画面になりますが、user_idの列を見てください。
今回はユーザーが1人なので分かりやすいですが、user_idの列に1と入っているはずです。
この値は先程のwp_usersで覚えておいたIDの値と紐付いています。
もし複数のアカウントがあれば、値が2、3、4となっているレコードがその分だけ増えます。
user_idと先程のIDが合っていることを確認しながら、1番上のmeta_keyがnicknameとなっているレコードを編集します。
画像は割愛しますが、先程のwp_usersのnicknameで指定した名前と同じ文字列をrootと入力されているレコードに上書きしてください。
これでデータベースの書き換えは完了です。
初めては難しく感じますが、2〜3回繰り返せばなんとなくやり方は覚えられると思います。
FTPでファイルをアップロード
ここからの作業は、言ってしまえばフォルダからフォルダへのコピペと似たような作業です。
まずはFTPソフトを立ち上げて接続できるようにするか、レンタルサーバーであればサーバーパネルからブラウザでFTPソフトと同じことができる機能が提供されているはずなので、まずは本番環境のWordPressがインストールされている場所を見つけてください。
大体はwwwかpublic_htmlというフォルダの直下か、もう1階層したにインストールされているはずです。
そこからさらに、インストールフォルダ/wp-content/に進むと、themesやpluginsといったフォルダがある場所にたどり着きます。
勘のいい人は何となく分かるかもしれませんが、ローカル環境のthemes、plugins、uploadsの3つをフォルダごとwp-content内に上書きでアップロードすれば、完了です。
アップロードが完了したら、試しに本番環境の方でログインしてみて、左のメニューから外観を変更すると、ローカル環境と同じように表示されるはずです。
もちろん、データベースなども移行してあるので記事情報やメディアのリンク切れもないはずです。
もしリンクが切れているなど問題があったらコメントで教えてください。
有益な情報やご指摘等は追記・修正させていただきます。
最後に
ここまでいかがでしたでしょうか。
手動での移行はたしかに面倒くさいですが、リンク切れしていたときの修正に掛かる手間や時間を考えると、こちらの方がよっぽどマシかもしれません。
コメント