2010年11月10日

ServersMan@VPS の Entry を契約した

無事にカードの再発行も済んだので、予定通り ServersMan@VPS の Entry プランに申し込んだ。
取りあえず使う予定のない ServersMan 提供ツール群は必要ないので Apache2 を消した。
その他 smadmin、serversman も必要ないので削除。

ServersMan@VPS の Debian はどうも locale が指定されていない状態になっているのか PuTTY で UTF-8 に設定した状態で日本語を打とうとしたら打てないことに気づいた。その辺の設定はここの記述を参考にして en_US.UTF-8 に設定した。
dpkg-reconfigure locales
update-locale LANG=en_US.UTF-8
そして今まで書いてきたのとほぼ同じ手順でサーバを準備して、早速サイトの移植を開始。
元々のサーバである XREA.COMCORESERVER.JP の時に入っていたモジュールが一部入っていなかったりするので、その辺は随時インストールしながら作業していくことにする。

アクセスカウンタ
ほとんど見えないぐらい小さいサイズでさり気なく存在しているアクセスカウンタは、簡単な自作スクリプト。
データは SQLite2 のデータベースで扱っていて、文字の出力は GD 経由で xbm 形式の画像を読み込んで、png 画像として出力している。
ここで使っている SQLite2 と GD はどちらも入っていない。とはいえ SQLite2 をわざわざ入れるよりは SQLite3 を使ったコードに直すべきだと思うので、そこはコード側を修正する方針で進める(直す対象のコードも少ない)。インストールついでに APC も入れておく。高速化バンザイ。
SQLite2 と SQLite3 のデータベースファイルは互換性がないのでコンバート作業が必要。
apt-get install php5-gd php5-apc sqlite sqlite3
invoke-rc.d php5-fpm reload
sqlite [カウンタのデータベースファイル名] .dump | sqlite3 [新しいデータベースファイル名]
とても単純な構造だったので特に問題なく変換できた(もちろん本当は生成されるSQLデータをよく確認すべき。更にこのままだとroot権限のファイルが生成されてしまうので chown と chgrp しないといけない)。
最初 Windows 側で変換してしまおうと思って SQLite のサイトを見に行ったらもう既に 2.x 系のコンパイル済みバイナリがなさそうだったので、Debian 側で作業することにした。
取りあえずこれで多分自作物の中で SQLite2 に依存しているものはなくなったはずなので、もう使うこともないであろう sqlite のパッケージは消しておく(sqlite3 は多分使うこともあるので残す)。
apt-get remove sqlite
これでカウンタの準備は完了。

ナポレオンのランダムメッセージ
一応このメッセージはサーバサイドで返すのでネタが全部ばれないようにはしてある(誰もそこまで見ないが)。
しかし実はこれでかい switch 文の中でひたすらメッセージを return するようなつくりになっていて、仕組みとしては非常に頭が悪い。だがおかげで何もしなくても普通に上手く表示される。よかった。ローテクバンザイ。

次回はメールフォームの移植作業をしたい。
とはいえここはほとんど最初から作り直しになりそうなので多分次回の記事はちょっと先になるはず。
Clip to Evernote