2001年3月 3日

postfix

天気:曇り
体重:88.0Kg

ふうぅ。
最近、サーバーをFreeBSD 4.2-RELEASEにあげた。make worldで。
苦労したぁ〜〜
サーバーを動かしながらmake worldで、reboot。サーバー停止時間は最小にな
るはずであった。
ところが、起動せず・・・・・・
*旧システムの顔文字アイコン* (T_T)

インストールしなおすより、かえって長くサーバーを止めてしまった。
今後のために手順をまとめなければならないが、なかなか気力が・・・
はまった点は、まずGENERICのKernelを作ったのに複数のNIC、nat、
firewall関連の記述を/etc/rc.confに残したまま、rebootしたため起動でき
なくなった。
修復法としてkernel.flp,mfsroot.flpで起動してfixit.flpを使う方法を覚えた。
またsingleユーザーモードで立ち上げたときmount -aですべてのディクスデバ
イスがmountされることを覚えた。/etc/fstabが正しければ・・・・
また/etc/make.confを
CFLAGS= -O -pipe
NOPROFILE=      true
INSTALL=install -C
NOPERL= true
NO_SENDMAIL=    true      <----sendmailを作らない。
USA_RESIDENT=           NO
FTP_PASSIVE_MODE=      YES
としていたのに、/usr/sbin/sendmailをwrapperで上書きされてしまった。
苦労してPOP before SMTP環境を作ったので、これを壊したくなかったのだが。
メーリングリストで、ぼやいたらwrapperはsendmailじゃないからとのお言葉。
ごもっともです。
このトラブルは天の声かと思うように・・・・
この機会にpostfixに移行することにした。

4.2-RELEASEにあげた理由は、portsが3.xをサポートしなくなるからだ。
当然、portsを最大限に活用したい。
cd /usr/ports/mail/postfix/
make
make install
cd /usr/ports/mail/drac
make -DWITH_POSTFIX
make install
cd /usr/ports/mail/qpopper
vi Makefile
----------------------------------------------------------------
CONFIGURE_ARGS= --enable-apop=${PREFIX}/etc/qpopper/pop.auth ?
                --enable-nonauth-file=/etc/ftpusers ?
                --with-apopuid=pop ?
                --enable-keep-temp-drop ?
                --enable-drac=/usr/ports/mail/drac/work/ <--追加
----------------------------------------------------------------
make
make install
vi /usr/local/etc/postfix
----------------------------------------------------------------
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
default_privs = nobody
myhostname = terra.yec.or.jp
mydomain = yec.or.jp
myorigin = $mydomain
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain $mydomain
mail_spool_directory = /var/mail
relay_domains = $mydestination
mynetworks= 192.***.***.0/24, 127.0.0.0/8, 210.164.104.176/28 <--127.0.0.0/8を
local_destination_concurrency_limit = 2       忘れるとfmlの配送が出来なかった
default_destination_concurrency_limit = 10
debug_peer_level = 2
debugger_command =
         PATH=/usr/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5
allow_mail_to_commands = alias,forward,include            <-----
smtpd_recipient_restrictions = permit_mynetworks,
          check_client_access btree:/usr/local/etc/dracd, <-----
          check_relay_domains
----------------------------------------------------------------
vi /usr/local/etc/dracd.allow  <---- POP before SMTPが不要なIP
----------------------------------------------------------------
255.255.255.0 192.***.***.0
255.255.255.255 127.0.0.1
----------------------------------------------------------------
/usr/local/etc/rc.d/dracd-setup.sh
----------------------------------------------------------------
#!/bin/sh
PATH=/usr/local/bin:/priv/usr/sbin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin
export PATH
DAEMON=rpc.dracd
DRACD_PID=`ps -axc | grep 'rpc.dracd$' | sed -e 's/^  *//' -e 's/ .*//'`
dracd_running() {
        ps -p $DRACD_PID >/dev/null 2>&1
}
case "$1" in
start)
        if dracd_running; then
                echo "$DAEMON is already running" >&2
        else
                echo "starting $DAEMON" >&2
                $DAEMON &
        fi
;;
stop)
        if dracd_running; then
                echo "stopping $DAEMON" >&2
                kill $DRACD_PID
        else
                echo "$DAEMON is not running" >&2
        fi
;;
*)
        echo "Usage: dracd-setup.sh {start|stop}" >&2
;;
esac
----------------------------------------------------------------
chmod +x /usr/local/etc/rc.d/dracd-setup.sh
portmapを有効にしておかないと
rc.dracd: unable to register (DRACPROG, DRACVERS,udp).
というエラーが出る。
これで、はまった・・・。
でも、sendmailを扱うよりずいぶん楽だなぁ。
IMAP before SMTP用のパッチもどこかにないかなぁ。

trackbacks

trackbackURL:

comments

comment form
comment form