フリーソフトウェアのコンパイル

OS のものは SMTP AUTH というか SASL には対応していないので, コンパイルするぅ

準備

インストール

$ wget --passive-ftp ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.13.7.tar.gz
$ cd sendmail-8.13.7
$ cp devtools/Site/site.config.m4.sample devtools/Site/site.config.m4
$ vi devtools/Site/site.config.m4
define(`confLDOPTS', `-R/usr/local/lib')
define(`confMAPDEF', `-DNEWDB -DNDBM -DNIS -DNISPLUS -DMAP_REGEX')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.2/lib
-R/usr/local/BerkeleyDB.4.2/lib')  <--実際は 1行
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.2/include')
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
APPENDDEF(`confLIBDIRS', `-L/usr/local/lib/sasl2 -R/usr/local/lib/sasl2')
APPENDDEF(`confINCDIRS', `-I/usr/local/include/sasl')
PREPENDDEF(`confENVDEF',`-DSTARTTLS -D_FFR_TLS_O_T -D_FFR_TLS_1
-D_FFR_TLS_TOREK -DHASURANDOMDEV')  <--実際は 1行
APPENDDEF(`confINCDIRS',`-I/usr/sfw/include')
APPENDDEF(`confLIBS',`-L/usr/sfw/lib -R/usr/sfw/lib -lssl -lcrypto')
$ sh ./Build -c 
# sh ./Build install

catman をしてないから man のインストールでこける.

設定

/usr/lib/mail/cf で cf を作成してはいけない. コンパイルした場所の cf で行うこと.

TLS 用の認証キーの作成

# cd /etc/mail
# mkdir certs
# chmod 700 certs
# cd certs
# openssl req -new -x509 -nodes -out cert.pem
# chmod 600 *

SASL の設定 /usr/lib/sasl2/Sendmail.conf を

pwcheck_method: saslauthd
mech_list: plain login digest-md5 cram-md5

という内容で作成する.

# cd /var/svc/manifest/network
# cp -p smtp-sendmail.xml smtp-sendmail.xml.org

saslauthd との依存関係を追加する.

<dependency
           name='saslauthd'
           grouping='require_all'
           restart_on='none'
           type='service'>
               <service_fmri value='svc:/network/saslauthd' />
</dependency>
# svccfg import smtp-sendmail.xml

SMTP-AUTH を抑制する

特定のクライアントからの接続に対して, SMTP-AUTH での接続を抑制するには, /etc/mail/access に以下のような行を追加し,ハッシュ化する.

Srv_Features:127.0.0.1          A S
Srv_Features:192.168.0          A S

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-09-25 (火) 15:36:49