2008/05/27(火)[ツール] 絶対領域

窓の杜で紹介されていたので使ってみた。

フルスクリーンにしたときのウィンドウサイズを制限するソフトっぽい。
常に他のアプリケーションの一部を常に出しておくにはちょうどいいかもしれない。
暇人のソフト制作室
絶対領域

WinXP Pro SP2で使って、気になった点

  • フルスクリーンでは無いウィンドウは、絶対領域に入る。\うまく使うと、他アプリケーションをサイドバー的な感じで使えるかもしれない。
  • マルチディスプレイ環境では、プライマリディスプレイだけで有効。\個人的には、各ディスプレイ毎に設定したい。左右並べてるとき、真ん中に領域持ってこられても邪魔。各ディスプレイの左右にしたいときもある。
  • フルスクリーン状態でアプリケーションが改めてウィンドウサイズを変更したとき、絶対領域が無効になる。例えば以下の時。
    • タスクバーのサイズを変える(デスクトップとタスクバーの境界をさわる)\デスクトップのサイズが変わるため各ウィンドウでresizeイベント発生
    • MS Office系ソフトでヘルプを出す\デスクトップサイズを元に、ヘルプウィンドウとメインウィンドウを並べるように再配置

2008/05/08(木)[debian] qmail + smtp_auth(qmail-vida) + pop3

インストール前に

現在動いているexim4を止めて起動しないようにする.
teapopも一緒に止める.必要ならinetdにHUPシグナルを送って再起動.

# /etc/init.d/exim4 stop
# update-rc.d -f exim4 remove
# /etc/init.d/teapop stop
# update-rc.d -f teapop remove
# vi /etc/inetd.conf
# kill -HUP `ps -C inetd | grep inetd | awk '{print $1;}'`

ダウンロード

ソースを落として解凍.

$ wget http://qmail.org/netqmail-1.06.tar.gz
$ wget http://jaist.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz
$ wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
$ tar xvzf netqmail-1.06.tar.gz
$ tar xvzf qmail-vida-0.53.tar.gz
$ tar xvzf ucspi-tcp-0.88.tar.gz
$ tar xvzf checkpassword-0.90.tar.gz

コンパイル前に

qmail-vidaを解凍して出てきたdoc/install.htmlを参考にしてます.

Makefileの修正とパッチ当て

$ cd qmail-vida-0.53
$ vi Makefile
$ diff Makefile.org Makefile
1c1
< QMAILSRC        = ../qmail-1.03
---
> QMAILSRC        = ../netqmail-1.06
43c43
<       ${PATCH} -p1 < $${here}/patch/qmail.patch
---
>       ${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
$ make patch
$ make copy
$ cd ../checkpassword-0.90
$ patch -p1 < ../netqmail-1.06/other-patches/checkpassword-0.90.errno.patch
$ cd ../ucspi-tcp-0.88/
$ patch -p1 < ../netqmail-1.06/other-patches/ucspi-tcp-0.88.errno.patch

グループとユーザの追加

仮想メールボックスは/var/vboxに置くようにしています.
グループ名,ユーザ名を変更する場合は各パッケージのconf-*を適宜変更します.

# groupadd -g 500 vida
# useradd -d /var/vbox -g vida -u 500 pop 
# useradd -d /var/qmail/authdb -g vida -u 501 -s /bin/false authdb
# useradd -d /var/qmail/qmailu -g vida -u 502 -s /bin/false qmailu

# groupadd -g 501 nofiles
# useradd -g nofiles -u 503 -d /var/qmail/alias alias
# useradd -g nofiles -u 504 -d /var/qmail qmaild
# useradd -g nofiles -u 505 -d /var/qmail qmaill
# useradd -g nofiles -u 506 -d /var/qmail qmailp
# groupadd -g 502 qmail
# useradd -g qmail -u 507 -d /var/qmail qmailq
# useradd -g qmail -u 508 -d /var/qmail qmailr
# useradd -g qmail -u 509 -d /var/qmail qmails

コンパイルとインストール

# cd netqmail-1.06
# make setup check
# cd ../checkpassword-0.90
# make
# make setup check
# cd ../ucspi-tcp-0.88/
# make
# make setup check
# cd ../qmail-vida-0.53/src/vida
# make
# make setup check
# cd ../../
# make install-doc

設定

初期設定

popで平文通すために

# cd netqmail-1.06
# config-fast mail.hoge.com
# /var/qmail/bin/vida-pwdbinit
# vi /usr/local/etc/pop3.rul
# cat /usr/local/etc/pop3.rul
:allow,ALLOWPLAIN="",DOMAINOWNER=""
# tcprules /usr/local/etc/pop3.cdb /usr/local/etc/pop3.tmp < /usr/local/etc/pop3.rul

起動スクリプト

起動のみです.終了部は書いてませんのでだまされないように(汗)

qmail

#!/bin/sh
HOST="hoge.com"
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin

case "$1" in
    start)
        # Start daemons.
        echo "Starting qmail:"
        exec env - PATH="$PATH" qmail-start ./Maildir/ splogger qmail &
        exec env - PATH="$PATH" DOMAINOWNER="pop" \
tcpserver -vHR -l"$HOST" -- 0 587 fixcrio \
qmail-smtpup "$HOST" checkpassword qmail-smtpd 2>&1 | \
splogger smtpd &
        ;;
    stop)
        # Stop daemons.
        ;;
    *)
        echo "Usage: qmail {start}"
        exit 1
esac

exit 0

pop

#!/bin/sh
HOST="hoge.com"
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin

case "$1" in
    start)
        # Start daemons.
        echo "Starting qmail-popd:"
        exec env - PATH="$PATH" DOMAINOWNER="pop" \
tcpserver -vHR -l"$HOST" -x /usr/local/etc/pop3.cdb -- 0 110 \
qmail-popup "$HOST" checkpassword qmail-pop3d Maildir 2>&1 | \
splogger pop3d &
        ;;
    *)
        echo "Usage: pop3 {start}"
        exit 1
esac

exit 0

動作確認

以下はmailtestというユーザを作成してテストしています.

Maildirの作成

$ cd
$ /var/qmail/bin/maildirmake Maildir

パスワードの設定

ここで設定したパスワードをsmtp, pop3で利用します.
例では testpassword というパスワードを設定しています.

$ /var/qmail/bin/vida-passwd
New password: testpassword
Retype new password: testpassword

接続

SMTPから

$ telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.hoge.com ESMTP
EHLO localhost
250-mail.hoge.com
250-AUTH CRAM-MD5
250 8BITMIME
auth cram-md5
334 PDI2NDk2LjEyMTAyNDg1NTJAcGMxNy5tYWViYXNoaS1pdC5vcmc+
bWFpbHRlc3QgOTRkN2QwMzU2ZDgzYjFmYTJjNDc2NTU4Nzg3OTQ3Y2E=
235 ok, go ahead (#2.0.0)
MAIL FROM: mailtest@localhost
250 ok
RCPT TO: mailtest@mail.hoge.com
250 ok
DATA
354 go ahead
Subject: test mail

this is test mail
.
250 ok 1210248605 qp 26499
quit
221 mail.hoge.com
Connection closed by foreign host.

cram-md5の認証に関しては以下のスクリプトを参考にさせて頂きました.
http://nai.homelinux.net/telnet_smtp_auth.html

続いてpop

$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <26541.1210248810@mail.hoge.com>
USER mailtest
+OK
PASS testpassword
+OK
LIST
+OK
1 403
.
RETR 1
+OK
Return-Path: <mailtest@localhost>
Delivered-To: mailtest@mail.hoge.com
Received: (qmail 26499 invoked from network); 8 May 2008 12:09:56 -0000
X-Authentication: mailtest was authenticated by mail.hoge.com
 at  8 May 2008 12:09:56 -0000
Received: from unknown (HELO localhost) (127.0.0.1)
  by mail.hoge.com with SMTP; 8 May 2008 12:09:56 -0000
Subject: test mail

this is test mail

.
quit
+OK
Connection closed by foreign host.

APOP対応なのに使ってないワナ.
とりあえずインストールしてみただけなのでそのうちexim4に戻す予定.

2008/01/09(水)debian 4

セットアップしてみた.
aptitudeでまとめてパッケージをインストール.

apache 2

設定ファイル:/etc/apache2/apache2.conf

細かい物は/etc/apache2/sites-available/*にある.
sites-availableで書いた設定を/etc/apache2/sites-enabled/からリンクすることを忘れないこと.
同じくモジュール関係は/etc/apache2/mods-available/

public_htmlを有効にするuserdirが標準ではロードされない.

cd /etc/apache2/mods-enables
ln -s ../mods-available/userdir.conf ./

a2{en|dis}{mod|site}ってコマンドがあったらしい.

  • モジュールを有効にする{a2enmod userdir}
  • モジュールを無効にする{a2dismod userdir}
  • 設定を有効にする{a2ensite userdir}
  • 設定を無効にする{a2dissite userdir}

exim4

設定ファイル:/etc/exim4/exim4.conf.template
分割しているのなら/etc/exim4/router/400_exim4-config_system_aliases

ワイルドカード,正規表現を使えるようにする

設定ファイルをいじる
/etc/exim4/exim4.conf.template
1156?: data = ${lookup{$local_part}lsearch{/etc/aliases}}
を
1156?: data = ${lookup{$local_part}wildlsearch{/etc/aliases}}
に書き換え
aliaseseを書く
  • abcで始まるアカウントを xxx に送る{^abc.*: xxx}(正規表現を利用)
  • abcで終わるアカウントを yyy に送る{*abc: yyy}(ワイルドカードを利用)\他にも\dとかいろいろ使える模様.

teapop

設定ファイル?:/etc/exim4/exim4.conf.template

最後default:*:rejectの前にMaildirを読み込ませる設定を追加

empty:*:passwd:~/Maildir/:0:
default:*:reject

~/Maildir/の最後のスラッシュがmaildir形式を意味しているので付け忘れないように.
スラッシュで終わらない場合は,指定されたファイルがmailbox形式として扱われる*1

*1 : この辺定番ですよね

php 5

設定ファイル:/etc/php5/apache2/php.ini

メモリを増やす

増やしすぎ注意.

269: memory_limit = 16M
269: memory_limit = 32M ; まあ適当に増やしてください.

errorの他にnoticeも出力

未定義変数の利用も警告でるようになる.

316: error_reporting = E_ALL & ~E_NOTICE
316: error_reporting = E_ALL

peal

PHPで書かれたライブラリを入れるツール.
PHPをインストールすると自動で入ったりする.
要php-cli(コマンドライン版php)
apt-get install peal

php-cli

PHPのCUI版.PHPと一緒に入るけど,設定ファイルは別.
設定ファイル:/etc/php5/cli/php.ini

メモリを増やす

増やしすぎ注意.でも,phpdocが意外とメモリを喰うので結構増やす必要があったりする.

269: memory_limit = 16M
269: memory_limit = 1024M ; さすがに増やしすぎ.でも512Mで通らなかったし...

phpdoc

現在はPHPDocumenterになったらしい.
pealでインストールできる.
peal install PhpDocumentor

設定ファイル:/usr/share/php/PhpDocumentor/PhpDocumentor

使い方

指定したファイル(-f)/フォルダ(-d)を読み込んで,指定したフォルダ(-t)にドキュメントを作る.

  • ファイル単体{phpdoc -f ファイル -t フォルダ}
  • フォルダ指定{phpdoc -d フォルダ -t フォルダ}

読み出すドキュメントの書式に従ってオプションを付ける.

  • -j{JavaDocの書式に準拠する}
  • -p{PEARの書式に準拠する}

2006/10/30(月)Multiple IE

IEの複数のヴァージョンを混在させられる模様.

Multiple IE
過去のIEがいろいろ入れられます.
入ってるのは,IE 3.0, 4.01, 5.01, 5.5, 6.0の5種類.
IE 4.01には,バグがあって,アドレスにURL入れても表示されません.
Ctrl+Oでダイアログ開いて,そこにURL打ち込む必要があります.

IE 7
IE 7を単体で入れたければこちら.

http://www.quirksmode.org/browsers/multipleie.html
IE 3.0, 4.0, 5.01, 5.5sp2をそれぞれ単体で入れたければこっち.
IE 4.0には(以下略)