戻る

sendmail.8.13.5.tar.gz

Out line

これに ついては package を 作成 するには にゃんたろうの beyond nyantarou skill また bind apache の インストール と 設定 が 終了してから 行うものとします

system

まず 現況を 見ておきたい

# find / -name sendmail
/usr/sbin/sendmail
# ls -l /usr/sbin/sendmail 
-rwxr-xr-x    1 root     root       127296 Aug 10  2005 /usr/sbin/sendmail*
# file /usr/sbin/sendmail 
/usr/sbin/sendmail: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), fo
r GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped

sendmail は もう あるのだろうか? 標準では postfix が 有ると 思うの で まず postfix を 削除しておこう

# pkgtool にて
delete postfix の 処理
podtfix-2.2.5
この様な log が 残ってるだろう/var/log/setup/tmp/PKGTOOL.REMOVED へたら

# cd /var/log/setup/tmp/
# mv PKGTOOL.REMOVED  postfix-225-del-PKGTOOL.REMOVED 
# mv postfix-225-del-PKGTOOL.REMOVED /home/mm/0001_first-step/u_data/

確認してみよう

# file /usr/sbin/sendmail 
/usr/sbin/sendmail: Can't stat `/usr/sbin/sendmail' (No such file or directory)
Delete check

なくなってるようだ?

前準備

今回は package を 作成するのは 諦めて /use/local/src にての対応

# cd /usr/local/src/
# mkdir sendmail-8-13-5
# mv /var/data/mkpackage/sendmail-8-13-5/sendmail.8.13.5.tar.gz .
# ls -l | sed -e 1d
-rw-r--r--    1 root     root      1978185 Feb 28 23:27 sendmail.8.13.5.tar.gz

ユーザー グループ の 作成 と /var/spool/mqueue の 作成

ユーザー グループ の 作成 を しておこう そうして /var/spool/mqueueを作成 しておこう

# cat /etc/group | grep smmsp
# cat /etc/passwd | grep smmsp
# groupadd -g 25 smmsp
# cat /etc/group | grep smmsp 
smmsp:x:25:
# useradd -g smmsp -d /var/spool/clientmqueue -s /bin/false -u 25 smmsp
# cat /etc/passwd | grep smmsp
smmsp:x:25:25::/var/spool/clientmqueue:/bin/false
# mkdir /var/spool/mqueue
# ls /var/spool/ | grep mqueue
mqueue/

展開

# tar xvzpf sendmail.8.13.5.tar.gz  2>&1 | tee untar_aaa
# cd sendmail-8.13.5/

sh Build

Build しよう

# sh Build 2>&1 | tee shbuild_log
# sh Build install 2>&1 | tee buld_install_log
# cd cf/cf/
# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/cf

generic-linux.mc を 修正しよう generic-linux.mc を sendmail.mc に 変更 しよう

# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/cf

修正後の内容 を みると

$ sed -e '/^#/d' sendmail.mc 
divert(-1)


divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
FEATURE(relay_hosts_only)dnl
FEATURE(`no_default_msa')dnl
FEATURE(`access_db',`DATABASE_MAP_TYPE -T /etc/mail/access')dnl 
FEATURE(`use_cw_file',`/etc/mail/local-host-names')dnl
define(`confPRIVACY_FLAGS',`goaway')dnl
MAILER(local)dnl
MAILER(smtp)dnl

ほたら cf の 処理を しよう

# mv /home/mm/0001_first-step/sendmail.mc .
# pwd
/usr/local/src/sendmail-8-13-5/sendmail-8.13.5/cf/cf
# sh Build sendmail.cf 2>&1 | tee sh_buld_cf_sendmail_cf_log
Using M4=/usr/bin/m4
rm -f sendmail.cf
/usr/bin/m4 ../m4/cf.m4 sendmail.mc > sendmail.cf || ( rm -f sendmail.cf && exit
 1 )
echo "### sendmail.mc ###" >>sendmail.cf
sed -e 's/^/# /' sendmail.mc >>sendmail.cf
chmod 444 sendmail.cf
# mv sh_buld_cf_sendmail_cf_log ../../../
# sh Build install-cf 2>&1 | tee sh_Build_install-cf_log
Using M4=/usr/bin/m4
../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf /etc/mail/se
ndmail.cf
../../devtools/bin/install.sh -c -o root -g bin -m 0444 submit.cf /etc/mail/submit.cf
# mv sh_Build_install-cf_log ../../../
# cd ../../
# mv buld_install_log ../
# cd ../
# cd /etc/mail

設定

そんで もって 既存の 物を 踏襲しておこう 新しく作成 するのに やぶさか では ないが、とにかく作成しよう

# cat /mnt/etc/mail/local-host-names >local-host-names
# cat local-host-names 
bcnet.ne.jp
nyanta.no-ip.info
192.168.0.8
192.168.0.7
192.168.0.6

acces & aliase

# echo "192.168.0 RELAY " > access
# echo "127.0.0.1 RELAY " >> access
# cat access 
192.168.0 RELAY 
127.0.0.1 RELAY 
# cp ../aliases .

現状 確認

# ls -lt | sed -e 1d
-rw-r--r--    1 root     root          842 Mar  3 23:17 aliases
-rw-r--r--    1 root     root           34 Mar  3 23:16 access
-rw-r--r--    1 root     root           67 Mar  3 23:11 local-host-names
-r--r--r--    1 root     bin         55820 Mar  3 23:05 sendmail.cf
-r--r--r--    1 root     bin         41112 Mar  3 23:05 submit.cf
-r--r--r--    1 bin      bin          5593 Mar  3 22:53 helpfile
-rw-------    1 root     bin             0 Mar  3 22:53 statistics

access & aliases の data base 変換

# makemap hash /etc/mail/access < /etc/mail/access 
# newaliases
/etc/mail/aliases: 15 aliases, longest 10 bytes, 162 bytes total

でけた 様です。

file mode

# chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
# chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

file mode を 変更した後

試験

local と 外部

# /usr/sbin/sendmail -bt -C /etc/mail/sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /parse mm@bcnet.ne.jp
Cracked address = $g
Parsing envelope recipient address
canonify           input: mm @ bcnet . ne . jp
Canonify2          input: mm < @ bcnet . ne . jp >
Canonify2        returns: mm < @ bcnet . ne . jp . >
canonify         returns: mm < @ bcnet . ne . jp . >
parse              input: mm < @ bcnet . ne . jp . >
Parse0             input: mm < @ bcnet . ne . jp . >
Parse0           returns: mm < @ bcnet . ne . jp . >
ParseLocal         input: mm < @ bcnet . ne . jp . >
ParseLocal       returns: mm < @ bcnet . ne . jp . >
Parse1             input: mm < @ bcnet . ne . jp . >
Parse1           returns: $# local $: mm
parse            returns: $# local $: mm
2                  input: mm
2                returns: mm
EnvToL             input: mm
EnvToL           returns: mm
final              input: mm
final            returns: mm
mailer local, user mm
> /parse mm@nl.bcnet.ne.jp
Cracked address = $g
Parsing envelope recipient address
canonify           input: mm @ nl . bcnet . ne . jp
Canonify2          input: mm < @ nl . bcnet . ne . jp >
Canonify2        returns: mm < @ nl . bcnet . ne . jp . >
canonify         returns: mm < @ nl . bcnet . ne . jp . >
parse              input: mm < @ nl . bcnet . ne . jp . >
Parse0             input: mm < @ nl . bcnet . ne . jp . >
Parse0           returns: mm < @ nl . bcnet . ne . jp . >
ParseLocal         input: mm < @ nl . bcnet . ne . jp . >
ParseLocal       returns: mm < @ nl . bcnet . ne . jp . >
Parse1             input: mm < @ nl . bcnet . ne . jp . >
MailerToTriple     input: < > mm < @ nl . bcnet . ne . jp . >
MailerToTriple   returns: mm < @ nl . bcnet . ne . jp . >
Parse1           returns: $# esmtp $@ nl . bcnet . ne . jp . $: mm < @ nl . bcn
et . ne . jp . >
parse            returns: $# esmtp $@ nl . bcnet . ne . jp . $: mm < @ nl . bcn
et . ne . jp . >
2                  input: mm < @ nl . bcnet . ne . jp . >
2                returns: mm < @ nl . bcnet . ne . jp . >
EnvToSMTP          input: mm < @ nl . bcnet . ne . jp . >
PseudoToReal       input: mm < @ nl . bcnet . ne . jp . >
PseudoToReal     returns: mm < @ nl . bcnet . ne . jp . >
MasqSMTP           input: mm < @ nl . bcnet . ne . jp . >
MasqSMTP         returns: mm < @ nl . bcnet . ne . jp . >
EnvToSMTP        returns: mm < @ nl . bcnet . ne . jp . >
final              input: mm < @ nl . bcnet . ne . jp . >
final            returns: mm @ nl . bcnet . ne . jp
mailer esmtp, host nl.bcnet.ne.jp., user mm@nl.bcnet.ne.jp
> /quit

自動起動

自動起動の 対応を したい

# cd /etc/rc.d/
# cp rc.M 0004_rc.M_non_senmail
# vi rc.M
==================
# 2006年 3月 3日 (金) 23:38:51 JST
# Start the sendmail daemon: ## ADD Mark # 
if [ -x /usr/sbin/sendmail ]; then
  echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q15m)..."
  /usr/sbin/sendmail -bd -q15m
fi
=====================
# diff -s rc.M 0004_rc.M_non_senmail 
221,227d220
< # 2006年 3月 3日 (金) 23:38:51 JST
< # Start the sendmail daemon: ## ADD Mark # 
< if [ -x /usr/sbin/sendmail ]; then
<   echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q15m)..."
<   /usr/sbin/sendmail -bd -q15m
< fi
< 

にゃんたろう 拝!
2006年 3月14日 (火) 22:40:07 JST 作成


戻る

Copyright © 2004.-2007. nyantarou All Rights Reserved.