高速と噂のmixhostというクラウド型のレンタルサーバーに当サイトを移転しました。
今回はエックスサーバーから、mixhostに移転する手順と方法をご紹介いたします。
移転準備
移転準備として、現在利用しているサーバーからデータをダウンロードします。
サイトデータをダウンロードする
FTPソフトでエックスサーバーに入り、移転するサイトのフォルダからサイトのデータをすべてローカルへダウンロードします。
エックスサーバーの場合は「/home/サーバーID/ドメイン名/public_html」というディレクトリ構成になっているはずです。
データベースファイルをダウンロードする
同時並行してWordPressのデータベースファイルもダウンロードしておきます。エックスサーバーのサーバーパネルから「phpmyadmin」に入ります。
「phpmyadmin」から該当するサイトのデータベースを選択します。
「エクスポート」タブから圧縮する形式を選択して、下部にある「実行」をクリックします。
WordPressのBackWPupプラグインを利用している場合は、BackWPupのダッシュボードからデータベースファイルをダウンロードする方が面倒がなくて良いと思います。
mixhostへサーバー契約を申し込む
移転準備の完了後、いずれかのプランを選択してサーバー契約を申し込みます。
プランを選択した後、空のフィールドにドメイン名を入力し、「続ける」をクリックします。初めは30日間の無料お試しとして契約することになります。
「続ける」をクリックし進めていくと、mixhostの管理画面に入ることが出来るようになるので、「有効なサービス」から無料お試しになっている契約プランを選択します。
次に「パッケージ/ドメイン」から「本契約に移行」をクリックします。
下記の順番でプランの確認や操作などを行っていきます。
- 契約するプラン
- プランの詳細
- プランの価格
- クーポンの入力
- 「クーポンを使用」をクリック
- 支払い方法を選択
- 「お支払い」をクリック
余談ですが、現在「アフィリエイトB」に登録し、マイページ下にある「mixhost」のバナーの先から、スタンダード以上のプランをクーポンを入力して12ヶ月間で契約すると、6ヶ月間無料(50%OFF)になる限定特典が行われています。クーポンは「アフィリエイトB」のマイページ下にある「mixhost」のバナーの先に表示されています。
支払いをクレジットカードで行うと、左側にクレジットカードの情報を入力するフォームが表示されます。右側にはプラン内容と価格が表示されます。入力と確認を行ったあと、「お支払い」をクリックします。
契約の完了画面が表示されます。
プランの合計額がクーポンを利用しているにも関わらず、50%OFFになっていないのは、「本契約に移行」の画面で「クーポンを使用」をクリックするのを忘れたためです。クーポン番号とアフィリエイトBの件をお問い合わせで伝えたところ、mixhostからクレジットカード会社より数週間から2ヶ月程度で返金があるとの返答をいただきました。
mixhostへの移転作業
本契約を行った後、mixhostへの移転作業を行います。
ドメインの設定をする
まずはドメインの設定を行います。設定を行うに当たり、mixhostの管理画面から「cPanelにログイン」を選択し、cPanelに入ります。
「ドメイン」項目にある「アドオンドメイン」を選択します。
「アドオンドメイン」で下記のように入力します。
- 新しいドメイン名:移転する独自ドメインを入力
- サブドメイン:利用したいサブドメイン名を入力(「新しいドメイン名」が自動入力される)
- ドキュメントルート:サイトデータを設置するフォルダ名の入力(「新しいドメイン名」が自動入力される)
- 「ドメインの追加」をクリック
ドメインの設定に成功すると下記のような表示がされます。
MySQLのデータベースを作成する
cPanelの「データベース」項目にある、「MySQLデータベース ウィザード」からデータベースの作成をしていきます。
「新しいデータベース」にデータベース名を入力し、「次の手順」をクリックします。
データベース名を入力した後、データベースの「ユーザー名」、「パスワード」を入力し、「ユーザーの作成」をクリックします。
権限設定の画面が表示されるので、「すべての権限」をチェックします。全権限にチェックが入っていることを確認し、「次の手順」をクリックします。
データベースの作成に成功した場合、下記のようなタスクの完了ページが表示されます。
「wp-config.php」ファイルの設定を行う
移転準備の時にサイトからダウンロードしたWordPressの「wp-config.php」ファイルを開き、「MySQL 設定」以下の項目を設定します。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('DB_NAME', 'ユーザーID_データベース名'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'ユーザーID_データベースユーザー名'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'パスワード'); /** MySQL のホスト名 */ define('DB_HOST', 'localhost');
「DB_NAME」、「DB_USER」の「ユーザーID」はmixhostから自動で割り当てられる「ユーザーID」となります。
「データベース名」、「データベースユーザー名」、「パスワード」は「MySQLデータベース ウィザード」で入力した値になります。
「DB_HOST」はmixhostの場合、「localhost」となります。
データベースファイルをインポートする
移転準備の時にサイトからダウンロードしたWordPressのデーベースファイルをmixhostの「phpMyAdmin」にインポートします。cPanleの「データベース」から「phpMyAdmin」を選択します。
データベースファイルをインポートさせるデータベース名を選択します。
ページ上部にある「インポート」を選択します。
下記の操作で移転準備の時のダウンロードしたsqlファイルをインポートします。
- アップロードファイル:インポートするsqlを選択
- ファイルの文字セット:utf-8を選択
- フォーマット:SQLを選択
- 実行をクリック
インポートが成功すると、成功した旨のメッセージが表示され、インポートに選択したデータべースにテーブル名が表示されます。
サイトデータをアップロードする
FTPなどでmixhostのサーバーに入り、移転準備の時にサイトからダウンロードしたサイトデータをアップロードします。
アップロードするディレクトリはmixhostの場合、「/home/サーバーID/public_html/ドメイン名」という構成になっているはずです。
アップロード時に、以前使用していたサーバーの「.htaccess」でエラーが出る場合は、下記のように内容を書き換ます。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
「hosts」ファイルを編集して動作を確認する
mixhostはサブドメインを利用した動作を確認するURLが用意されていますが、ドメイン名が本番と違うので、思う通りの動作確認ができないことがあります。そこで「hosts」ファイルを編集して、より本番に近い環境で動作確認を行います。
左下にある検索バーから「メモ帳」と入力し、右クリックから「メモ帳」を「管理者として実行」します。
メモ帳の「ファイル」から「開く」を選択します。
ファイル名に「C:\Windows\System32\drivers\etc\hosts
」と入力し、「hosts」ファイルを選択して開くをクリックします
「hosts」ファイルを開いた後、mixhostの管理画面からcPanelにログインします。
右上にある「一般情報」から「サーバー情報」を選択します。
サーバー情報から「共有IPアドレス」のIPを控えておきます。
先ほど開いたメモ帳に「共有IPアドレス」とドメインを入力します。
「共有IPアドレス」とドメインを入力した後、メモ帳を上書き保存します。
あとはブラウザのアドレスバーに共有IP、またはドメイン名を入力して動作確認をします。動作確認が終わった後は、必ずメモ帳に追加した「共有IPアドレス」とドメイン名削除します。
ネームサーバーを変更する
動作確認を行い、問題がなければネームサーバーを変更します。
私はエックスサーバーでドメインを管理しているので、ネームサーバーを変更するために管理画面のインフォパネルから「ドメイン」を選択しました。
タブの「ネームサーバーの変更」を選択して、フォームを表示して下記のように変更します。
- 「ネームサーバーの変更」を選択
- ネームサーバー1:ns1.mixhost.jp
- ネームサーバー2:ns2.mixhost.jp
- ネームサーバー3:ns3.mixhost.jp
- 「ネームサーバーの変更(確認)」をクリック
上記を行いネームサーバーの変更を行います。ネームサーバーの変更は数時間から72時間程度で、自動的にmixhostを参照するようになるので待ちます。
注意点
注意点として、httpsといったように既に移転前からSSL化しているサイトは、mixhostに移転する前にhttpに戻す作業が必要になります。というのは、mixhostは独自ドメインで設定を行うと、自動的に無料でSSLの証明書をインストールします。httpのサイトが移転する場合には証明書のインストール完了後にSSL化の作業を行えばよいのですが、既にSSL化している場合はかなり面倒になります。絶対パスでリンクなどを行ってる場合、img要素やhrefなどのパス、CSS内の画像パスをhttpsからhttpにし、証明書のインストール完了後に再度httpsにする必要があります。
作業に不安な方、面倒だと思う方はhttpsのままmixhostの移転を行うこともひとつの選択ではあります。ただ、その場合は下記のような表示で数時間耐える必要があるので、覚悟を持って行ってください。
私は12時間ほど耐えることになりました。
まとめ
- 移転前にサイトデータをダウンロード、データベースファイルをエクスポートする。
- mixhostと契約してドメインとデータベースの設定を行う。
- データベースファイルをインポート、サイトデータをアップロードする。
- hostsファイルに共有IPを入力して動作を確認する。
- ネームサーバーをmixhostのものに変更する。
私はざっと、このような感じでエックスサーバーからmixhostへ移転しました。私は移転する際にデータベースファイルをインポートできない、といったトラブルなどはなかったのですが、不安な方はmixhostが行っている「WordPress移転代行サービス」を利用したほうがいいかもしれません。
コメント