*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]]に戻る。