CentOS5.2にProFTPDをインストールする

Linuxのディストリの一つであるCentOS5.2にFTPサーバであるProFTPDをインストールする方法です。
管理マネージャはWebminを利用しますが、これに用意されている通常の方法ではインストールができず、以前の記事の内容とは異なる方法でインストールできたので、それを記録しておきます。
CentOS5.2はGUI(デスクトップ環境あり)を前提にします。

Webminからインストールができないのに変化はありませんので、やはりrpmファイルをDAGより入手します。

DAG:
href=”http://dag.wieers.com/rpm/packages/proftpd/

File:
proftpd-1.3.1-1.el5.rf.i386.rpm

デスクトップなどの適当なところへ保存しておきます。
以前の記事ではターミナルから必死にインストールを進めましたが、よくよく考えると
書庫ファイルをダブルクリックすればよかったのです。
ということで、ダブルクリックすると、パッケージマネージャが起動して依存関係を調べてインストールが完了します。
とても簡単です。

改めてWebminよりProFTPD Serverを開くと、設定などのメニューが表示され正常にインストールされていることが確認できました。

WCG-Team2ch次バージョンの構想

現在は取得元のxmlから直接ファイルに書き出しています。
この方法ではメンバー(個人)を対象にした解析が不可能でした。
個人的には、この機能はほしいもので、どうにか対応できないかと考えていました。
いろいろ考えましたが、メンバーのxmlファイルデータをDBに書き込んで、日付で集計したファイル(yyyymmdd_member.tsv)を書き出して、さらにメンバid別にファイルを書き出す。
データベースに入れてしまえば、スクリプト的にはかなり楽になりますが、問題はレコードの数です。
現在は9000人を超えていますので、1日に9000レコードを消費します。
さらに、その期間を保持するかを考えると、1ヶ月で9000×30=27000レコード、1年で9000×360=3240000レコード・・・
まあ、どうにかなるでしょう。

さて、個人の履歴が見えるようになると、推移を見たくなりますね。
グラフ化されたりするといいかもしれません。
問題は転送量に耐えられるかどうかですが・・・
場合によっては、皆さんに金銭的な支援を求めるかもしれません。
もしくは、昔のようにFTPでえっちらおっちらアップロードする方法に戻るかもしれません。
どの方法がいいのかは、実際に走らせないと分かりませんが。
一応この内容は仮のものですが、現実味はあります。
時間があまり取れなくて遅いだけで、何もやっていないわけではありません。
もしご意見やおご感想があれば2ちゃんラウンジスレか、ここのコメントにでも書き込んでください。

今日買った本

久しぶりにジュンク堂池袋店へ行きました。
レジの応対が不気味なほど丁寧で、しかも対応してくれた娘がちょっと好み入っていたのでドキドキ・・・ってオヤジですな。

さて、衝動買いした本はこれです。

奥付では「2009年1月25日 初版」となっている新刊です。
ポケリ(ポケットリファレンス)シリーズは、まれに外れがあるけども割とお買い得なシリーズです。
ずっと使い続けているMySQLへの理解を深めるために、この1冊を衝動買いしてしまったというわけです。
さて、活用できるかどうかは自分の腕次第・・・

PHPでメールを送信するときのメモ

メール送信はどうも使い慣れません。
現在のWebコンテンツでメール送信は切っても切り離せないものですが、どうも使い方に慣れません。

とりあえず、何度かこうやってメモしていけば体が覚えてくれることでしょう。
本棚にはオライリーの4000円もする「電子メールプロトコル」の本がありますが、たいして活用されていません。

とりあえず、さて、メールを送信したアドレスが存在しない場合、その送信先のドメインが存在しなかったり、ユーザが存在以内場合はリターンメールが返ってくるのですが、その通知先を指定できます。
(そもそもこの考え方であっているのか?)
ヘッダでは「Return-Path」です。
ヘッダにあたる部分には以下のように記述しておくことになっています。

Return-Path: return@exsample.com


しかし、この方法ではほとんど有効ではなく、スクリプトやサーバが指定したものに強制的に上書きされることがほとんどのようです。
もちろん、設定できるのですが、動的に変化させる場合この方法では使えません。
これを回避するには、sendmailへのスイッチが有効なようです。
PHPでは第5引数に次の内容を追加します。

"-f return@exsample.com"


つまり実際にはこうなります。

mb_send_mail( $to, $subject, $body, $headers, "-f $mail" );

これで、受信したメールのソースを見ても正常に設定されました。

メール送信用のモジュールやライブラリを使っている場合はこの限りではありませんので、ご注意ください。

参考にしたのはこのあたり
http://builder.japan.zdnet.com/member/u87200/blog/2009/02/08/entry_27020134/

CentOS5.3がそろそろ出るみたい

RedHatがいつの間にか5.3になっていたので、おそらく近いうちにCentOSもバージョンが同じになると思われます。
特に大きな変更はないと思いますが、またいじれるかと思うとwktkします。

ところで、CentOS5.2でImageMagickのバージョンをあげようと思ってyumをたたいてもパッケージは古いままで、ソースからコンパイルしようと思っても、./configureで画像ライブラリを認識してくれません。
今入っているバージョンでは動いているのでパスだとは思いますが、解説サイトの通りにやってもうまくいかないのでちょっと困ってます。
早めにCentOS5.3が出てくれて、ImageMagickも上がってくれればいいのですが・・・

PHPのHTTP_Clientライブラリ

ファイルをアップロードするにはHTTP_Clientがいいらしいんだけど、
セッションでログイン管理しているからCookieを食わせなくてはいけない。
正確には、すでに食っているので、クッキーの値を送ってやる必要がある。
いろいろ調べてみると、HTTP_Client_CookiManagerというものがあって、passCookies()でセットできるらしいところまではわかったけどうまくいかない。
解説サイトも翻訳しただけで、ろくなサイトが見つからない。
やっぱりこういうクライアント側のごにょごにょはPerlしか使い物にならないのだろうか・・・

フラグを簡単に切り替える

他人のPHPスクリプトを覗いていたら、とても悲しい式を発見しました。

switch( $flag ){
  case 1: $flag = 0; break;
  case 0: $flag = 1; break;
}


フラグの切り替えなのですが、これでもまぁ、別にいいのですけど、1と0の入れ替えなら計算式でもできますよ。

$flag = ( $flag * -1 ) + 1;


入門書というよりは、算数のレベルだと思うんです。

しっかりしろcoreserver

このサイトを含め、私が管理するサイトの半分はcoreserverに置いてあります。
先ほどからですが、サーバからのレスポンスがブツブツ途切れていました。
一応有料サーバーなのですから、しっかりとしてほしいものです。
値段相応といわれればそうかもしれませんが、無料よりも不安定では洒落になりません。

Windows 7 β

13日から日本語版のダウンロードが開始されたということで、14日にはダウンロードを試みていたものの、途中でダウンロードツールが固まったり、レジュームするにも対象ファイルが更新されたとかでもう一度やり直したりで散々な目にあいました。
回線がもう少し太ければよかったのかもしれませんが。

さて、インストールを試みましたが、性能的に対応している予備マシンがないためVMWareを利用することにしました。
が、やはり無理がありました。
重いの何の、マシンがもっさりどころか正常に動きません。
何とかブートしたものの、アップグレード版?なのかOSが見つからないと怒られて進まなくなりました。
もういいや。