ZCR/bLOG


[PC][Net] サーバ更新

2017年09月01日 23時 更新

当 zcr.jpでは ヴァーチャルとかレンタルではなく、リアル自宅サーバで運用している。

前回更新から 5年半。半年ほど前から おそらくハードディスクが 「キぃー・・」 と 鳴き始めた。鳴きの頻度は 当初 一晩に一回程度だったものが 最近では 1時間に数回・・と悪化。

まあ、Windows2000時代の中古ノートパソコンを 1日24時間 5年半に渡って連続想定外使用しているわけで、前回更新も 先代サーバのクラッシュが原因だったし、こりゃもう 今のうちに引退していただくのがよかろうもん・・と、ついにサーバ更新と相成ったのである。

新サーバ用のPCは 小型で静か・・という必要性から今回もノート機とした。

TOSHIBA Dynabook L47 266E/HD (Core i5 2.66GHz Mem: 2GB)

某中古PC専門サイトで 約 7,000円だった*1。キーボードやタッチパッドは かなり使い倒されてるが、ほとんど SSH等リモートでしか使わないのでノー・プロブレム。

OSは Windows7が入っていたが、邪悪な OSは消去し(^^;) FreeBSD 11.1-RELEASEをインストール。この導入自体はあっさりと終了したのだが、既に セキュリティ勧告が出ていたので 最新のソースコードを入手して Updateすることに。

# svnlite checkout https://svn.freebsd.org/base/releng/11.1 /usr/src
# cd /usr/src
# make -j4 buildworld buildkernel

これで FreeBSD 11.1-RELEASE-p1になった。このあとで カスタム・カーネルに作り直して サーバのガワが完成。

FreeBSDをいじるようになって もう20年を超えた。当時 NEC PC-9801で動く UNIX系OSといえば これしかなかった。その後、Yahoo JAPANのサーバが ほとんど FreeBSDだという情報も入ってきて ハマってしまった。*2

時代は移って 現在は Linux系の Cent OS*3が幅を利かせているが、俺もトシ喰ったし いまさら 乗り換えるのもな・・ってのが本音・・かも。(^^;)


Webサーバは、定番の Apache*4

Apacheは 2.4系列が出て久しいが、レガシーな 2.2系列のままで行くことにした。やはり 2.4系列は ちょっと違うようだ*5。(^^;)

設定ファイル等は 新旧サーバを並行して運用し、ネットワーク経由で旧サーバから新サーバへコピー。

一部のページで使っている webカウンタの wwwcount、既に開発停止から10年以上 経ってしまいFreeBSDのportsからも削除されているが、これも旧サーバから実行環境を そのままコピーすることで無事動作した。

ここまでは順調だった。



このBLOGソフト tDiaryは 国産の言語 rubyで書かれており、まずは ruby2.3をインストール・・と思ったら、途中で コケてしまう。

エラー・メッセージから /usr/local/lib にある soファイルが見つけられていないようだ。悩んで シンボリック・リンクを /usr/lib に設定したら なんとか makeが通り、rubyのインストールは終了したものの、その後の tDiaryの関連ライブラリのインストールでも同様のエラーが。けっきょく この解決に かなりの時間を費やしてしまったのである。

結論からいうと、/usr/local/lib のパーミッションが 775(rwxrwxr x)になっていた。つまり、groupwritable ・・管理者以外のユーザが書き込み可となっているディレクトリは リンクの対象から外れてしまう*6というセキュリティが施されていたのだ。

しかし・・なんで 775になってたのかは謎。(^^;) *7



tDiaryのサーバへのインストールは無事終了したが、今度は 各ユーザディレクトリへのインストールがコケてしまう。

これも 相当 悩んだ。tDiary-4.1.0あたりからディレクトリ構成が大きく変わっているらしいのだが、インストール用のスクリプト tdiaryinstall.rbは 前のバージョンのディレクトリ構成のままファイルコピーしようとしてエラーになっているように見える。

そこで とうとう tDiary のportsメンテ担当の方にメイル。翌朝 届いていた パッチを適用したところ、今度は Gemfile.lockが無い・・というエラーが。

よくよく調べてみると コピー元に そもそも存在していないので、どうも tdiary-inst.rbで Gemfile.lockをコピーしようとしてはいけないようだ *8。とりあえず 仮のGemfile.lockをコピー元に作り、tdiaryinstall.rbを実行後に 削除する・・といった手順でエラーを回避し、なんとか tDiaryへのアクセスに成功。

しかし、今までクレーム無かったということなのだろうから・・ FreeBSDで tDiary使ってるヒトって・・ 少ないのね*9 。(^^;)*10


今回インストールしたのは tDiary-5.0.5。旧サーバで動いていたのは 4.0.5。メイジャー・ヴァージョンアップの部分*11と セキュリティがらみ*12でもつまずいてしまったのだが、ちょっと細かくなりすぎるので このへんで 端折らせていただくことにする。*13

しかし・・ 久々にアタマ使ったなー。しかも 3日もかかったし・・ 疲れたー・・・ (^^;) *14


*1 予備として もう1台 Vista時代のノート機(Core2 Duo)を買ったが、液晶の小さなドット抜けがあり、4,000円ほどだった。

*2 Yahoo JAPANどころか かの Microsoftのダウンロード・サイトも 当初は FreeBSDを使っていた。

*3 現在、Yahoo JAPANサーバは かなりの数が Cent OS。FreeBSDもあるが ほんの一握りとのこと。

*4 かつては シェア 1位だったが、最近は Windows系のサーバが増えてしまって マイクロソフト IISの方が多いそうだ。

*5 ドキュメントをちょっと読んだが、恐れをなして スゴスゴ引き下がった。

*6 いっそ、エラーで止めてくれた方が親切なのでは?? BSD系って そういう固いとこ あるよね。

*7 予行演習でインストールした予備機では 755だったので 犯人は やっぱり俺??

*8 だいたい Gemが何者なのか理解しないまま 走ってる。

*9 腐っても BSD。いや、腐ってないけど。

*10 portsの tdiary-instスクリプトは近日中に 修正されるだろう。ボランティア ありがとう。

*11 Blogkit の適用の大部分がプラグイン設定に移動した件・・

*12 @options['csrf_protection_allowed_referer_regexp_for_update']の件、そして Digest認証が効かない件・・ これらは新旧サーバ並行運用でシステム設定を進めたのが ひとつの原因。

*13 このほか、ssh の秘密鍵生成で、DESで作っときゃ大丈夫だろ・・と思ってたら ぜんぜんアクセスできず、よくよく調べたら 今じゃ DESでさえ古い・・ということで無視。ED25519で作った鍵でようやく開いた・・とか・・

*14 客観的にみて、やっぱ トシだわ・・って思ったよ。あぁー、もう考えたくない・・とか。こりゃ いかんわな。結果的に すべての問題をクリアできたから良かったが・・

Tada/JA7KPI : 2017年09月01日(金)

«ギガヘルツ無感 最新 AT test 2017»
編集