Homepage Wolfgang Wilhelm :: v 0.9.1 21.02.2006 :: (v.0.9 __ 14.04.03) |
||
| LINKWEG ::: inhalt / sendmail als MTA / Software | [an error occurred while processing this directive][an error occurred while processing this directive] |
|
sendmail als Mail Transport Agent
Software
Berkeley DB
SASL oder SASLv2
OpenSSL
sendmail
| Berkeley DB | |
|
Download
*note: Im Hinblick auf weitere Softwarekomponenten, wie Cyrus IMAP, OpenLDAP, bogofilter etc., die eine BerkeleyDB 4.x erfordern,
Mit Distributionen die auf Paketmanagern basieren die entsprechenden devel und/oder lib Pakete einspielen.
libdb3.2-devel-3.2.9-2mdk
libdb3.2-3.2.9-2mdk
db3-utils-3.2.9-2mdk
Ich empfehle eine Datenbank der Version 4
echo "/usr/local/BerkeleyDB.4.3/" >> /etc/ld.so.conf
ldconfig
und beim Übersetzen die Flags zu setzen
LDFLAGS=-L/usr/local/BerkeleyDB.4.3/lib CPPFLAGS=-I/usr/local/BerkeleyDB.4.3/include ./configure ...
|
| SASL | |
|
sendmail und SASL müssen gegen dieselbe BerkeleyDB gebaut werden.Download Dieses Beispiel gilt für SASLv1 mit den BDBV3. Das Archiv entpacken und SASL bauen:
[mulder cyrus-sasl-1.5.28]# ./configure --prefix=/usr --enable-login --disable-krb4 --enable-pam
Die Methode LOGIN muss expliziet angegeben werden wenn M$ Ausblick Clienten eingesetzt werden sollen,
[...]
checking DB library to use... berkeley
checking PAM support... yes
checking CRAM-MD5... enabled
checking for openssl/des.h... yes
checking DIGEST-MD5... enabled
checking PLAIN... enabled
checking LOGIN... enabled
[...]
durch
make && make install
werden in /usr/lib/sasl die nötigen Libaries installiert.
[mulder cyrus-sasl-1.5.28]# ll /usr/lib/sasl/
-rwxr-xr-x 1 root root 699 Apr 14 15:25 libdigestmd5.la*
lrwxrwxrwx 1 root root 22 Apr 14 15:25 libdigestmd5.so -> libdigestmd5.so.0.0.19*
lrwxrwxrwx 1 root root 22 Apr 14 15:25 libdigestmd5.so.0 -> libdigestmd5.so.0.0.19*
-rwxr-xr-x 1 root root 104823 Apr 14 15:25 libdigestmd5.so.0.0.19*
-rwxr-xr-x 1 root root 681 Apr 14 15:25 liblogin.la*
lrwxrwxrwx 1 root root 17 Apr 14 15:25 liblogin.so -> liblogin.so.0.0.6*
lrwxrwxrwx 1 root root 17 Apr 14 15:25 liblogin.so.0 -> liblogin.so.0.0.6*
-rwxr-xr-x 1 root root 50394 Apr 14 15:25 liblogin.so.0.0.6*
-rwxr-xr-x 1 root root 683 Apr 14 15:25 libplain.la*
lrwxrwxrwx 1 root root 18 Apr 14 15:25 libplain.so -> libplain.so.1.0.15*
lrwxrwxrwx 1 root root 18 Apr 14 15:25 libplain.so.1 -> libplain.so.1.0.15*
-rwxr-xr-x 1 root root 49216 Apr 14 15:25 libplain.so.1.0.15*
|
| SASLv2 | |
|
sendmail und SASL müssen gegen dieselbe BerkeleyDB gebaut werden.hier wird die BerkeleyDB in der Version 4.x und SASLv2 eingesetzt:
Download
[mulder cyrus-sasl-2.1.15]# LDFLAGS=-L/usr/local/BerkeleyDB.4.3/lib/ CPPFLAGS=-I/usr/local/BerkeleyDB.4.3/include/ ./configure --prefix=/usr --enable-login=yes --enable-krb4=no --sysconfdir=/etc --enable-pam
Die Methode LOGIN muss explizit angegeben werden wenn M$ Ausblick Clienten eingesetzt werden sollen,
[...]
checking for PAM support... yes
checking for db.h... yes
checking for db_create in -ldb-4.1... yes
checking DB library to use... berkeley
checking CRAM-MD5... enabled
checking DIGEST-MD5... enabled
checking KERBEROS_V4... disabled
checking PLAIN... enabled
checking ANONYMOUS... enabled
checking LOGIN... enabled
checking NTLM... disabled
[...]
durch
make && make install
werden in /usr/lib/sasl2 die nötigen Libaries installiert.
[mulder cyrus-sasl-1.5.28]# ll /usr/lib/sasl2/
-rwxr-xr-x 1 root root 736 Jun 2 09:32 libanonymous.la*
lrwxrwxrwx 1 root root 22 Jun 2 09:42 libanonymous.so -> libanonymous.so.2.0.13*
lrwxrwxrwx 1 root root 22 Jun 2 09:42 libanonymous.so.2 -> libanonymous.so.2.0.13*
-rwxr-xr-x 1 root root 83258 Jun 2 09:32 libanonymous.so.2.0.13*
-rwxr-xr-x 1 root root 724 Jun 2 09:31 libcrammd5.la*
lrwxrwxrwx 1 root root 20 Jun 2 09:42 libcrammd5.so -> libcrammd5.so.2.0.13*
lrwxrwxrwx 1 root root 20 Jun 2 09:42 libcrammd5.so.2 -> libcrammd5.so.2.0.13*
-rwxr-xr-x 1 root root 87366 Jun 2 09:31 libcrammd5.so.2.0.13*
-rwxr-xr-x 1 root root 754 Jun 2 09:31 libdigestmd5.la*
lrwxrwxrwx 1 root root 22 Jun 2 09:42 libdigestmd5.so -> libdigestmd5.so.2.0.13*
lrwxrwxrwx 1 root root 22 Jun 2 09:42 libdigestmd5.so.2 -> libdigestmd5.so.2.0.13*
-rwxr-xr-x 1 root root 134404 Jun 2 09:31 libdigestmd5.so.2.0.13*
-rwxr-xr-x 1 root root 727 Jun 2 09:31 libotp.la*
lrwxrwxrwx 1 root root 16 Jun 2 09:42 libotp.so -> libotp.so.2.0.13*
lrwxrwxrwx 1 root root 16 Jun 2 09:42 libotp.so.2 -> libotp.so.2.0.13*
-rwxr-xr-x 1 root root 209260 Jun 2 09:31 libotp.so.2.0.13*
-rwxr-xr-x 1 root root 720 Jun 2 09:32 libplain.la*
lrwxrwxrwx 1 root root 18 Jun 2 09:42 libplain.so -> libplain.so.2.0.13*
lrwxrwxrwx 1 root root 18 Jun 2 09:42 libplain.so.2 -> libplain.so.2.0.13*
-rwxr-xr-x 1 root root 82468 Jun 2 09:32 libplain.so.2.0.13*
-rwxr-xr-x 1 root root 736 Jun 2 09:31 libsasldb.la*
lrwxrwxrwx 1 root root 19 Jun 2 09:42 libsasldb.so -> libsasldb.so.2.0.13*
lrwxrwxrwx 1 root root 19 Jun 2 09:42 libsasldb.so.2 -> libsasldb.so.2.0.13*
-rwxr-xr-x 1 root root 138550 Jun 2 09:31 libsasldb.so.2.0.13*
|
| OpenSSL | |
|
Download
aktuelle
[wwilhelm@mulder ~]# openssl version
OpenSSL 0.9.6l 04 Nov 2003
gefunden werden.
Mit Distributionen die auf Paketmanagern basieren die entsprechenden devel und/oder lib Pakete einspielen.
libopenssl0-0.9.6l-1mdk
libopenssl0-devel-0.9.6l-1mdk
openssl-0.9.6l-1mdk
*Note: Im aktuellen Quellcode ist bereits eine .spec Datei enthalten mit der bequem RPM Pakete gebaut werden können. (Die Paketnamen sehen nach SuSE Linux aus). Mit einem Minorupdate musste ich |
| Sendmail | |
|
Download
groupadd smmsp
useradd -g smmsp smmsp
mkdir -p /var/spool/mqueue
mkdir -p /var/spool/clientmqueue
chown root.mail /var/spool/mqueue
chown smmsp.smmsp /var/spool/clientmqueue
chmod 750 /var/spool/mqueue
chmod 770 /var/spool/clientmqueue
2) MILTER, STARTTLS und SASL Support konfigurieren: site.config.m4
cd {$sendmailsource}
touch devtools/Site/site.config.m4 anlegen
und in diese folgende Zeilen einfügen:
# Stuff to use tls
APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS')
APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')
# Stuff to enable Milter
APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER')
Für SASL# Stuff to use authentication APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') APPENDDEF(`conf_sendmail_LIBS', `-lsasl')Für SASL in der Version 2: APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2') APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')Für BerkeleyDB 4.x: APPENDDEF(`confLIBDIRS',`-L/usr/local/BerkeleyDB.4.3/lib/') APPENDDEF(`confINCDIRS',`-I/usr/local/BerkeleyDB.4.3/include/')* Für BerkeleyDB 3.x müssen keine extra Pfadangaben gesetzt werden. 3) sendmail bauen
sh ./Build
aufrufen. In der Ausgabe sollte gleich in einer der ersten Zeilen die eingebundene Datei auftauchen:
"Including /usr/local/src/sendmail-8.13.4/devtools/Site/site.config.m4"
Ist dies nicht der Fall, wurde die Datei site.config.m4 nicht beachtet. Überprüfen Sie noch einmal Schritt 2 und lesen Sie ggf. die README Datein in devtools/Site/ und libmilter/.
sh ./Build install
installieren,im Unterverzeichnis libmilter noch
make && make install
ausführen um die MILTER Header Files zu installieren.Die einkompilieren Funktionen können per
/usr/sbin/sendmail -d0.12 -bv root
überprüft werden. Es sollten mindestens die Werte MILTER, STARTTLS und SASL auftauchen.
Version 8.13.4
Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASL SCANF STARTTLS
USERDB XDEBUG
Wurde sendmail mit SASL der Version 2 kompiliert sollte SASLv2 auftauchen.
Version 8.13.4
Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASLv2 SCANF
STARTTLS USERDB XDEBUG
Gegen welche Bibliotheken die Binärdaten gelink wurden kann per
/usr/bin/ldd /usr/sbin/sendmail
libssl.so.0 => /usr/lib/libssl.so.0 (0x4001c000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x4004d000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x40117000)
libdb-4.3.so => /usr/local/BerkeleyDB.4.3/lib/libdb-4.3.so (0x40129000)
libresolv.so.2 => /lib/libresolv.so.2 (0x401d1000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x401e2000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4020f000)
libdl.so.2 => /lib/libdl.so.2 (0x40223000)
libc.so.6 => /lib/i686/libc.so.6 (0x40227000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
angezeigt werden.
|
| [an error occurred while processing this directive] | |
| © 2003 by Wolfgang Wilhelm • mail: wwilhelm at rz-online dot de |
|