火曜日, 25 4 月 2006

qmail+MySQL この記事(qmail+MySQL)を「はてなブックマーク」に追加 この記事をクリップ! この記事(qmail+MySQL)を「del.icio.us」に追加

qmailとMySQLを連携させてメールサーバを作る機会があったのでその時の備忘録。
でも正直qmailはあまり好きではありません。djb氏独特のディレクトリ構成、設定方法とかがヤダ。
普段はMTAとしてPostfixを選んでいます、何しろ楽だし分かりやすい。

まずはqmailのインストールですが今回はnetqmailを使用しました。
アカウントの追加など基本的な部分は省いています。
あとMySQLは既にインストールされているものとします。
$ ./collate.sh
ここでqmailをMySQLに対応させるパッチをここからダウンロードしてきて当てます。
$ patch -p0 < netqmail-mysql-1.1.15.patch
$ cd netqmail-1.05
# make setup check
これでインストール完了です。
makeでコケる場合はMakefileを変更する必要があります。
ウチでは以下のように変更しました。
MYSQL_LIBS=/usr/local/mysql/lib/mysql/libmysqlclient.a -lm -lz
MYSQL_INCLUDE=-I/usr/local/mysql/include

次にMySQLの設定をします。
qmailからMySQLへの接続情報を/var/qmail/control/sqlserverに以下のフォーマットで書きます。
server MySQLサーバホスト名
login ログインID
password ログインパスワード
db データベース名
で、上で設定したデータベースに入ってアカウント情報の入ったテーブルを作ります。
テーブル名とカラム名は固定なので以下のテーブルをそのまま作ります。
CREATE TABLE mailbox (
  id mediumint(9) NOT NULL auto_increment,
  username varchar(32) NOT NULL default '',
  uid mediumint(9) NOT NULL default '0',
  gid mediumint(9) NOT NULL default '0',
  home varchar(128) NOT NULL default '',
  password varchar(16) NOT NULL default '',
  password_type enum('Password','Crypt-Password','MySQL-Password') NOT NULL default 'Password',
  suspended enum('N','Y') NOT NULL default 'N',
  PRIMARY KEY  (id),
  UNIQUE KEY username (username),
  UNIQUE KEY home (home),
  KEY password (password)
);
テーブルが出来たらメールアカウント情報をinsertします。
insert into mailbox (username,uid,gid,home,password,password_type) values('test',1001,1001,'/var/mail/test/','test','Password');
みたいな感じで。
解説すると1つ目のカラムからユーザー名、UID、GID、メール配送ディレクトリ、パスワード、パスワード形式となってます。
パスワード形式はPasswordでプレーンパスワード、Crypt-Passwordで暗号化パスワード
MySQL-PasswordでMySQLのハッシュ形式パスワードの3種類あります。上記の例はプレーンパスを使っています。

ここまでで一応メールは届くようになるんですが、この状態だとバーチャルホストには対応していません。
バーチャルホストにして複数のドメインからのメールを受けるためには以下のテーブルを作成します。
CREATE TABLE virtual (
  id mediumint(9) NOT NULL auto_increment,
  username varchar(32) NOT NULL default '',
  ext varchar(128) NOT NULL default '',
  virtual_username varchar(32) NOT NULL default '',
  virtual_host varchar(128) NOT NULL default '',
  PRIMARY KEY  (id),
  UNIQUE KEY address (virtual_username,virtual_host),
  UNIQUE KEY virtual (username,ext,virtual_username,virtual_host),
  KEY virtual_username (virtual_username),
  KEY virtual_host (virtual_host)
);
上記テーブルのvirtual_usernameとvirtual_hostを@でくっつけたのがバーチャルメールアドレスになり、
メールが送られてきたときこのテーブルを見て該当するメールアドレスがあれば
usernameで指定されているユーザーに登録されているディレクトリへ配送されます。
例えばabc@dummy.comというバーチャルメールアドレスを作りtest宛に配送したいならば
virtualテーブルに対して以下のようなクエリを発行します。
insert into virtual(username,virtual_username,virtual_host) values('test','abc','dummy.com');
これでOK。
実はvirtual_usernameを省略することもできて、その場合はvirtual_hostに登録されているドメインに
送られてきたメールはすべてその登録されているユーザーに配送される仕組みになっています。

他にもエイリアス用のテーブルがあってエイリアスの設定もできたりします。
驚いた事にそのエイリアスからパイプで外部のプログラムにメールを渡すことも可能です。
PostfixとMySQLを連携させる場合はそれが出来ないのでこの点は魅力的ですね。

でもまぁやっぱqmailは慣れないですねぇ、なんで/var/以下に実行バイナリがインストールされるのか意味が分(ry

Technorati Tags:

Posted by tsujitako at 9:35 午後 in Linux/

金曜日, 21 4 月 2006

日帰り出張 この記事(日帰り出張)を「はてなブックマーク」に追加 この記事をクリップ! この記事(日帰り出張)を「del.icio.us」に追加

今日は日帰りで東京に出張です。
急な出張だったけど禁煙2人席窓側の切符が買えてヨカタ。
大阪より暖かいなぁ。

d14610fb7002afc0c897c1179b6ba26d.JPG

木曜日, 20 4 月 2006

Apache 2.2とmod_proxy_ajp この記事(Apache 2.2とmod_proxy_ajp)を「はてなブックマーク」に追加 この記事をクリップ! この記事(Apache 2.2とmod_proxy_ajp)を「del.icio.us」に追加

このサーバを復旧させた時にApacheを2.0系から2.2系にアップして
Tomcatとの接続をmod_jk2からmod_proxy_ajpに切替えたんでその時の備忘録を書いておきます。

まずはhttpd-2.2.0のインストール。
$ ./configure --enable-module=so --enable-proxy --enable-proxy-ajp
$ make
# make install
ここでのポイントは--enable-proxy-ajpだけじゃなくて--enable-proxyも必要なとこ。

次にhttpd.confを編集…するんじゃなくてconf/extra以下のファイルを編集します。
Apache 2.2からは機能毎に設定ファイルが分けられていて、
それをhttpd.confからIncludeするという形になっています。
このサーバはバーチャルドメインで稼働させているのでextra以下の
httpd-vhosts.confにmod_proxy_ajpの設定を書いていきます。
<VirtualHost *:80>
  ServerAdmin xxxxxxxxxxx@xxxx.xxx
  DocumentRoot /xxx/xxx/xxxx/xxxxxx
  ServerName www.xxxxxxxxxxxx

  <Location /webapp-name/>
    ProxyPass ajp://localhost:8009/webapp-name/
  </Location>
</VirtualHost>
こんな感じでOKです。
これでApacheを起動させてhttp://xxx.xxx.xxx/webapp-name/でアクセスすると
ApacheからAJP13でTomcatに接続しwebapps/webapp-name/が見れるようになります。

mod_jk2の時と比べるとworkers.propertiesも必要無いし設定がかなり楽になりました。
Apacheからリクエスト転送すんのマンドクセ('A`)と思ってた人も
これぐらい簡単ならやってみようという気になるかも知れませんね。

Technorati Tags:

Posted by tsujitako at 1:58 午前 in Linux/

水曜日, 19 4 月 2006

カカオ99% この記事(カカオ99%)を「はてなブックマーク」に追加 この記事をクリップ! この記事(カカオ99%)を「del.icio.us」に追加

何かと話題のカカオ99%のチョコレートを食べてみました。
そんなに苦いのかと思い口に入れてみると、最初は普通のチョコ?のように思えたけど
その後一気に苦みが襲ってきて、あぁなるほどコレは苦いわ…と納得。
食べられないって程じゃないけどあえて食べるもんじゃないなと思いました。
ひとかけらで十分堪能したんで残りのチョコは社内のスタッフ1人ずつ配りまんた。

みんないい顔して食べてたお( ^ω^)


あー白バラコーヒーうめぇw

Technorati Tags:

Posted by tsujitako at 7:48 午後 in 雑記/

blojsom 2.30 この記事(blojsom 2.30)を「はてなブックマーク」に追加 この記事をクリップ! この記事(blojsom 2.30)を「del.icio.us」に追加

blojsomのバージョンを2.30に上げました。
2.30が出てるのは知ってたんですが特に目立った機能追加は無かったし、
また次のバージョンが出たら上げようと思ってたんですけど
ちょっとバージョンを上げる理由が出来てしまったんですよねぇ。

というのもかねてからmoblogで送ったエントリに対してコメント書いても
管理者にメールが飛ばないという不具合があってちょっとそれは不便だろ
ということでソースを修正しようとしたわけです。
せっかくコメント書いてもらっても気付かないと失礼でしょ。
ちなみにこんな例外が出ます。
org.apache.commons.mail.EmailException
    at org.apache.commons.mail.Email.createInternetAddress(Email.java:427)
    at org.apache.commons.mail.Email.addTo(Email.java:490)
    at org.blojsom.plugin.comment.CommentPlugin.setupEmail(CommentPlugin.java:650)
    at org.blojsom.plugin.comment.CommentPlugin.handleEvent(CommentPlugin.java:665)
    at org.blojsom.event.SimpleBlojsomEventBroadcaster$AsynchronousEventBroadcaster.run(SimpleBlojsomEventBroadcaster.java:192)
    at java.lang.Thread.run(Thread.java:788)
Caused by: java.lang.NullPointerException
    at javax.mail.internet.InternetAddress.parse(InternetAddress.java:569)
    at javax.mail.internet.InternetAddress.parse(InternetAddress.java:529)
    at javax.mail.internet.InternetAddress.(InternetAddress.java:65)
    at org.apache.commons.mail.Email.createInternetAddress(Email.java:414)
    ... 5 more
要はmoblogで投稿した場合は.metaファイルにblog-entry-authorが書かれないのが原因。

で2.29のソースを修正する前に念のため現行のCVSで
もしかして修正されているかなーと思って確認すると…
修正されてるー!CommentPlugin.javaのリビジョンも1.41から1.46に上がってる…。
ふぅ…危うく無駄な修正をするところだった、確認して良かった良かった。

そういう事があって今回2.30にバージョンを上げました。
でも未だにMoblogPluginの文字化け不具合はそのまんま。
ちょっとはマルチバイト圏のユーザーの事も考えて欲しいよなぁ。
バージョン上げるたびにそこだけ修正するのも面倒だし。

CVSを見ていて気付いたんだけど既にblojsom3のプロジェクトが始まってるのね。
公式サイトには特に何も書いてなさそうだけど(たぶん)、どう発展するのか楽しみ。
これからもblojsomを追い続けていきます。

Technorati Tags:

Posted by tsujitako at 12:22 午前 in Java/blojsom/

火曜日, 18 4 月 2006

一応ダイエット中 この記事(一応ダイエット中)を「はてなブックマーク」に追加 この記事をクリップ! この記事(一応ダイエット中)を「del.icio.us」に追加

毎日風呂上がりに体重と体脂肪率を計ってます。
去年から習慣になっていた焼酎の晩酌をやめてから
どんどん体重と体脂肪率が落ちてきました。
といっても呑み始まる前はもっと痩せてたはずだけど…。
最近はビール1本にしておつまみも食べないようにしたから
調子よく体重が減ってきていい感じです。
最近ようやく体年齢が20代前半に下がってきたけど計り始めた当時(去年)の
18歳を目指してダイエット頑張りマス…。


今日は体脂肪率17.1%。PCでデータ管理できるんでカラダスキャン便利です。


Amazon
OMRON カラダスキャン
体重体組成計 HBF-354IT
Posted by tsujitako at 3:29 午前 in 雑記/

日曜日, 16 4 月 2006

術後6日目 この記事(術後6日目)を「はてなブックマーク」に追加 この記事をクリップ! この記事(術後6日目)を「del.icio.us」に追加

先週の月曜にリルを手術した際に摘出した嚢胞の成分検査が終わったということで
堀江にあるいつもの動物病院まで行ってきました。
検査した結果、今まで飲ませていたものとは違う抗生剤の方が
効くんじゃなかろうかという事でした。
確かに今までは薬を飲ませていたにも関わらず
一向に改善される様子がなかったので合ってなかったのかも知れません。
今度こそ効果があることを願いつつ投薬を続けたいと思います。
新しい薬は一日二回与える必要があるので毎朝早起きせねば…。

前回、病院からリルをキャリーバックに入れて連れて帰ったとき
途中ウンチをしたらしく家に着いたときは軽く体が汚れてしまっていました。
なので下にトイレ砂をひけるようなキャリーケージをパークスのP2で買ったんですが
連れて行く途中に砂をかき出してしまい着いた頃には砂がほとんどが無くなる羽目に。
フェレットは好奇心が強いので寝た状態で連れて行ければ最高なのにな…。
Posted by tsujitako at 11:40 午後 in フェレット/

土曜日, 15 4 月 2006

Linux PPCでFlash再生 この記事(Linux PPCでFlash再生)を「はてなブックマーク」に追加 この記事をクリップ! この記事(Linux PPCでFlash再生)を「del.icio.us」に追加

x86版のLinuxならAdobeから公式のFlashプレーヤーが配布されているから
ブラウザでFlashムービーが再生されるけどPPC版のLinuxはなぜか配布されていないため
Flashを使ったページが見れません。
SolarisにはSparc版とIntel版を配布してるくせに…。

そこでPPC版のLinuxで使えるFlashプレーヤーは無いものかと調べていると
GnashというオープンソースのFlashプレーヤーを発見。
まだ開発途中で完全な動作を求めるのは難しそうだけどなんとなくでも動いたらいいなと思って早速インストールです。
$ setenv CVS_RSH "ssh"
$ cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/gnash co gnash
$ cd gnash
$ ./configure --enable-klash
$ make
# make install
これでスタンドアローンプレーヤーであるgnashとプラグインのlibgnashplugin.soがインストールされました。
早速gnashでサンプルのFlashムービーを再生すると問題なく再生されました。おぉ感動…。
で、次はFirefoxでFlash入りのページが見られるか確認…あれ?見れない。konquerorでもダメ。
about:pluginsを見てみるとShockwave Flashと認識はされているっぽい。
やはりまだ開発途中だからプラグインで再生するには問題があるのかなぁ。
でもスタンドアローンなら再生できてるし、YDLでもFlashを使ったページが見られる日はそう遠くないはず。
FSFの最重要プロジェクトにもなってるし今後のGnashから目が離せません。
Posted by tsujitako at 11:32 午後 in Linux/

金曜日, 14 4 月 2006

手術しました この記事(手術しました)を「はてなブックマーク」に追加 この記事をクリップ! この記事(手術しました)を「del.icio.us」に追加

リルが月曜に手術し昨日退院しました。
思ったより元気でとりあえず一安心。
まだ完治していないのでもうしばらくは病院通いが続きそうです。

33868d0aa8f4e8488c953c51e2c015c5.JPG

水曜日, 12 4 月 2006

Webページ→画像変換ツール この記事(Webページ→画像変換ツール)を「はてなブックマーク」に追加 この記事をクリップ! この記事(Webページ→画像変換ツール)を「del.icio.us」に追加

やることがないちょっと手が空いたので前回に引き続きAjax + PHPで簡単なツールを作ってみました。
今回のツールはWebページのキャプチャ(スクリーンショット)を取ってそれをサムネイル画像に変換するものです。
使い方はとても簡単で"WebページのURL"に適当なサイトのURLを入力し、
"イメージ作成"ボタンを押してしばらくするとそのページが画像として表示されます。
少し変換に時間が掛かるので表示されるまでジッと待っていてください。

最近は検索サイトなどで検索結果とそのページのサムネイルを同時に表示してるところもあるので
実は結構需要があるのかなと思います。手動でキャプチャしてサムネイル作るのも面倒だし。

WebページのURL:
サムネイルの大きさ:


ここに表示されます


うわぁ、まるでポータルサイトの宝石箱やぁぁ
Posted by tsujitako at 11:53 午後 in PHP/
前のページ   1 > 2   次のページ