ZCR.jp Webサーバの OS、bLOGソフトウエアである tDiary、そしてtDiaryを動かすための言語である Ruby をそれぞれ Version Upさせた・・のだが、久々に徹夜してしまった。
・・というわけで、2日間ほど放置してしまったが(^^;)、なんとかマトモに動いているようである・・
さて、いつもならOSのみとかtDiaryのみで済んでいたのだが、今回は両方 + Rubyも更新した。
作業時間の見積がいいかげんなため徹夜ということになったが、これは今が夏至直前であり、日の出時刻が最も早い*1時期に相当するためである。(^^;)*2
それはさておき、まず、OS。
サーバのOSは、UNIX系のFreeなOSであるFreeBSD。これを 8.2-RELEASEから 8.4-RELEASEにUpdate。
実は、8.2のサポートは昨年の7月末で終了していた。これに気がついたのが あろうことか2月頃で、とりあえず 8.3に上げるべきだったのだろうが、4月中旬に8.4が出るということだったので引っぱってしまった。*3
ftpで ISOファイルをgetし、CDに焼く。
かつてのWindowsのように、ディスク初期化なしで そのままVersion-Upという手もとれるのだが、基本的に クリーン・インストールである。
というわけで、ZCR.jpのhtmlファイルとか、このbLOGの書き込みデータとか をすべて隣のサーバ*4にバックアップ。Web関係のデータのほか、サーバのLOG、設定ファイル等も。今回は、いつもの tar czpf foo.tgz ./foo/ と scp who@server:/home/who/bar.tgz に加え、rsync -av who@server:/usr/local/baz/ /usr/local/baz/ も併用してみた。
OS自体のインストールは あっという間に完了するのだが、kernel configとか、サーバ関係ソフトのインストールが面倒い。
とりあえずネットワーク・サーバとして動くようになったら、WebやbLOGのデータをリストア。
次に、インタプリタ言語である Rubyのインストール。
このbLOGのソフトウエアである tDiaryは、主にRubyで書かれている。
いままでは、Rubyの1.8系列を使っていたが、この1.8系列のサポートが今月末で終了する。tDiaryも次期バージョンから1.8系列はサポート外とのこと。Ruby2.0も出ているが、ここはまず1.9系列に上げることに。
しかしながら、FreeBSDはRuby対応がイマイチ遅く、Rubyをインストールしようとするとデフォルトでは1.8系列がインストールされてしまう。
1.9系列をメインで使うためには、/etc/make.conf に次のように書く。
RUBY_VERSION=1.9.3 RUBY_DEFAULT_VER=1.9
最後に、tDiaryのインストール。
これが一番簡単・・なハズだったのだが、まず、ruby-image_sizeがインストールされない*5。これを手動でmake installする。
しかし、前述のとおりFreeBSDでは Ruby1.8がデフォのため、diary/vendor/imagesize-0.1.1/lib のシンボリック・リンクが /usr/local/lib/ruby/gems/1.8/gems/imagesize-0.1.1/lib と決め打ちされており、インターナル・サーバ・エラーとなってしまう。
これを発見するのに相当の時間を喰ってしまった*6。1.8を1.9に修正してなんとかエラーを潰した。
以前も書いたが、ZCR.jpのサーバは ノート機である。バッテリを積んではいるが、HDDは小型であり耐久性に不安がある。
このため、自作弐號機にも同じ環境を構築し、ZCRサーバとデータを同期しておくことでコケた場合でもすぐにサイト復旧できるようにしてみた。まあ、そんな事態がやってこないことを願うわけだが・・・
*1 04:11頃。
*2 夏至の数日前の方が夏至の当日(6/21)よりも日の出は早い。また、日没の時刻は夏至の数日後が一番遅く(19:12頃)なる。
*3 まさか2か月も遅れるとは・・想定外・・引っぱっちゃイケマセン(^^;)。8.4の保守終了予定日は 2015年6月30日。
*4 自作弐號機。こいつもFreeBSD。ひと足先に8.4にUpdate済み。
*5 Linuxでは、使う使わないにかかわらず、Ruby本体をインストールすると周辺ライブラリもごっそりインストールされてしまう。ここらへんPolicyの違いなのだろう。
*6 あぅ~ 生体焦点距離調節機構の劣化がぁっ・・