Archive for 2007年6月

postfix + postfixadmin + Mysql + dovecot

6月 14th, 2007

なんだかんだと複数ドメインを運用してしまっている我が家のサーバ。
では、ということでバーチャルドメインでのメール運用にしてみた。ローカルホストにずらずらとメールユーザが並ぶのもなんだかなぁ、という感じだしね。

ただし、メールサーバはNASを兼ねている玄箱にやってもらう。で、HTTP/MySQLが動いているメインサーバのThinkPad X31にPostfixAdminを入れる。玄箱にMySQL入れると遅くてたまらんのでね。

で、作業。

1. まずはHTTP/DBMSサーバにPostfixAdminをインストール。これは、ググって楽勝。
2. 玄箱のPostfixをMySQL版に変更。が、玄箱ではFedora Core6を動かしていて、Fedora版のPostfixではMYSQL対応がされていない。そこでSRPMを持ってきてRPMをビルドしなおす。これもググって辛勝。main.cfはこんな感じ。

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mx.voodoomarketing.net
mydomain = voodoomarketing.net
myorigin = $myhostname
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
#, $mydomain
unknown_local_recipient_reject_code = 550
smtpd_banner = $myhostname ESMTP voodoo relay
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

message_size_limit = 0
mailbox_size_limit = 0

### virtual settings ###
local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /mail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_alias_domains = $virtual_alias_maps
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000

### soft quota settings ###
virtual_mailbox_limit = 0

認証周りがこれでいいのか、とも思うが動いているのでまぁいいや。

mysql_virtual_domains_maps.cfとかはググって頂戴。

3. 玄箱で動いているDovecotの認証をMysqlに変更。
巨大なファイルをやりとりすることもあるので、Maidir構成でいきたいが、メールディレクトリを正しく見に行ってくれるまでが試行錯誤で大苦戦。結果、PositfixAdminとも合わせ技で解決。

まず、postfixadminのconfig.ini.phpで、

$CONF['domain_path'] = ‘YES’;
$CONF['domain_in_mailbox'] = ‘YES’;

こうする。voodoomarketing.net/tsuyoshi@voodoomarketing.netというディレクトリに保存することになる。

Dovecot.confはこんな感じ。

default_mail_env = maildir:~/
protocol imap {}
protocol pop3 {}
protocol lda {}

auth default {
passdb sql {
args = /etc/dovecot-mysql.conf
}
userdb passwd {
}
userdb sql {
args = /etc/dovecot-mysql.conf
}
user = ****
}

dict {}

dovecot-mysql.confはこのように。

driver = mysql
connect = host=****** dbname=postfix user=***** password=****
default_pass_scheme = MD5
user_query = SELECT concat(‘/mail/’, maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = ‘%u’ AND active = ’1′
password_query = SELECT username as user, password FROM mailbox WHERE username = ‘%u’ AND active = ’1′

何がわかんないって、このdovecot設定がぐぐって出てくるのと違うんだよねぇ。あちこちのサイトに助けてもらってようやくできました。

サーバ構成変更

6月 12th, 2007

以下を先週日曜に行った。

1.サーバのOSをFedora7でクリーンインストールしなおした。
手順:
1-1. Fedora 7のブートイメージを元々入っていたFedora Core 6の /bootに入れる。レポジトリサイトからisolinuxというフォルダをそのまま/bootに入れればいい。レポジトリサイトのURLはメモしておくこと。
1ー2./etc/grub.confに、先ほどのisolinuxに入っているvmliuzとinit.rdを指すエントリを作る.名前はなんでもいい.
1ー3.先ほど作ったエントリを起動して、インストール作業。途中でインストール用ファイルはどこから持ってくるか、と聞かれるので、先ほどメモったURLを入力してネットワーク経由でダウンロード・インストールしてもらう。

2.ストレージをUSBディスクからNASに変更した.
これから暑くなるのでファンの付いた玄箱にストレージを変更。Fedora7のカーネルだと起動時にUSBストレージの認識があまりよろしくないのもこれで解決。

3.メールサーバを玄箱に
X31はWEBとDBに専念してもらうことにした。
ストリーミングサーバも載せたいしね。

詳細はまた今度。

技術的備忘録2007

6月 6th, 2007

NASからNASへファイルをxcopyしたときにファイル作成日時が変わってしまっていた。

マイクロソフトに拠ればファイルシステムの制約によるものだとのこと。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP402160
NTFSは100ナノ秒単位でタイムスタンプを持っているが、FATは2秒刻みでしかタイムスタンプを持たない為、相互のコピーを行うとずれが出るとのこと。

従って、偶数秒/奇数秒を丸め込んで同一ファイルかどうかを判断することが必要になってくる。
こちらのソフトであれば、その辺の考慮が入っているとのこと。

– 2007-06-08 追記 —
windows XPリソースキットに含まれているrobocopyコマンドの/fftオプションであれば時間の粒度を2秒で比較してくれる。
NASをそれぞれx:、y:に振り付けた場合には以下のコマンドでO.K。
robocopy /MIR /FFT x: y:

ITmedia News:「自分専用オンライン音楽ライブラリ」が米国でスタート、iPodにも対応

6月 5th, 2007

そういえばアップルが私的録音補償金制度に噛み付いたそうだが、こんなサービスを見るとそうだよなぁと思ったりする。

ITmedia News:「自分専用オンライン音楽ライブラリ」が米国でスタート、iPodにも対応

自分の音楽ライブラリをネットにあげておいてワンソースマルチオケージョンで利用できるわけだ。

これが、僕はしたかったのだ。この人たちがコミュニティ機能とか乗っけてきちゃったら - 乗っけてこなかったらアホウだと思うが - 羨ましくて羨ましくて悶絶しちゃうだろうな。

ところがこの国ではこういうのは著作権法の私的複製に引っかかるわけだ。
ケツの穴の小さい日本人なんぞ、くそくらえだ。

自由の国は良いなぁ。

Fedora7で大失敗

6月 4th, 2007

サーバのOSをFedora7に変えてみました。

大失敗でした。

HDの認識が/dev/sdaに変わるのは良いのですが、我が家のサーバであるx31に内蔵されているディスクは20G しか容量がないので、外部ストレージとして250GのUSBディスクを付けてました。

こいつが、起動時に認識されないのです。

いったんUSBケーブルを抜き差しすると/dev/sdbが現れ、マウントできるようになるんですけどねぇ。
起動時のスクリプトを見直せば良いんでしょうが、そんなスキルは僕にはないぞ、と。

しょうがないのでGrubの設定ファイルを入れ替えて、Fedora6がデフォルトになるようにしました。

そのうちにリベンジしたいところですが…
はてさて。