広告の色と量を変えてみた。
効果のほど、いかに。
広告の色と量を変えてみた。
効果のほど、いかに。
PostfixAdminで転送先設定をユーザとドメイン管理者がしようとしたときに改行コードがrnと化けて正常に処理されない問題について。
[インストールディレクトリ]/edit-alias.phpの79行目−83行目で改行コードを抜く処理をしている。
80行目のコードで、せっかく置き換えた文字列$gotoではなくてPOSTで送られてきた$fGotoを参照しているのが原因。
$goto = preg_replace (‘/rn/’, ‘,’, $fGoto);
$goto = preg_replace (‘/rn/’, ‘,’, $fGoto); ←これ
$goto = preg_replace (‘/[s]+/i’, ”, $goto);
$goto = preg_replace (‘/,*$/’, ”, $goto);
$array = preg_split (‘/,/’, $goto);
で、こういう風に直せば解決。
$goto = preg_replace (‘/rn/’, ‘,’, $fGoto);
$goto = preg_replace (‘/rn/’, ‘,’, $goto);
$goto = preg_replace (‘/[s]+/i’, ”, $goto);
$goto = preg_replace (‘/,*$/’, ”, $goto);
$array = preg_split (‘/,/’, $goto);
備忘録として。
追記
説明が足りませんでした。
“Postで送られてきたfGoto”は、63行目でescape_string関数で変換されてます。
$fGoto = escape_string ($_POST['fGoto']);
escape_string関数はfunctions.inc.phpに含まれていて、以下のようなもの。
function escape_string ($string)
{
global $CONF;
if (get_magic_quotes_gpc () == 0)
{
if ($CONF['database_type'] == “mysql”) $escaped_string = mysql_real_escape_string ($string);
if ($CONF['database_type'] == “mysqli”) $escaped_string = mysqli_real_escape_string ($string);
if ($CONF['database_type'] == “pgsql”) $escaped_string = pg_escape_string ($string);
}
else
{
$escaped_string = $string;
}
return $escaped_string;
}
つまり、使っているデータベースの種類にしたがって、文字列にエスケープコードを付けてSQLインジェクションを防ごう、という関数。
これによって改行コードである”rn”は”rn”されているのに、80行目でなぜか”rn”で処理しようとしている、ということ。
つまり、80行目を修正せずにコメントアウトでもこの処理を直すことが出来る。
ドメインを3つ運用している我が家のサーバ。
そのうちのひとつである39diva.comの主、歌姫Sakから「メールを別アカウントに転送して欲しいんですけど…」とリクエストを受けて.Forwardを…と思ったら、Postfixではローカルアカウントしか.Forwardが使えない。/etc/postfix.main.cf.defaultに
forward_path = $home/.forward${recipient_delimiter}${extension}, $home/.forward
と書いてある。我が家ではPostfixAdmin+MySqlによるバーチャルドメイン運用なので、この$homeを動的に切り替えてあげるように設定ファイルを書けば良いんだろうけれど、私のスキルではそんなことムリムリ。
さぁて、困ったなぁと思っていたら…PostfixAdminの設定ファイル config.inc.php にこんなことが書いてある。
// Alias Control
// Postfix Admin inserts an alias in the alias table for every mailbox it creates.
// The reason for this is that when you want catch-all and normal mailboxes
// to work you need to have the mailbox replicated in the alias table.
// If you want to take control of these aliases as well set this to ‘YES’.
訳すとこういうこと
// エイリアス制御
// Postfix Admin では、それぞれのメールボックスを作成するときエイリアステーブルにエイリアスをひとつ、登録します。
// これによってキャッチ-オールを行い、かつ通常のメールボックス
// を運用しようとしたときにエイリアステーブルに複製するメールボックスを登録することができます.
// もし、自分でこれらの制御を行おうという場合には、以下のパラメータにYESを指定してください。
つまり、メールボックスへメールが配送される前にエイリアステーブルで1回宛先の変換/追加処理がかかっているので、そのテーブルを直接に操作したいならYESを指定しなさい、と。
早速指定。
$CONF['alias_control'] = ‘YES’;
するとドメインのエイリアスリストのところに、hoge@hoge.comのエイリアスとしてhoge@hoge.comが登録されていますよ、と表示される。Editを押して編集画面に入り、エイリアスとして別のメールアドレスを指定してあげれば.Forwardのできあがり。
なるほど。
と思っていたら、ユーザログインで管理画面に入ると転送先指定ができることを発見。alias_controlがNoでもこれが出来るのかどうかは未検証。だって、結構時間を使って上の解決法を見つけたのに、そんなので出来ちゃったら悔しいじゃないか。
PCを使っているのはPCを使える人たちだけだ。音楽を聴いているのは音楽を聴ける人たちだけだ。その接点はほとんど無い。
試しに、「レミオロメン」をググると150万ページぐらい。「php」では500万ページである。
PCで展開するなら技術的に新味がないとダメな理由はここら辺にありそうな気がする。
結構な手間をかけて改造終了である。
1. チップにヒートシンク貼り付け
2. 外装に穴開け
3. HDステーにヒートスプレッダとして銅版(100mm×300mm×0.3mm)を貼り付け。
ステーからはみ出した銅版はHDをぐるりと巻いて外装側へ出す。
4. HDを巻いて出てきたヒートスプレッダにメモリ用ヒートシンクを貼る。
5. 3.5インチHD冷却用ファンをHD側に開けた穴=ヒートシンクが露出しているところへ取り付け、USBからの5V電源でのんびり回す。
6. 電源を加賀コンポーネントSPEC7251に変更。
7. 設置位置を外気を吸えるように出窓へ移動。ちなみに、出窓は北側に面している。



で、だ。
改造前はどんなにファンが回ってもHD温度が40℃を下回るのは難しかったのだが、改造後初日の今日は32度前後と飛躍的に冷えている。今日は外気温そのものが低いのもあるだろうが、満足すべき出来だろう。少し涼しくなったら外部ファンは止めてもいいかも知れ無い。
HDのチップがきちんと冷えるか心配だったが、なかなかいい具合のようだ。
行って参りました。Billy Branks Live In Japan。訳して「日本の生ビリー」。
奥さんと一緒に後楽園プリズムホールに着いたのは開場時間少し前の午後2時。
コーヒーとワッフルでカロリーを補給して、準備万端。
2時半ぐらいに入場すると、Tシャツとリストバンドを渡された。簡単にパネルで覆われた”更衣室”で着替え、開場に入ると100人程度の人がなんとなくうろうろしている…そのうしろに、同じぐらいの人数の報道陣。あららら。話題だからねぇ。
空調の効きすぎた会場で待つこと30分。退屈で僕は不機嫌になり、奥さんは寒くて不機嫌になる。その間に人数は300人程度に増えている。あららら。いわゆる”いい体”をしている人がいないのは、やはりエクササイズDVDという製品の購買層がそういう層だってことなんだろう。
なにやらアナウンサーのねぇちゃんが「みなさん、いよいよビリーさんが…」と我々を煽りにかかる。
あんまり定型な進行にちょっとカチンとくる。僕はビリー隊長と一緒に運動しにきたのだ。珍しいものを見にきたのではない。
てなこと考えていたら、さらにチアリーディングのねーちゃんが出てきて、シロートさんには難しい動きでウォームアップ。
体を動かして少し気持ちも軟らかくなったが、まだ少し不機嫌である。
で、ビリー隊長出現。40分のエクササイズ。彼自身も言っているが最初の15分は簡単。その次の15分ががんばりどころ。で、最後の10分は気合いだ。エクササイズにはDVDに無い動きなども入って、なかなか良い感じ。普段自宅ではスペースが無くてやりにくかった動きも、この会場なら手足を大きく動かせて気持ちいい。最後に3分ほどの”空気椅子”も入って、運動した感十分で大満足。
いやー、汗かいたねぇ。
と思ってたら、ビリー隊長が語り出す。
「いいか、気合いだ。気合いがこもってない運動なんて、意味が無い。楽な動きで得るもんなんかない。」
ふむ。そうだよね。
「気合いを君たちから奪ったのは誰だ? 気合いを吸い取り、君たちを使い捨てにするのは誰だ? 」
あれ?精神論?
「むかし、禅の達人と戦ったことが…」
おろろ。話がどっかいっちゃった。
その後、プロモーターと思しき人が熱く「ビリーと語った気持ちが通いあうことの大事さ」を語ってみたり、なにがなんだか。
だから、俺は運動しに来たんだってば。変な顧問がいる中学校の柔道部みたいな雰囲気と、いい運動した後の壮快さとで苦笑と満足がないまぜだ。
でも、ビリー・ブランクスはいい体してたぜ。腹もくっきり6パック。気合いかね、やっぱり。
その1: 玄箱がお亡くなりになった
どうやら何かの拍子に電源を触ってショートしたらしく、うんともすんともいわなくなった。
しようがないので、玄箱にくっついていたHDをひっぺがしてX31にUSB接続して急場をしのぐ。
X31のHDDは16G程度しかないので、FTPやhttpのデータ系は玄箱から持ってきていたのだ。
これがないと私のHPはすかすかになってしまう。
その2: Fedora7が起動時にUSBを認識するようになった。
そろそろかなぁと思って、yum -y update kernelにてカーネルをアップデート。
新しいカーネル2.6.21-1.3228.fc7が入る。
ビンゴ。
起動時にUSBディスクが認識されない問題は解決されているようで、USBケーブルの差し直しは不要となっている。
関係各位の方、ご苦労様でした。
しかし、このままX31+USBディスクではやはりちょっと不安である。
特にUSBディスクは元来長期間稼動させるものではないし、玄箱サーバの利便性は捨てがたい。
なので、電源をどこかで調達して修理することにした。
これと併せて冷却ファンの増設をしたいと思っている。
純正ファンの電源を横からもらう形で、HDと基板の間に薄いファンを挟んで見ようかと思っている。
このあたりの熱源をなんとかしてあげれば、結構冷えてくれそうな気がするのだ。
夏である。
5階立ての5階にある我が家はすんげぇ暑くなる。40度にはなるんじゃなかろうか。
というわけで、メール&NASサーバをやっている玄箱の熱対策をしてみた。
ハードディスク温度を5分置きにCronで拾わせてやると大体42度程度なので、それほど熱くなっているわけではない。
なので、メモリ用のヒートシンクという奴を付けてみた。

2本で1、000円弱だったかな? チップセットにぺたんと1本貼り付けたのと、HDの背中にも1本。
効果があるようなら、もう2本ぐらいHDDに貼り付けても良いかも知れない。
外装に通気口を開けた方がいいんだろうけれど、それはまた今度。
追記:
対策してから2時間。
只今のHD温度は…42℃。あれぇ…。
箱の中の熱量が変わらず、ファンの能力も変わらないのなら当然、か。
よーし。外付けファンだ!!
追記その2
ファン、つけました。
玄箱冷却計画
いろんな事情から、グループウェア「eGroupware」をインストールしてみた。
いろんな事情:
1: バンドのスケジュールをiCALで吐き出したい。
2: うちのメールサーバにWEBインターフェースを付けたい。
3: 別ドメインのサイトをプロジェクト化するかもしれないので、タスクリストとか進捗表とかが欲しい
4: とある筋になんとなくアピールしたい
eGroupwareは以下の事由により選択。
1: SyncMLに対応しようとしている
2: うちのFedora7/6 と相性がいい。phpGroupwareはインストールスクリプトが途中で止まる。
インストールのし方云々は他のサイトに譲る。
今後先に述べたようなスケジュールサーバとして使っていけるかを検証する予定。
OpenExchangeを使うことも考えたのだけれど、携帯電話でスケジュール管理している奴とかもいるし、もちろん会社のExchangeに予定入れている人もいるということで、特定のドメインへバンドのみんなに参加してもらうよりもシンプルなiCALサーバがよろしかろうと思っている。