*sendmailを特定のディレクトリ以下に置するには [#u5a2ce20]
RIGHT:川俣吉広, kaw@on.rim.or.jp
RIGHT:2002年 6月 25日

sendmailは、ソースパッケージからデフォルトでインストールすると、
-設定ファイル関係 ... /etc/mail/*
-実行ファイル ... /usr/sbin/*, /usr/bin/*
-取り扱うデータ ... /var/spool/*

に置かれるようになっています。

ところが、場合によってはインストールをこれらのデフォルト値から変更してインストールしたい 場合があります。例えば、既存の運用環境を壊さずに、新しいバージョンのsendmailをテストしたい、 などの理由からです。

このページでは、sendmailの環境を/usr/local/sendmail以下にインストールするケースを例にとり、 sendmailを特定のディレクトリ以下に置する方法を説明します。

なお、このページの記述容は、Plamo Linux 2.0 , sendmail-8.12.4 で確認を行いました。
#contents
**おことわり [#j695ca44]
>このページで解説する容は、川俣吉広が独自に調査した結果を公開したものです。~
ページの記述容は正確を期すように努めておりますが、 記述内容を実行したことにより損害が発生しても当方では責任を負いかねますので、 実際の作業については各自の責任で行って下さい。~
~
また、以下の説明はsendmailのインストールと設定についてソースパッケージからデフォルトでの インストールが行える程度の技術スキルを前提としています。
**コンパイル前の準備 [#eea36210]
現在動作しているsendmailを停止します。
 killall -TERM sendmail
現在の設定のバックアップを取ります。
 mkdir /etc/mail.bak
 cd /etc/mail.bak
 (cd /etc/mail && tar cf - .) | tar xpvf -
mail.bakディレクトリ以下は、 新しいsendmail環境が/etc/mail以下の設定ファイルを上書きしてしまった 時の保険です。
**コンパイルとインストール [#u5ab52a7]
sendmailのソースパッケージを展開します。
 cd (作業用ディレクトリ)
 tar xvzf sendmail.8.12.4.tar.gz
sendmail-8.12.4/devtools/Site/site.config.m4を作成します。

site.config.m4の容;
 define(`confEBINDIR',       `/usr/local/sendmail/libexec')dnl
 define(`confENVDEF',        `-D_DIR_SENDMAILCF=\"/usr/local/sendmail/etc/\" ↓
 -D_PATH_SENDMAILCF=\"/usr/local/sendmail/etc/sendmail.cf\"')dnl
 define(`confMSP_QUEUE_DIR', `/usr/local/sendmail/spool/clientmqueue')dnl
 define(`confHFDIR',         `/usr/local/sendmail/etc')dnl
 define(`confINCLUDEDIR',    `/usr/local/sendmail/include')dnl
 define(`confLIBDIR',        `/usr/local/sendmail/lib')dnl
 define(`confMANROOT',       `/usr/local/sendmail/man/cat')dnl
 define(`confMANROOTMAN',    `/usr/local/sendmail/man/man')dnl
 define(`confMBINDIR',       `/usr/local/sendmail/sbin')dnl
 define(`confSBINDIR',       `/usr/local/sendmail/sbin')dnl
 define(`confSHAREDLIBDIR',  `/usr/local/sendmail/lib')dnl
 define(`confSTDIR',         `/usr/local/sendmail/etc')dnl
 define(`confUBINDIR',       `/usr/local/sendmail/bin')dnl
RIGHT:(↓の行は折り返してますが、実際は1行です)

コンパイルします。
 cd (作業用ディレクトリ)/sendmail-8.12.4
 sh Build
ディレクトリを作成し、パーミッション等を設定します。
 mkdir -p /usr/local/sendmail/bin
 mkdir /usr/local/sendmail/sbin
 mkdir /usr/local/sendmail/etc
 mkdir /usr/local/sendmail/include
 mkdir /usr/local/sendmail/lib
 mkdir /usr/local/sendmail/libexec
 mkdir -p /usr/local/sendmail/man/cat1
 mkdir /usr/local/sendmail/man/cat5
 mkdir /usr/local/sendmail/man/cat8
 mkdir -p /usr/local/sendmail/spool/clientmqueue
 mkdir /usr/local/sendmail/spool/mqueue
 
 chmod 0770 /usr/local/sendmail/spool/clientmqueue
 chown smmsp:smmsp /usr/local/sendmail/spool/clientmqueue
 chmod 0700 /usr/local/sendmail/spool/mqueue
sendmail-8.12.4/cf/cf/Makefile を編集します。~
 ----[Makefileの容]----
    :
    :
 # name of source for sendmail.cf (without extension)
 CF=	sendmail
 # name of source for submit.cf (without extension)
 SUBMIT=	submit
 # directory for .cf files
 MAILDIR=/usr/local/sendmail/etc    ←この部分を修正
 M4=	m4
 CFDIR=	..
 CHMOD=	chmod
    :
    :
cf/cf/sendmail.mc, cf/cf/submit.mcを編集します。

これらの設定ファイルの作成方法は通常の場合と同じですが、 sendmail.mcの各種定義に立ち、
 define(`MAIL_SETTINGS_DIR', `/usr/local/sendmail/etc/')dnl
 define(`QUEUE_DIR', `/usr/local/sendmail/spool/mqueue')dnl
を書いておきます。
 divert(0)dnl

 VERSIONID(`$Id$')dnl
の間くらいが適当と思われます。また、sendmail.cf中で、ファイルの位置を指定している部分があれば、それも併せて書き換えておきます。

submit.mcも同様に、
 define(`MAIL_SETTINGS_DIR', `/usr/local/sendmail/etc/')dnl
 define(`QUEUE_DIR', `/usr/local/sendmail/spool/mqueue')dnl
 define(`MSP_QUEUE_DIR', `/usr/local/sendmail/spool/clientmqueue')dnl
を書いておき、これで sendmail.cf と submit.cf を作成します。
 make sendmail.cf
 make submit.cf
sh Build installを実行します。
 cd (作業用ディレクトリ)/sendmail-8.12.4
 sh Build install
**動作確認と実行の設定 [#j4744767]
通常の手順と変わりありませんので、目のみ列挙します。
-Address Test Modeで実行し、動作を確認します。
-手動でsendmailを立ち上げ、送受信の動作を確認します。
-syslogを検査し、異常のないことを確認します。
-システム起動時に立ち上がるように、設定ファイルを記述します。
**参考リンク [#vfe209aa]
-[[Sendmail Home Page>http://www.sendmail.org/]]
-[[Information about the sendmail>http://www.kyoto.wide.ad.jp/mta/sendmail.html]]
-[[cfプロジェクト (仮称)>http://home.jp.freebsd.org/~koga/cf/]]

RIGHT:川俣吉広, kaw@on.rim.or.jp
RIGHT:2002年 6月 25日
----
[[FrontPage]]に戻る。


Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes