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/04/23(水)[debian] zmodem
ここにきて,離れたとこにあるサーバからデータを引き抜きたいという話が増えた.
なので,サーバにlrzszを入れたみた.
これでファイルの転送が少しは楽になるはず.
2008/04/10(木)[XP] NICにIPを複数割り当てる
- ネットワーク接続
- ローカルエリア接続のプロパティ
- インターネット プロトコル (TCP/IP) を選択しプロパティをクリック
- 詳細設定
- IPアドレス(R) の 追加(A) ボタンからIPを追加する
2008/04/10(木)[debian] NICにIPを複数割り当てる
必要に迫られてないけど,なんとなくいじったのでメモ
# vi /etc/network/interfaces 以下を追加 iface eth0:0 inet static address 192.168.150.17 network 192.168.150.0 netmask 255.255.255.0 broadcast 192.168.150.255 auto eth0:0 # /etc/init.d/networking restart
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.
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の書式に準拠する}