久しぶりのWebサイトデータ移行。毎回細かい手順は微妙に忘れてしまうんです。
久しぶりにサーバー移行をしました。
今回は、事情があり、XサーバーからXサーバーという移行になってしまいました。
Xサーバーに同じドメインが登録されたサーバーがあると、現アカウントのドメイン設定を削除しないと新しいアカウントにドメイン追加できないんですね^^;
ということで、一度現サーバーのバックアップを取って、現サーバーのアカウントのドメインを削除し、新サーバーのアカウントにドメイン追加をしました。3時間程度サイト見れなくなりましたが、何とかスムーズに移行ができました。
過去に何回かやっているのですが、やはり移行はドキドキします。移行先はXサーバーの場合が多いので、Xサーバーへの移行を例にしています。ドメインは、ドメイン管理会社(お名前.comなど)で管理されている前提としています。
毎回途中の細かい手順を忘れてしまいますので、今回はその手順をメモします。
こんな人の役に立つかも
・Xサーバーにwordpressサイトを移行したい
・wordpressサイトのサーバー移行の手順が知りたい
サーバー移行の大まかな流れ
1.新サーバーのメール設定(ドメインのメールを利用している場合)
2.サイトデータのバックアップ
3.データベースの作成とインポート
4.サイトデータをFTPでアップロード
5.DNSの切り替え
6.旧サーバーの解約
1.新サーバーのメール設定
移行完了後に、DNS切り替えを行うと、旧サーバーのメールサーバーは利用できなくなるので、スムーズに切り替わるようにあらかじめ新サーバーに利用しているメールアドレスを設定しておきます。
また、新サーバーからもメールの送受信ができるように、Outlookなどのメーラーにアカウント追加をしておきます。切り替え後数日間は同じアドレス2つがメーラーに存在しているようにすることでDNSの切り替え期間中にどちらにメールが届いても良いようにします。
2.サイトデータのバックアップ
BackWpUpでバックアップを取得することで、サイトの画像などのメディア、データベースファイルも丸ごとバックアップが取得できます。
※WordpressプラグインでBackWpUpのインストールをしている前提です。
BackWpUpのJobの設定
上記「データベースのバックアップ」で、「.sql」拡張子のデータベースバックアップファイルがバックアップフォルダのトップ階層に作られる。「phpmyadmin」でDB出力をするより簡単にできます。
Zip形式で、サーバーにバックアップファイルを作成する。このバックアップファイルはFTPなどでダウンロードします。バックアップファイルは、「wp-content/uploads/backwpup-〇〇-backups」のフォルダに「日付_〇〇.zip」という名称(デフォルトの名称設定の場合)で保存されているので、これをFTPで自分のPCにダウンロードします。
3.データベースの作成とインポート
新サーバーにデータベースを作成
Xサーバーの場合で作成しています。
「データベース作成」→「データベースユーザー作成」→「データベースにユーザー登録」という3ステップです。
次に、データベースユーザーの登録です。
パスワードはメモしておく必要がありますね。
作成したデータベースに作成したデータベースユーザーを追加します。
データベースに「〇〇.sql」をインポート
サーバーの管理画面からphpMyAdminにログインします。先ほど作成したデータベースユーザーでログインします。
先ほど作成した移行先のデータベースが左の欄に表示されるので、そのデータベースを選択。「インポート」タブから、「ファイルを選択」をして、先の手順のBackWpUpにて取得した「〇〇.sql」ファイルを読み込み、実行します。
4.サイトデータをFTPでアップロード
新サーバーにドメインを設定
新サーバーの管理画面から、移行するサイトのドメインを追加します。新サーバーにドメインを追加すると、サイト用のフォルダが作成されます。Xサーバーだと、ドメイン名のフォルダが作成されます。
以下の例は、Xサーバーにドメインを追加する例です。
wp-config.phpの編集
2の手順でバックアップを取得したwordpressの設定は、現サーバーのデータベースへ紐づく設定となっていますので、以下のファイルを編集し、3の手順で作成した新サーバーのデータベースへ紐づけをします。
2の手順のbackWpUpで取得した一連のwordpressファイルの中に、「wp-config.php」が存在しています。
25行目くらいにある、「MySQL 設定」のデータベース名を先ほど設定したデータベース名に書き換えます。
サーバーホスト名は、Xサーバーだと、データベースページのページ下の方に記載してあります。
WordPressデータのFTPアップロード
バックアップを取ったwordpresデータと同じフォルダ構造、同じデータとなるようにFTPでアップロードしていきます。アップロード先は、先に追加したドメインのフォルダ内となります。このフォルダ内に初期設定される「index.html」などのファイルは不要なので、すべて削除します。
私は、主にFFFTPを利用しています。
FFFTP
https://forest.watch.impress.co.jp/library/software/ffftp/
全てを一度にアップロードしようとすると、途中で止まってしまうので、小分けにしてアップロードしていきます。データ量が多いサイトだと、ここで一時間程度かかる可能性もあります。
・小分けの例
「wp-admin」フォルダのみをまずアップロード。「wp-content」はデータ量が多いので、さらにその中のフォルダ毎をそれぞれアップロード。その中の「Plugins」もデータが多い場合はPluginsフォルダの中に入り、ひとつづつアップロード、という流れで行っています。
アップロード漏れがないようにFTPで新サーバーにデータをアップロードします。
hostsファイルを書き換えてサーバーを確認
今、インターネットでサイトを確認しても、現サーバーを見に行ってしまいます。そこで、自分のパソコンだけ新しいサーバーを見に行く設定にするために、hostsファイルを変更します。
※移行先のサイトも、現サイトと同じ姿をしているので、新サーバーに移行したサイトデータのheader.phpなどに、<p>新</p>などと、適当な目印を一時的に入れておくと、ブラウザで確認しているサイトが新しいサイトであることがすぐに判明します。時々、ブラウザキャッシュなどがしっかりとクリアされていなかったりして、旧サーバーのデータをそのまま見ていたりすることがありました。
まずは新サーバーのIPアドレスを確認
Xサーバーの場合、以下のように、サーバーのIPアドレスが確認できますので、この値をメモしておきます。
hostsファイルの変更
windowsの場合
「C:\Windows\System32\drivers\etc」の階層に「hosts」というファイルがあります。hostsを一時的にデスクトップなどにコピーし、編集して元の「etc」フォルダに戻すようにすると簡単に変更できます。メモ帳などで編集します。
「新サーバーのIPアドレス」+「スペース」+「ドメイン」
と記載することで、自分のパソコンからだけ、新しいサーバーを見に行く設定にできます。
hostsファイルを設定して、Webブラウザのキャッシュを削除し、新しいサーバーに正常にサイトが表示されるかを確認します。
5.DNSの切り替え
ドメイン管理会社にて、DNS設定を新しいサーバーのDNSに変更することで、新しいサーバーへのドメイン紐づけの切り替えが行われます。これは数日かかる場合がありますが、大抵1日もあればできているような気がします。
ドメイン管理会社でDNSを新サーバーのネームサーバーに書き換えます。XサーバーのDNSは以下の場所で確認できます。「サーバー情報」下の方の「ネームサーバー1~5」です。
また、自分のパソコンのhostsファイルを戻すことも忘れないようにします。1時間、2時間後に一度アクセスしてみます。
6.旧サーバーの解約
旧サーバーを契約している人に解約してもらいます。