前回、自社ウェブサイトのサーバーをニフクラからXserverへ移管しました。
契約したXserver Businessはマルチドメイン対応なので、このブログもウェブサイトと同じサーバーへ移管して、複数のサイトをサーバー統合しようと思います。
自社ウェブサイトはHTML/CSSのみの静的サイトですが、このブログはWordpressで管理している動的サイトです。
前回の移管と手順は一緒のものの、データベースやらMySQLやら、静的サイトにはない手順もあるため、同じく備忘録として記録しておきます。
サーバーを統合する理由と現在の環境
今回ウェブサイトとブログのサーバーを統合しようと考えた理由は、Google DomainsがSquarespaceという米国の会社にドメイン登録の譲渡を発表したことです。移行前まで、このブログのドメインはGoogle Domainsで登録していました。
(参照:「Squarespace への Google Domains のドメイン登録の譲渡について」)
発表時点でメールが届き、その時はそのままにしていたのですが、先日、以下のようなメールがGoogleから届きました。
このメールの内容から、Squarespaceへドメイン登録を移行されると、何やらややこしいことになりそうな予感がします。
Googleは、自社のサービスを突然終了したり、このように登録を別会社に譲渡したりする、アメリカらしいといえばらしい会社です。このままでは今後のブログ運営においても不安が残るため、早めにサーバーを移管しようと考え、Xserverに移管した自社ウェブサイトと、サーバーを統合しようと考えました。
サーバー管理費用を、別々に支払っているのも無駄だというコスト面の理由もあります。
現在のブログの環境確認
現在の当ブログの環境は、以下の通りです。
- サーバー:ロリポップ(ハイスピードプラン)
- ドメイン:Google Domains
自社ウェブサイトは、サーバーもドメイン管理もニフクラにて一括管理していました。それをまるまるXserverへ移管するのは、さほど手間はかかりませんでした。
しかし、今回はサーバーとドメインが別会社、さらにWordpress利用という環境をXserverに統合するので、余計に手間がかかりそうです。
移管作業⒈ ドメイン移管
ドメイン移管については、Google Domain側で以下手続きを行います。
⒈ 「マイドメイン」→「管理」→「登録の設定」にて、「プライバシーの保護」を無効にします。
現状、ここでのwhois情報を確認するとSquarespaceになっています。ドメイン移管については、whois情報に自分自身の情報、メールアドレスが登録されていないと、Xserver側で認識できません。
無効にすることで、whois情報はSquarespaceから連絡者情報(自分)に変更されます。
⒉ 「ドメインの登録」の自動更新をオフにします。
⒊ 「ドメインの登録」のロックを解除します。
⒋ 「Googleから移管」で、「認証コードを取得」をクリックします。
改めてGoogleのログイン画面になり、OKにてモーダルウィンドウが開いて、そこに認証コードが表示されるのでコピーします。
次はXserver側です。
⒈ ログイン後、「サービス管理」から「Xserver Domain」を選び、トップページ右上の「ドメイン移管」を選びます。
⒉ 「Xserverドメイン移管お申し込み」画面に、移管するドメインを入力し、「ドメインを検索する」をクリックします。
⒊ 検索結果が出たら、そこにGoogle Domainsにてコピーしておいた認証コードを貼り付け、利用規約同意のチェックを入れて確認します。
⒋ 次の画面で、ドメイン移管費用(「.jp以外のドメイン」の場合、年1円)を支払い、申し込みをします。
翌日、Google Domainsより以下内容のメールが届きます。メールの内容に従って、移管を承認します。
しばらくして、Xserver側から「【Xserverドメイン】ドメイン移管完了のお知らせ」のメールが届きます。
これで、ドメイン移管は完了です。ちなみに、Google Domainsでは、移管を完了したら契約解除という手続きがなく、登録していたドメインに関するデータが全て消えていました。
移管作業⒉ ドメイン設定と無料SSL化
無事ドメインをXserverに移管できたので、Xserverのサーバーパネルにてドメイン設定を行います。
前回の移管作業で、無料SSL化で苦心したので、今回も不安です。
念のため、サーバー移管元のロリポップにて、WAF(ウェブアプリケーションファイアーウォール)設定を解除しておきます。
Xserverサーバーパネル「ドメイン設定」で、以下の通り作業を進めます。しかし、今回もSSL化は失敗です。他社サーバーでのウェブ認証、DNS認証もできません。
仕方なく、今回もネームサーバーの変更を行います。
しばらくしてサーバーパネルで、再度SSL化を設定したところ、ネームサーバーによる認証でOKとなりました。
移管作業⒊ WordPressのデータ移行
Xserverサーバーパネルにある「Wordpress簡単移行」は、下記画面の通り失敗します。
とはいえ、このサービスを利用しても
- 移転元に設置されている「.htaccess」ファイル
- /wp-content フォルダに設置されているデータのうち、バックアップ関連プラグインによって生成されたデータ
- /wp-content 以外に設置されているデータやプラグイン設定
- WordPressの本体構造を変更している場合
は移行できず、自分で行わなければなりません。それなら、最初から手動で行う方が、途中経過などわかりやすいと思います。
参考にしたのは、以下ブログです。
このブログの「⒋データの移行」から、そのまんま行います。
⒈ WordPressにて、プラグインBackWPupを利用し、バックアップデータをローカルにダウンロードし、ダウンロードしたZIPファイルを解凍します。
⒉ 解凍したファイル・フォルダーのうち、.sqlという拡張子のついたデータベースファイルを除いて、全てXserverにアップロードします。アップロード先は、サーバーにできた新しいドメイン名のディレクトリにある、public.html内です。
移管作業⒋ データーベースのアップロード
上記の通り、.sqlという拡張子のついたデータベースファイルはまだアップロードしていません。データベースこそ、書き溜めてきたブログの文章が保存されているファイルです。
データベースファイルは、FTPソフトを使ってアップロードするものではないので、引き続き参考としたブログに沿って作業を行います。
ここからはスクリーンショットを撮っていなかったので、筆者が参考にしたブログを参考にしてください。
⒈ Xserverサーバーパネルにて、「データベース」→「MySQL設定」を選択。
⒉ ページ内「MySQL追加」タブを選択し、データベースを作成します。サーバー名_の後に、5文字以内の名前をつけて「確認画面へ進む」をクリックします。次の画面で内容を確認したら、追加をクリックします。
⒊ 次に「MySQLユーザ追加」タブをクリックし、ユーザー名とパスワードを決めて入力します。ユーザー名は先ほど作成したMySQL名と同じにしておきました。
⒋ 新しく作成したMySQLへのアクセス権を、追加したユーザー名に指定します。
「MySQL一覧」で、作成したMySQLの「アクセス権未所有ユーザー」にて作成したユーザー名をプルダウンから選んで、追加をクリックします。
⒌ サーバーパネルの「データベース」→「phpmyadmin」を選択すると、新しいウィンドウが開きます。そこで、作成したユーザー名・パスワードを入力して、phpmyadmin画面を開きます。
⒍ 上部のタブのうち「インポート」を選び、「インポートするファイル」でバックアップデータのフォルダから、.sqlの拡張子のついたファイルを選びます。
⒎ 画面最下方にある「実行」をクリックすると、データベースファイルがインポートされます。
⒏ 「インポートは正常に終了しました」とメッセージが表示されれば、完了です。
⒐ バックアップファイルの中の「wp-config.php」というファイルに、新しいデータベースファイルの内容を書き込みます。
テキストエディタで開き、ファイル内の以下の部分をサーバーパネルの「MySQL一覧」から書き写します。
// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘XXXXX_XXX’);/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘XXXXX_XXX’);/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘XXXXXXX’);/** MySQL のホスト名 */
define(‘DB_HOST’, ‘localhost’);
この箇所を書き換えたら保存して、FTPソフトでこのファイルのみ再度アップロードします。
移管作業⒌ 作業完了なのにブログが表示されない
これで作業は全て完了したので、ブラウザにてブログを確認してみました。
ところが、「500 Internal Server Error」というエラーが表示され、ブログは表示されません。
エラーに関するログを確認できるというので、サーバーパネルからエラーログをダウンロードして、中身を確認します。
すると、
[core:alert] .htaccess: Invalid command ‘php_value’, perhaps misspelled or defined by a module not included in the server configuration
という一文が書いてあります。どうやら、「.htaccess」に問題があるようです。
実は、このブログのサーバー統合前に、同じWordpressで管理しているもう一つのブログ(プライベートブログ)を統合してあったので、そちらの「.htaccess」とこのブログの「.htaccess」を見比べてみました。
WordPressのテーマも仕様も全く同じブログなので、この2つの「.htaccess」が違うはずがないと思っていたのですが、今回統合しようとしたこのブログの「.htaccess」は、なにやら、元のサーバーであるロリポップに関する記述が残っていました。
ここからは他の人にはお勧めできませんが、最初に統合したプライベートブログの「.htaccess」をまるまるコピーして、今回統合するブログのサーバーにぶち込みました。
これで表示されなかったら、Xserverのご担当者に問い合わせをするしかないと思っていたら、無事に表示されました。
「こんな方法でいいの?」
と思いましたが、なんとか無事に複数のウェブサイトを一つのサーバーに統合することができました。
移管完了後、トップページは表示されるけど、それ以外のページで404エラーが出る場合は、以下の方のブログを参考にしてみてください。Wordpressの管理画面「パーマリンク」設定を更新することで解決する場合があります。
まとめ
今回の作業で、Xserver Businessスタンダードのサーバーに、
- 3つのドメイン
- 3つのウェブサイト(うち2つはWordpressのブログ)
を一つにまとめることができました。自社ウェブサイトのサーバー移管時に、36ヶ月分の支払いを済ませているので、これ以上の経費はかかりません。
ブログで使用していたロリポップは、解約の手続きをしました。
このブログに関しては、移行を決定してから完了まで2日かかりました。途中、ブログが表示されない時間をもう少し短縮できれば、もっと早く完了したと思います。
自社サイトで契約していたニフクラのレンタルサーバー契約終了から始まり、Google Domainsの管理譲渡という事案も加わったことで、複数サイトのサーバーを統合することが出来たことは結果オーライです。
コメント