運営サイトの一つで、エックスサーバーのX10プランで1年程運営を行ってきましたサイトがありますが、2013年12月頃からアクセスが増加し12万PV程になりました。
画像が多いサイトのためか、スマホなどで閲覧した時には待ち時間が発生し、ユーザビリティ的にマイナス要素が増えて来ていました。
また、他サイトと同じサーバーで運用をしていたので、何かの拍子に全サイトダウンとなるリスクも分散させたいと考え、今回「エックスサーバー株式会社」が2013年にリリースしたWordPress専用サーバーの「wpX」へ移行を行いました。
途中かなりトラブルが発生し、サーバー移転は順調では無かったのでメモしておきます。
1.WordPress運用サーバーの移転経緯
1-1.移転元サーバーでの課題
エックスサーバーに落ち着いて2年程度使っていました。今回移転対象になるサイトは1年程ほ運用ですが、サーバーダウンなども一度もなく非常に安定しており気に入っていました。
その前はロリポップやサクラ、CORESERVERなど、安価で有名な所はひと通り使いましたが、エックスサーバーはこういったサーバーとは使い勝手、安定性ともに劣る部分はありません。
しかし、PVの増加に伴いWordPress管理画面が重くなり、サイト閲覧時の待ち時間も発生するようになりました。
負荷だけで考えれば、30万PVほどは耐えられると思いますが、急激にトラフィックが増加した場合などに同一サーバーで運用している他サイトへ影響が出る可能性が高い為、思い切って移転する事としました。
1-2.なぜwpXにしたか
共用型のサーバーを使っている間はエックスサーバー社以外に変更する理由は見当たりません。
サポートもコスパも高く、何より安定している為です。
その為、移転を検討したのは、X10上位サービスである同社のシックスコアと、2013年にリリースされたWordPressに特化した「wpX」の2つでした。
新しいサービスの方が、旧来のサービスでの改善点が盛り込まれていそうなので、感覚的にはwpXにしたいと思っていたのですが、口コミなどを見てみると、
速度などは早くなるが、癖がある
などの書込があり正直迷いました。
まだ新しいサービスでレビューも少なかった為、サポートセンターに直接聞いて見ると、僕のような感じの場合はwpXの方が速度を体感出来るのでオススメとの事。
wpXは「wpXレンタルサーバー」と「wpXクラウド」の2サービスがあり、その違いは「wpXクラウド、wpXレンタルサーバーの違い|エックスサーバー社長ブログ」で詳しく書かれていますが、要点をまとめると
- クラウドもレンタルサーバーもWordPressでしか運用出来ない
- クラウドはメールが使えない
- マルチドメインでの運用が出来ない
- クラウドはサイトの成長に合わせ、移転なしでサーバーの増強が可能
今回移転するサイトは、今後拡大させる予定なので、拡張が簡単なwpXクラウドへの移転を決めました。
2.移転方法
2-1.wpXクラウドの申込
wpXへアクセスし「クラウド」のタブを選択します。
申込の流れは割愛しますが、先に申込をしておいた方が、DNSの反映などがスムーズに行えます。
また、「無料14日間お試し」では持ち込みドメインの設定が出来ない為、すぐに使用する場合には、決済までを完了する必要があります。
2-2.旧サイトのバックアップ
FTPソフトで旧サーバーへアクセスし、ルート階層の「htaccess」と、WordPress階層の「wp-content」をダウンロードします。
※僕の場合、WordPressをルートに置いていないので、上のキャプチャでは「wp-content」が表示されていません。
「wp-content」内にはプラグインやWPテーマ、アップした画像などが入っていて、容量が大きいので、何回かにわけで確実にローカルにコピーしておいてください。
2-3.データベースのバックアップ
旧サーバーのエックスサーバーへログインし、エックスサーバーパネルを開きます。
対象ドメインを移転するドメインへ変更し、phpmyadmin(MySQL5)のリンクから進みます。
phpmyadminにログインしたら、左上にログインした時のデータベース名のリンクがあるので、クリックします。
information_schema では無い方。
タブで「エクスポート」が現れるので、クリックするとキャプチャの画面になります。
「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」と「ファイルに保存する」にチェックを入れて、「実行する」をクリック。
※ファイル容量が大きいと時間がかかる場合があります。
2-4.wpXクラウドのドメイン設定
申込後のメールにwpX管理画面のログイン情報が記載されていますので、管理画面へアクセスします。
「ドメイン名」に移転するドメインを入れます。
次にこのドメインがあなた所有のものであるか認証を行いますが、「Whois認証」はDNSが切り替わってしまいますので、「WEB認証」や「メール認証」で進めます。
2-5.WordPressのインストール
僕は既にWordPressがインストール済みなので、メニューから消えていますが、インストール前だと『キャプチャの矢印部分』に「新規インストール」のメニューがあるので、クリックします。
ページが切り替わり、ブログ設定を入力するページになります。
「WordPress ID」「ブログタイトル」「メールアドレス」は、旧サーバーからのデータで上書きされますので、適当で構いません。
インストールが完了すると、サイトURLと、WP管理ページのURL、ログイン情報が表示されます。
注意:この時点でドメインのDNSは旧サーバーを向いているので、新サーバーにはアクセスする事が出来ません。
2-6.新旧サーバーともダウンさせない方法
管理画面上からデータベース、FTPからファイルを上げればデータの移動は完了しますが、DNSを切り替えて新サーバーが正常に動かない事も当然あります。
DNSを切り替えても2、3日間はどちらのサーバーにも正常にアクセス出来る状態にする事で、ダウンタイム無しに移転を行う事が出来ます。
それを行う為に、SwitchHostsというFirefoxのアドオンを使うと便利です。
このアドオンは、自分のPCからだけは指定したIPアドレス上のサイトにアクセスする事が出来るツールで、有効無効の切り替えも2クリックで出来てしまう便利品。
まず、FirefoxアドオンページからSwitchHostsをダウンロード・インストールします。
Firefoxが無い場合はインストールしてください。
インストールし終えたら、Firefoxツールバーから、「ツール」→「SwitchHosts」→「始める前に」を選択。
ウィンドウが出てくるので「インストールを完了しますか?」→OK
「~~にバックアップしてあります」→OK
使用準備ができたら、設定を開始します。
ホスト名に今回移転するドメイン(http:// は無しで可)、IPアドレスは新サーバーのアドレスを入力します。
wpXクラウドの管理パネルでは左メニューの「サーバー基本情報」の中にあります。
FireFoxを再起動し、設定した新サーバーを選択後、自分のドメインにアクセスすれば、新サーバーに接続する事が出来ます。
2-7.[htaccess]の設定
wpXではルートディレクトリにアクセス出来ない為、「.htaccess」を管理パネル上で設定します。
旧サーバーで書いていた中身の
「# BEGIN WordPress」~「# END WordPress」までの全部を書きます。
設定場所は、管理パネル左メニュー「htaccessの編集」から入ります。
2-8.データベースのインポート
wpX管理パネル左メニューから「phpMyAdmin」を選択します。
左に英字が2列あると思います。自分が設定した名前の方を押し、DBの設定画面を開きます。
旧サーバーでエクスポートした逆を行います。
インポートを押します。
画面が切り替わったら、「ファイルを選択」で旧サーバーからエクスポートしたファイルを指定し「実行する」をクリックします。
正常に終了すれば完了です。
途中で失敗した場合は、再度同じファイルをアップしてください。
2-9.「wp-content」のアップロード
今の状態は、サーバー上に記事情報のみがある状態です。
記事中の画像やテーマが無いので、旧サーバーからFTPソフトを使ってダウンロードしたwp-contentファイルをアップロードします。
新サーバー(wpX)のFTPはアカウントを作成する必要があります。
wpX管理パネルへアクセスし、左メニューからFTPアカウント設定を開きアカウントを作りましょう。
アカウントができたらアップをしますが、
注意!!
僕はここでつまづきました。wpXのFTP接続フォルダは通常サーバーでアクセス可能な「public_html」ではありません!
普通のサーバーでいえば「public_html/wp-admin/wp-content/」がデフォルトの階層になります。
したがってこの階層にアップするファイルは「wp-content」フォルダの中身のみです。
「admin」とか「wp-includes」は必要ありません。
2-10.新サーバーの確認
FireFoxで接続先を変更したら、新サーバーへ接続をします。
wpXの管理パネル上に表示されているので、アクセスしてください。
ログイン画面が表示されたら旧サーバーのログイン情報でログインします。
ログインする事は出来ましたか?
注意!!
もし旧サーバーのWordPressインストール階層がルートで無い場合はログインする事が出来ません。
例えば、旧サーバーのログイン画面URLが「http://hoge.com/wordpress/wp-admin/」の場合新サーバーとは異なる階層になります。
新サーバーは「http://hoge.com/wp-admin/」なので、新サーバーのデータベースを修正する必要があります。
3.旧サーバーと異なるディレクトリの場合の修正
■「WordPressアドレス」変更手順
下記は、僕がエックスサーバー社へ問合せた時に頂いた回答内容です。
1.管理パネルへログインし、左メニューより「phpMyAdmin」をクリックします。
2.phpMyAdminの画面が表示されますので、左メニューより該当のデータベース(自分のデータベース名_w1)を選択してください。
3.画面左部分の表示が変わりますので、「wp_options」を選択してください。
4.[3]を行われましたら、右側の表示が変わりますので、画面上部の[表示]タブをクリックします。
テーブルの内容が表示されますので「id:1」をURL(http://自分のアドレス.com)へと変更します。
※各idの左側の鉛筆アイコンをクリックすると編集画面となります。
option_id :1
option_name:siteurl
option_value の値を以下のように変更
例)http://camelife.biz
この変更を反映させ、再度管理画面にアクセスすれば、アクセス出来るはずです。
4.ネームサーバーの書換
新サーバー上で、プラグインやテンプレートに依存するエラーが出ている場合は、修正を行います。
僕が干渉していたプラグインは「Wordbooker」のみでした。
記事投稿時にエラーを吐く場合もあるので、ひと通り作業してみて、問題が無いようであれば、いよいよネームサーバーの変更を行います。
ネームサーバーの設定から、xpXのネームサーバーを確認し、管理ドメインのネームサーバー変更を行います。
ネームサーバーの変更は通常2~3日間で終了しますが、その間は新旧サーバーのどちらにも繋がる可能性があります。
旧サーバーのデータは1ヶ月間程度は残したままにしておくのが良いです。