WordPressのブログと自社ウェブサイトのサーバーを統合してみた

スポンサーリンク
ウェブサーバーイメージ

Image by Colossus Cloud from Pixabay

前回、自社ウェブサイトのサーバーをニフクラからXserverへ移管しました。

契約したXserver Businessはマルチドメイン対応なので、このブログもウェブサイトと同じサーバーへ移管して、複数のサイトをサーバー統合しようと思います。

自社ウェブサイトはHTML/CSSのみの静的サイトですが、このブログはWordpressで管理している動的サイトです。

前回の移管と手順は一緒のものの、データベースやらMySQLやら、静的サイトにはない手順もあるため、同じく備忘録として記録しておきます。

スポンサーリンク

サーバーを統合する理由と現在の環境

今回ウェブサイトとブログのサーバーを統合しようと考えた理由は、Google DomainsがSquarespaceという米国の会社にドメイン登録の譲渡を発表したことです。移行前まで、このブログのドメインはGoogle Domainsで登録していました。
(参照:「Squarespace への Google Domains のドメイン登録の譲渡について」)

発表時点でメールが届き、その時はそのままにしていたのですが、先日、以下のようなメールがGoogleから届きました。

Googleからのメール

このメールの内容から、Squarespaceへドメイン登録を移行されると、何やらややこしいことになりそうな予感がします。

Googleは、自社のサービスを突然終了したり、このように登録を別会社に譲渡したりする、アメリカらしいといえばらしい会社です。このままでは今後のブログ運営においても不安が残るため、早めにサーバーを移管しようと考え、Xserverに移管した自社ウェブサイトと、サーバーを統合しようと考えました。

サーバー管理費用を、別々に支払っているのも無駄だというコスト面の理由もあります。

現在のブログの環境確認

現在の当ブログの環境は、以下の通りです。

自社ウェブサイトは、サーバーもドメイン管理もニフクラにて一括管理していました。それをまるまるXserverへ移管するのは、さほど手間はかかりませんでした。

しかし、今回はサーバーとドメインが別会社、さらにWordpress利用という環境をXserverに統合するので、余計に手間がかかりそうです。

スポンサーリンク

移管作業⒈ ドメイン移管

ドメイン移管については、Google Domain側で以下手続きを行います。

⒈ 「マイドメイン」→「管理」→「登録の設定」にて、「プライバシーの保護」を無効にします。
現状、ここでのwhois情報を確認するとSquarespaceになっています。ドメイン移管については、whois情報に自分自身の情報、メールアドレスが登録されていないと、Xserver側で認識できません。
無効にすることで、whois情報はSquarespaceから連絡者情報(自分)に変更されます。

⒉ 「ドメインの登録」の自動更新をオフにします。

⒊ 「ドメインの登録」のロックを解除します。

⒋ 「Googleから移管」で、「認証コードを取得」をクリックします。
改めてGoogleのログイン画面になり、OKにてモーダルウィンドウが開いて、そこに認証コードが表示されるのでコピーします。

次はXserver側です。
⒈ ログイン後、「サービス管理」から「Xserver Domain」を選び、トップページ右上の「ドメイン移管」を選びます。

⒉ 「Xserverドメイン移管お申し込み」画面に、移管するドメインを入力し、「ドメインを検索する」をクリックします。

⒊ 検索結果が出たら、そこにGoogle Domainsにてコピーしておいた認証コードを貼り付け、利用規約同意のチェックを入れて確認します。

⒋ 次の画面で、ドメイン移管費用(「.jp以外のドメイン」の場合、年1円)を支払い、申し込みをします。

翌日、Google Domainsより以下内容のメールが届きます。メールの内容に従って、移管を承認します。

Google Domainsからの移管リクエストメール
ドメイン移管承認画面

しばらくして、Xserver側から「【Xserverドメイン】ドメイン移管完了のお知らせ」のメールが届きます。

これで、ドメイン移管は完了です。ちなみに、Google Domainsでは、移管を完了したら契約解除という手続きがなく、登録していたドメインに関するデータが全て消えていました。

スポンサーリンク

移管作業⒉ ドメイン設定と無料SSL化

無事ドメインをXserverに移管できたので、Xserverのサーバーパネルにてドメイン設定を行います。

前回の移管作業で、無料SSL化で苦心したので、今回も不安です。

念のため、サーバー移管元のロリポップにて、WAF(ウェブアプリケーションファイアーウォール)設定を解除しておきます。

Xserverサーバーパネル「ドメイン設定」で、以下の通り作業を進めます。しかし、今回もSSL化は失敗です。他社サーバーでのウェブ認証、DNS認証もできません。

仕方なく、今回もネームサーバーの変更を行います。

しばらくしてサーバーパネルで、再度SSL化を設定したところ、ネームサーバーによる認証でOKとなりました。

移管作業⒊ WordPressのデータ移行

Xserverサーバーパネルにある「Wordpress簡単移行」は、下記画面の通り失敗します。

Wordpress簡単移行失敗

とはいえ、このサービスを利用しても

  • 移転元に設置されている「.htaccess」ファイル
  • /wp-content フォルダに設置されているデータのうち、バックアップ関連プラグインによって生成されたデータ
  • /wp-content 以外に設置されているデータやプラグイン設定
  • WordPressの本体構造を変更している場合

は移行できず、自分で行わなければなりません。それなら、最初から手動で行う方が、途中経過などわかりやすいと思います。

参考にしたのは、以下ブログです。

WordPressブログの引っ越し(サーバー移行)手順を解説!
WordPressを引っ越しする方法・タイミング・注意点をまとめました。サーバー移行作業の手順や、FTPクライアントツールの使い方も解説しています。

このブログの「⒋データの移行」から、そのまんま行います。

⒈ 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の管理画面「パーマリンク」設定を更新することで解決する場合があります。

WordPressでトップページ以外が表示されない時に確認すること - OPENCAGE
WordPressにてトップページは問題無く表示されるけど、トップページ以外のページが表示されずに、404エラーとなってしまう場合があります。   上記以外にも原因となることもあるかもしれませんが、ひとまず多い...
スポンサーリンク

まとめ

今回の作業で、Xserver Businessスタンダードのサーバーに、

  • 3つのドメイン
  • 3つのウェブサイト(うち2つはWordpressのブログ)

を一つにまとめることができました。自社ウェブサイトのサーバー移管時に、36ヶ月分の支払いを済ませているので、これ以上の経費はかかりません。

ブログで使用していたロリポップは、解約の手続きをしました。

このブログに関しては、移行を決定してから完了まで2日かかりました。途中、ブログが表示されない時間をもう少し短縮できれば、もっと早く完了したと思います。

自社サイトで契約していたニフクラのレンタルサーバー契約終了から始まり、Google Domainsの管理譲渡という事案も加わったことで、複数サイトのサーバーを統合することが出来たことは結果オーライです。

コメント

スポンサーリンク