自宅サーバ設置 その4

基本的なサービスで最後に残っている大物であるメールサーバを設置する。基本的には、qmailのドキュメント通りに進めればよろしい。

インストール前の準備

qmailのインストール前にqmailが使うアカウントを準備する。djbdnsに比べて多いので注意。 (僕も1カ所設定を間違えていたので。) /etc/passwdはvipwで編集すること!

```plain /etc/group qmail::9990: nofiles::9991:


```plain /etc/passwd
alias:*:9990:9991::0:0::/var/qmail/alias:/bin/true
qmaild:*:9991:9991::0:0::/var/qmail:/bin/true
qmaill:*:9992:9991::0:0::/var/qmail:/bin/true
qmailp:*:9993:9991::0:0::/var/qmail:/bin/true
qmailq:*:9994:9990::0:0::/var/qmail:/bin/true
qmailr:*:9995:9990::0:0::/var/qmail:/bin/true
qmails:*:9996:9990::0:0::/var/qmail:/bin/true

qmailのインストール

qmailのインストール自身は簡単で、DNSで運用したいサーバのMXレコードを設定してある状態にしてからやるといろいろ問題がなくて進めやすい。今回はdjbdns立ち上げ時にMXレコードを登録しておいたので、このまま作業を進める。

今回は広瀬さんが作成しているanti-badmailパッチとFujiwaraさんによるIPv6パッチがあたったものを使用する。

% cvs -d :pserver:anonymous@yatex.org:/qmail co -r v6-anti-badmail qmail
% cd qmail
% mkdir /r/var/qmail
% ln -s /r/var/qmail /var/qmail
% make setup check

各種設定

起動するまでしなければならない(した方がよい)設定を以下に列挙する。

アドレスエイリアスの作成 RFC2142で定義されているDNS/SMTP/HTTP等の問い合わせ用アドレスを生成する。/var/qmail/aliasに.qmail-postmaster、.qmail-hostmaster、.qmail-admin、.qmail-rootなどを作っておけばよい。これらのアドレスの設定は単純に適当なアドレスにforwadingでよい。 sendmailコマンドの置き換え システム標準のsendmailコマンドをqmailのラッパーコマンドに置き換える。ついでにシステム側でsendmailが起動しないように設定しておくこと。FreeBSDの場合は/usr/sbin/sendmailを/var/qmail/bin/datemailに置き換える。(datemailのシンボリックリンクをsendmailにする訳だ。) 動作定義ファイルの設定 qmailの動作定義ファイル群(/var/qmail/control/*)の設定を行う。今回はその中のlocals、plusdomain、defaultdomain、me、rcpthosts、defaulthostを編集。設定すべき内容に関する説明は制御ファイルのドキュメントを参照。(基本的にはmeを設定すればとりあえず動く。)

起動スクリプトの作成

daemontool用のrunコマンドを作成。sendとsmtpdについてサービス起動スクリプトとログ収拾スクリプトを書く。こんな感じ。

```bash /var/qmail/send/run #!/bin/sh exec env - \ PATH=”/var/qmail/bin:/usr/local/ucspi/bin:/usr/local/daemontools/bin:/usr/local/bin:$PATH” \ qmail-start ./Maildir/


```bash /var/qmail/send/log/run
#!/bin/sh
exec env - \
PATH="/var/qmail/bin:/usr/local/daemontools/bin:$PATH" \
setuidgid qmaill \
multilog t s1000000 ./main

```bash /var/qmail/smtpd/run
#!/bin/sh
exec env - \
PATH="/var/qmail/bin:/usr/local/bin/UCSPI:/usr/local/bin/DT:$PATH" \
envuidgid qmaild softlimit -d250000 \
tcpserver -vR -c40 -x /var/qmail/smtpd/smtp.cdb -U 0 smtp qmail-smtpd 2>&1

bash /var/qmail/smtpd/log/run #!/bin/sh exec setuidgid qmaill \ multilog t ./main '-*' '+* * status: *' =status

起動

ここまで起動したら、qmailを起動できるようになる。daemontoolを使うので/var/qmai/sendと/var/qmail/smtpdのシンボリックリンクを/serviceに作ればメールサーバが起動する。あとはメールのやりとりをしてうまく動いているか確認してみれば良い。非常にざっくりとした説明で実際の自分の設定とも違うのだが、流れはこんな感じである。

軽井沢ミーティング2018に参加

軽井沢ミーティング2018に初参加! 天気良くてよかった!さすがに5月末の週末は本当に天気が良い。Roadsterのイベントは前日入り出来る場合は可能な限り前日から参加している。主催者発表による今回の参加者は1975人、車はは1,002台。内訳は、NAは37%、NBは22%...… Continue reading

2017年も今日でおしまい

Published on December 31, 2017

Profoto A1の色温度の話

Published on December 21, 2017