新サーバーのディストリ選び

 サーバー、特にHDDとディストリがかなり古くなってきているので、そろそろ刷新を考えようと思いつつはや数ヶ月。

 マシンだけは用意して、hkondo氏協力の下、Gentoo2004を入れてはみたものの、放置気味。結局本格稼働前に2005とか出ちゃうし。ffmpegがどうしてもコンパイル通らないとかいくつかアヤシげな点もあるし、いっそクリーンインストールからやり直そうかと思ったりも。 無理にX無し構成にしたのがイカンかったのかしら。当時はCinema Displayで良いDVI切り替え機がなかったので、モニタレス運用を想定してたので。が、現在はDELLにかえてアナログ入力が空いているので、最近のX環境を触ることも動機付けの材料にしつつ。

 で、どうせ新規インストールするならディストリ変更も視野にいれようかと。Gentooの思想は非常によくわかるし、便利だと思うんだけど、いまいちやってることが不透明でいまだに馴染めなかったり。普通にルーチン化してしまえばなんてことないんだろうけど、なんか、最近の興味の低さでは新しい作法を覚えるのが億劫なんだよなぁ。 

 今考えてる候補としては、Gentoo2005、Vine3、Fedora4、Suseあたりですかね。Vineはやっぱり一番慣れてるので安心感がある。でもなんか失速感も不安。Gentooはどれくらい元気なんだろ?Fedraはサーバー用には“新しモノ好き”すぎな感もあるけど、逆にパッケージでなんでも揃うことを考えれば楽は楽だろうなと。ただメジャーバージョンアップ後のメンテナンスが心配だったりも。今のメジャーリリースのペースにつきあう気はサラサラ無い。そうすっと、数万程度の出費は覚悟するから、数年はメンテリリースしますって約束してくれるSuseみたいな商用パッケージてもいいかなと思ったり。

 オススメのディストリあったら教えてください。

 動かしたいサービスは、Apache+PHP、Samba、WebDAV、sshd、postfix(with SMTP Auth)、imap4、pptpd、DHCP、ntp、SquirrelMail、xGate、MovableType、Feed on Feedくらいかなぁ。SoftEtherもLinux版が出たら移行したい。

 つーか、ホント時間がとれないから、いっそ誰かバイトでやってくれんもんかなとも思ったり。

Linux 習熟度テスト

レッドハット | トレーニング | コース診断テスト

linux_skill.png RedHatが実施しているオンラインのLinux 習熟度テストの基本コース。

26point…orz

 ヤマカン無しで、わからないものは「わからない」を選択。まぁ、100点満点ではないみたいですが。

 「あなたの知識は偏りがあります」って、そりゃvimとか使ったことないしなぁ。いっぱしのLinux使いはそれくらい使えないとダメですか、そうですか。

 それにしてもあまり実用性の高くない設問が多かった気がします。サーバーコースとかだとまた違いのかなぁ。今度時間みつけてやってみよっと。


PostfixでVirtual Domain

 来月結婚する妹夫婦へのプレゼントとして、二人が経営する店の名前でドメイン名を取ってみました。汎用JPドメインを年額3,690円でDNSまでやってくれるレジストラを発見し、そこで申し込み。Webサーバーとメールサーバーはウチでバーチャル・ホスト。
 Webの方はApacheで何度もやってるので問題無し。今回、Postfixでメールのバーチャル・ホストに初挑戦。
 やってみると結構簡単でした。大規模な管理だとDBと連携して、とかあるみたいですが、当面二人+営業用アドレスだけなので、UNIXユーザに紐付けする方法を採りました。
まずmain.cfに

virtual_maps = hash:/etc/postfix/virtual

の1行を追加。
 続いて、virtualというファイルを作成して、

rolls.jp anything
user1@rolls.jp user1
user2@rolls.jp user2
shop@rolls.jp user1, user2
webmaster@rolls.jp furuta

などと記述。1行目はお約束。2行目以降はヴァーチャルなメールアドレスとUNIXユーザ名を対で書きます。
 できあがったらpostmap virtualすれば、ハッシュファイルvirtual.dbが作成されます。
 あとはuser1、user2といったUNIXユーザアカウントを作成し、postfixを再起動すればOK。mydestinationなどのリレー設定は自動でやってくれるみたいです。
 妹は色々アレなHotmail使いで今時どうよってカンジだから、これを機にウチでPOPなりIMAPな環境に移行させたいところ。THUNDERBIRDかリスメールでも覚えてもらおうか。Hotmailって外部アドレスへの転送機能ってないんだろうか?ないだろうなぁ…
 義弟の方はそもそもメールをあんまりしないみたいだけど使うだろうか?まぁ、今時、飲食業といえど仕事のやりとりにも必要ではないだろうか。最悪、ケータイに転送してでも。
 後はWebサイトだなぁ。

んが、IPAからXSS脆弱性の警告が

 うを、ツカケン宛にIPAのセキュリティ・センターから「おたくのサイトのとあるページに脆弱性があるので担当者のアドレスを教えれ」というメールが。そのメールに具体的な脆弱性の内容は書いてないけど、対象URIを見た感じクロス・サイト・スクリプティング(XSS)に関する脆弱性だろう。あのサイトは時期によってPerlとPHPのコードが混在していて、指摘は随分昔に書いたPerl部分。もうPerlは引退して久しいし、手元にリファレンスも無かったので、Webで情報を探しながら、とりあえずタグの除去処理を追加。
 更に調べてみるとPHP部分でもフォームの内容をそのまま表示している部分があることを発見し修正。
 これでいいのかな?IPAからの詳細連絡待ち。
 やれやれ。こういう被害を防ぐために行われている人的、計算機的資源って世界的に見たらスゴいんだろうな。世界中のマシンで稼働しているNortonとかスパムフィルタの処理パワーを振り替えるだけでサクっと宇宙人が見つかったり、癌の特効薬が見つかったりするんじゃないだろうか…

MovableType 3.15アップグレード

シックス・アパート、脆弱性を修正した「Movable Type 3.15」を公開
 MovableTypeがアップグレードされた。旧バージョンのスパムの踏み台にされる可能性のある脆弱性はプラグインにて対処済みだったが、他にも色々直ってるみたいだし、今日はオフ気分だったので着手してみる。
 アップグレードは普通に完了。手順書の「mt-upgrade31.cgiを実行」ってApache経由って意味ね。コマンドラインから実行してエラーが出て悩んでしまった。
 問題は個別に修正している部分が全てやり直しになること。以下、過去のエントリから拾い集めた備忘録。

・カレンダーを月曜始まりに

 lib/MT/Template/Context.pmを修正する。

my $days_in_month = days_in($m, $y);
my $pad_start = wday_from_ts($y, $m, 1);
my $pad_end = 6 – wday_from_ts($y, $m, $days_in_month);

require MT::Entry;

my $days_in_month = days_in($m, $y);
my ($sdow);
$sdow = 0 unless ($sdow = $args->{sdow});
my $pad_start = (wday_from_ts($y, $m, 1) + 7 – $sdow) % 7;
my $pad_end = 6 – (wday_from_ts($y, $m, $days_in_month) + 7 – $sdow) % 7;

require MT::Entry;

・検索対象を自ブログのみに限定

過去のエントリを参照。

・コメントスパム対策

 kawagutiの指摘による改変作業。
 mt-comment.cgi冒頭に赤字部分を追加。

use strict;
# Check spam comment
# die when value “spammer” is null.
use CGI qw(:standard);
if ($ENV{‘REQUEST_METHOD’} eq “POST”) {
my $data = param(‘check’);
die unless($data);
}

 lib/MT/Template/Context.pmに、赤字部分を追加(二カ所)。

<input type=”hidden” name=”entry_id” value=”$entry_id” />
<input type=”hidden” name=”check” value=”hoge” />

 後はユーザ毎のテンプレートなので今日の作業では上書きされていないはず。とりあえず、各利用者(ブログ開設者)の方は再構築やコメント周りの動作確認をお願いします。