Irvineのプログラミング備忘録
本ページはプロモーションが含まれています。
  
 

WordPressのサーバ移転をやってみた

 

スポンサーリンク

 
WordPressのサーバ移転をやってみた

先日紹介したStarServerが期間限定で魅力的なオファーをしていたので、乗ってみました。

魅力的なオファーとは

すでに終了していますが、StarServerでは10月7日まで新たなプランのハイスピード、エンタープライズを契約すると、年払以上の長い期間の契約の場合に料金がずっと半額になるオファーがありました。
詳細は下記記事の末尾に書いています。

ハイスピード、エンタープライズプランを契約するとStarServerで契約した独自ドメイン(制限あり)が契約期間中は無料になることもあり、大幅にランニングコストを安くできそうと判断。
このため、連休の数日をつぶして移行する決心をしました。
StarServer以外からの移行はある程度やり方が確立しているようですが、結果として同じ事業者の中での移動は厄介と分かりました

StarServerからStarServerへの移行の準備

さてどうやるか?
以前amebloからStarServerに移行していたものの、その時とは事情が異なり今回はWordPressでの移行。これは初。
まず手順を確認します。

  1. 現行サイトを最新のWordPress、プラグインに更新
  2. プラグインのUpdraft Plusでバックアップを取得
  3. サーバ契約
  4. 新サーバが用意できたら、DBを作成
  5. 続いて旧サーバのSSL削除、ドメイン削除
    ※この時点でサイトはダウン状態
  6. 新サーバにドメインを設定&SSL設定
  7. WordPressをインストール
  8. Updraft Plusプラグインをインストール
  9. バックアップしたファイルをアップロードして復元
  10. 動作確認

以下順に手順を説明。

1 現行サイトを最新のWordPress、プラグインに更新

新サーバは最新のプログラムでインストールすることになるので、先に旧サーバもあわせておきます。
できれば移行する数日前に更新しておき、動作が問題ないことを確認しておくほうが良いでしょう。
そうでないと、問題発生時に移行による問題か、プラグインなどのバグなのかがわからず手詰まりになります。

2 Updraft Plusでバックアップを取得

毎週これでバックアップを取っています。Updraft Plusは良いプラグインです。
クラウドストレージへの自動保存もできますが、自分はせっせとPCにコピーしています。
バックアップをサーバ契約の直前にやっておきます。記事、コメントなどできるだけ最新のものでバックアップをとったほうが良いでしょう。

なお、当然ですが以後の新規記事、コメントは新サーバでは復元できないので、できればこの時点でメンテナンスモードにしておくほうがいいでしょう。
バックアップ自体はブログの規模次第ですが、10分前後もあれば通常のブログではバックアップ作成ができ、さらに15分程度でダウンロード可能でしょう。所要時間はブログのデータ量と回線速度によるのでご参考まで。

それからUpdraft PlusはWord Pressに関するファイルしかバックアップしてくれないので、wp-contentの親ディレクトリに置かれている.htaccessなどのファイルは別途FTPでPCに保管をします。親ディレクトリとwp-content、wp-include、wp-content/plugin/updraftplusを取っておきます。
これを忘れると泣くことがあるかもしれません。

3 サーバ契約

StarServerのサイトにて、スターサーバー管理>新規申し込みにて新サーバを契約します。
詳細は省略。
30分もかからずに用意ができます。

4 新サーバが用意できたら、DBを作成

先に投稿データを管理するデータベース(DB)を作っておきます。
データベース名(DB名)は新旧のサーバで異なっていても問題ないので、気にしない。このため新サーバのDBにおけるDB名はこの機会に変更してもいいです。
DB名は頭にサーバ名が必ず付くルールなので、後ろだけを変更できます。

DB作成

DB作成

続いて、DBにアクセスするユーザを作ります。これも頭にサーバ名が付きます。

DB作成

DB作成

最後に作成したDBに作成したDBユーザがアクセスできるよう、権限を設定します。
下線を引いた個所にユーザ名が表示されるので、使う予定のユーザ名をプルダウンメニューで選択し、右の権限追加ボタンをクリックします。
これでユーザはDBにアクセスできます。

DB作成

DB作成

また、ここでwp-config.phpの設定内容を変更したファイルを用意します。変更内容は後述します。

5 続いて、旧サーバのSSL削除、ドメイン削除

いよいよここからが真剣モード。ダウンしている時間はこの作業にかかってきます

旧サーバのアカウントでサーバ管理ページにログインし、SSL設定を削除し、ドメインを削除します。

SSL削除

SSL削除

SSL削除

SSL削除

ドメイン削除

ドメイン削除

ドメインを削除するとすべての稼働中のファイルは消えるので、コピー漏れがないことを何度も確認を。

これであなたのブログはこの世から一時的に消えました。

6 新サーバにドメインを設定&SSLも設定

さて、一刻も早くあなたのブログを復活させましょう。
そのためにはまず新サーバのアカウントで管理ページにログインし、ドメインを設定します。
ドメインを設定しない限り、FTPでアップロードする先のストレージが存在しない仕様のようです。
サーバ契約の時点でFTPアカウントを使えますが、ここでアップロードしたものはドメインに関連しないファイルになってしまい、ブログで利用できません。
あくまでも、FTPはドメイン設定以後しかできません。StarServerの仕様なのか他社もそうなのかはわかりませんが要注意です。

まず、先ほど削除したブログのドメインを新サーバに設定します。StarServerで調達したドメイン名であれば、プルダウンから選択できます。

ドメイン追加

ドメイン追加

すると、下図のようにドメイン名からURLとFTPアカウントが自動作成されるので、メモしておきます。

ドメイン追加

ドメイン追加

このドメインのURLのサーバはこのIPアドレスに対応する、という情報をDNSに対して教えることで、URLであなたのブログにアクセスできるようになります。
この変更には若干の時間が必要ですが、まあ、1時間はかからないでしょう。もちろんその時の状況によりますが。

続いて、StarServerが提供する無料SSLの設定を行います。ブログをやっている方ならお判りでしょうが、SSL設定をする理由はSEO対策です。httpsはSSLを使います。SSLを使うことで通信の秘密をある程度カバーできます。
Googleが数年前にhttpとhttpsではhttpsを優先するように変更したため、httpsでブログを提供する流れになりました。

まじめにSSLを用意するとそれなりに手間と費用が掛かります。レンタルサーバ事業者が無料で数クリックで用意してくれるのはありがたいです。

SSL設定

SSL設定

7 WordPressをインストール

手軽に行うよう、自分は下記方法でうまくいったので紹介します。
まず、FTPで接続し、public_html直下に置くべきファイル(.htaccessなど)をアップロードします。
他に、念のため2でPCにコピーしておいたwp-includeとwp-admin、wp-content/plugin/updraftplusもアップロードします。

更に、4で作成したwp-config.phpの差し替えファイルをここでアップロードします。これをアップロードして以下の操作を行うと、設定項目が少なく済みますので。

続いて、サーバ管理ページから、wordpressをインストールします。簡単インストールという機能があり、GUIで2,3ページの設定でインストールができます。
この機能をそのまま使ってもいいけど、DBの名称など誤るとアクセス不能になるので、自分は上記のようにwp-config.phpでスキップします。

新サーバのアカウントでサーバ管理ページにログインし、簡単インストールからWord Pressを選択します。

簡単インストール

簡単インストール

次のページで様々な設定を行います。
データベースは作成済みのデータベースを利用します。
データベース名、データベースユーザ名、パスワード、インストール先、ブログ名、ユーザ名、パスワード、メールアドレスを設定します。
wp-config.phpや後述のバックアップからリストアするので、下記のみ正しく設定を。

データベース名、データベースユーザ名、パスワード、インストール先、ユーザ名、パスワード

簡単インストール

簡単インストール

問題なければ正常にインストールできた旨表示されます。

8 Updraft Plusプラグインをインストール

7でupdraft plusのみアップロードしていますので、管理画面からプラグインを確認するとupdraft plusが見つかるはずです。
これを有効化して下記のように進めます。

9 バックアップファイルをアップロードして復元

  • 2で採取したバックアップファイルをアップロード
  • アップロードしたファイルから復元

復元する際はどのコンポーネントを復元するか選択できます。ここではすべてチェックして進めます。おそらく何も問題なく終了します。
もしもエラーになった場合は、wp-config.phpに書きこんでいるDB名、ユーザ名、パスワードが正しいか確認を。
他に、その前にリストアをやっている場合は前世代のファイルが残っていることがあります。ボタンをクリックして削除して進めば問題ないです。

復元

復元

これでサイトは復活していると思いますが、SSL設定がまだ反映されていないと思うので、httpsではなくhttpでアクセスして表示するか確認します。

10 動作確認

1時間くらい経つとhttpsが有効になります。それまでの間はhttpで気になるページをアクセスして表示するか確認しておくといいでしょう。
ある時からhttpsが有効になります。気になるページを再度見ておくと安心。

wp-config.phpの修正

wp-config.phpを修正する方法を説明します。WordPressはサーバ移転といった環境の変更をこの設定ファイルで吸収する思想のようです。これにより、他のファイルの修正やデータベースの修正はなく、簡単に移転ができます。(ドメインを換える場合はこの限りではないです。)

テキストエディタで開いて、4か所を修正します。ここには4で作成した新サーバのデータベース名、DBユーザ名、パスワード、DBのホスト名に書き換えます。

wp-config設定

wp-config設定

作業を振り返る

慣れてしまうと、4時間もかからずに終わります。4時間のうちの2時間弱はドメインとSSLの待ち時間なので、実際にする作業はそれほど長くないです。

くれぐれも、最初のバックアップを漏らさずに行う事。これはStar Server内の移転に限りませんが、他の提供業者からの移転だったら残っているはずなので、何とかリカバリ可能でしょう。

Star Server内の移転はドメインを同時に2つに設定できないのでこんなややこしいことになります。
ややこしいけど、Updraft Plusとルートディレクトリのファイル一式をバックしておけば大丈夫。

サーバ利用を安くしたい人は一度考えてみるといいでしょう。

StarServerに興味がある方はここから見てください。

PR

   
著者プロフィール
irvine
 ソフトウェア設計、ストレージ設計を経てクラウドにかかわる仕事をしている、東京郊外在住のエンジニア。
 仕事でUS,UK,SGなどの国とかかわる。
 自作PC、スマホ、タブレット、AV機器好き。ドラクエウォークはルーチンワーク。Linuxやストレージ、IT業界の動向は興味を持っている。
 新しい機器、サービスに興味あり。年数回のレビュー(自腹購入、ご依頼)と発表されて興味があるものの新製品机上レビューをやっている。
 2022年はJAPANNEXT様のアンバサダーを務めました。 本ブログはpcdiyブログのテーマ作成の経験から得た知識を記録しています。
 
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です