前々からサイトが重く感じることがあり、思いっきってサーバーをXreaからバリューサーバーに変更しました。移行に伴い多くの躓きがありかなりの時間を要しましたがどうにか今の所うまく動作しているようです。結果的に、googleのPageSpeed Insightsでのサーバー応答時間測定によるものですが速度が短縮され(1.4sec →0.4sec)、個人のレベルでは以前遅かっただけに満足しています。
■サーバー比較
さて、サーバーの引っ越しにあたって旧サーバーと新サーバの比較をしてみました。
旧サーバーよりも条件は良いと思います。ただし、レンタルサーバーでは借りている人数とアクセスによってはサーバーの能力に影響がでるのでその点については定かではありません。また、phpのバージョンを全体と個々に区別してセレクトできるようになっているので変更するのに便利です。
■サーバー引っ越し手順
- 新しいサーバーへxoopsで必要なファイルをコピーする
必要ファイル(html,xoops_trust_path)をサーバー間でコピーします。新旧どちらのサーバーにもサーバー間でコピーする機能があるので非常に速く便利です。私は新サーバーのサーバー間コピーを利用しました。
- 新サーバーでデータベースMySQLを作成し、PhpMyadminをインストールする
- データベースのコピーを行う
- PhpMyadmin
旧PhpMyadminを利用しデータベースをエクスポートし新PhpMyadminを使ってデータベースをインポートする。エクスポート方法は「簡易-最小限のオプションだけ表示」を選択します。
- bigdump.php
旧PhpMyadminを利用しbigdump.php用にデータベースをエクスポートし、新サーバー内のhtml内にbigdump.phpとエクスポートされたデータをコピーし、"http://ドメイン名/bigdump.php"にアクセスします。(bigdump.phpでデータインポートを参照してください。使用後は削除が必要)
今回はaの方法でうまくできたのでbの方法は使っていません。
- サイトでメンテナンス中の表示を行う。
ドメインが新しいサーバーで使えるようになったかどうかを確認しやすい
- DNS情報変更の設定
ドメインの「DNSレコード/URL転送の設定」から新サーバーでドメインが使えるようDNS情報変更を設定します。
- ドメインウェブの設定
新サーバー側でのドメインウェブの設定を行ないます。もしメールの設定などをしている場合はそれも併せて行います。
■不具合(困ったこと)
新サーバーでの運用が事前に確認できればいいのですが、DNS情報変更が新サーバーへ反映されるまで新しいサーバーでうまく動作しているかどうかの確認できなかったのが不安でした。ドメインの移行前に旧サーバーサイトで訪問者にメンテナンス中の表示をしておけば、新サーバーに反映されれば正常に表示されるので移行したことが分かりやすくなります。なお、新しいサーバーでサイトが表示されてからの以下のような不具合があり対処しました。
- ログインすると画面から遷移するものの元に戻ってしまう。
対処:
・PhpMyadminを利用しデータベースのxoops_sessionの照合順序をeucjpms_bin → utf8_binに変更した。
・この時点でphpのバージョンをphp5.6 → php5.5(CGI)へ変更した。(html部分に関してのみ)
- xelfinder(イメージマネージャー)モジュールにて「バックエンドに接続できません」のエラーが発生した。
対処:
・さらにphpのバージョンphp5.5 (CGI)→ php5.3(CGI)に変更した。(html部分に関してのみ)
追加
1、2のphpバージョンによる不具合について、
XOOPS Xでログインできなくなりましたという記事を見つけhtml/modules/legacy/preload/Primary/SessionCallback.class.php のファイルを差し替えることで対応しました。現在はphp5.6で稼働しています。なお、phpバージョンによるサイト読込の速度差については感覚的なものですが実際それほど変わらないというのが印象です。また、2のxelfinderについてはアンインストールすることにしました。