先日、北辞郎のサーバをCORESERVERからXserverに移転した。CORESERVERは月額500円(CORE-A)という激安価格でありながら、サーバのスペックも悪くないし、PHPはモジュール版だし、Pythonだってもちろん使えるし、ということで便利に使ってきたのだが、共用サーバである以上、同じサーバに行儀の悪いユーザーがいるとサーバーのレスポンスががくんと落ちる。この1年ほどCORESERVER内でサーバの引っ越しを繰り返し、運営会社に改善を訴えてきた。だが、サポートに「ウチのサイトがいつまでたっても開けないんだけど」とかけあっても、サーバが復調してから「現在は問題なくアクセスできるようですが?」とかいう回答を寄越す。私の中の何かが外れ、ディスプレイに拳を突き立てたことも一再ではなかった。
私にとって北辞郎はインフラである。多くの方に利用してもらっているので、皆様のために安定した運用に努めるのはもちろんなのだが、私の仕事も北辞郎に依存している部分が大なのである。調べ物をする時の起点になっているし、過去の翻訳案件で調べた単語はまず間違いなくすべて登録されているので、北辞郎にアクセスすれば以前どういう訳語を採用していたかがすぐに分かる。アクセスできないと本当に不便なのである。
だから私はエイヤっと決断を下し、Xserverに移転することにした。料金はCORESERVERの倍以上になるが、それだって私がラーメンを1回我慢すれば済む。
移転自体は、それほど手間ではなかった。10日間の試用期間で動作を見極めた後、Xserverへの申し込みを済ませる。同社のサーバパネルにログインし、画面右上の「ドメイン設定」で「ドメインの追加設定」を行う。
そうするとサーバにそのドメインに対応するディレクトリが作成されるので、そこに各種ファイルをアップロードしていけば良い。今回の場合、北辞郎のドメインは「ctrans.org」なのでそれを追加すると、サーバに「ctrans.org」というディレクトリが自動的に作成される。その中に「public_html」というディレクトリがあるので、そこに北辞郎のファイルを全部アップロードする。
次にネームサーバを変更する。これまではドメインを取得したVALUE DOMAINのネームサーバを使ってきたが、それをXserverのものに変更する。手順は次の通り。
- Xserverのサーバパネルにアクセスし、画面左上の「サーバ情報」をクリックしてネームサーバ1~5を確認する(ns1.xserver.jpなど)
- VALUE DOMAINにログインする
- 取得済みドメイン一覧をクリックし、変更したいドメインの横に表示されている「NS」のアイコンをクリック
- 画面上部の「方法選択」で「他社提供/自前ネームサーバー」を選び、ネームサーバ1~5を先ほど確認したXserverのものに変更する
以上で移転は完了である。ただ、CORESERVERとXserverではPHPの設定が異なるため、いろいろと不具合が生じる。北辞郎で発生したPHPまわりの問題は次の通り。
- まずPHPのバージョンだが、XserverのPHPは初期設定で5.1.6である。これではjson_encodeなどちょっと新しめの関数が使えない。幸い、XserverはPHPのバージョンを切り替えることができるため、サーバパネルにアクセスし、「PHP Ver.切替」からバージョンを5.3.3に切り替える。
- CORESERVERのPHPはモジュール版だが、Xserverはcgi版である。.htaccessでIfModule mod_php5.cを使ってPHPの設定を行っていた場合は、これをphp.iniでの設定に変更する必要がある。サーバパネルで「php.ini設定」を選択し、必要に応じてphp.iniを編集する。
- なお、php.iniを編集する時は、エラーメッセージを表示させるようにした方が良いだろう。サーバパネルの「php.ini設定」で「error_reporting」を「E_ALL & ~E_NOTICE & ~E_DEPRECATE」にすると内部で何かエラーが生じた際にエラーを吐いてくれるようになる。
- XserverのPHPのSQLiteライブラリはエンコーディングがISO-8859-1になっている。そのため、SELECT length(‘漢’) を投げると「3」が返ってくる。lengthを使っている場合は、ユーザ定義関数を使うなどの対策が必要である。
移転完了から1週間ほどが経ったが、今のところサーバのレスポンスは軽快である。私とサーバとの不毛な戦いに終止符が打たれることを願う。