Homepage Wolfgang Wilhelm :: v 0.9.1 21.02.2006 :: (v.0.9 __ 14.04.03) | ||
LINKWEG ::: inhalt / sendmail als MTA / Software |
sendmail als Mail Transport Agent
Software
Berkeley DB
SASL oder SASLv2
OpenSSL
sendmail
Berkeley DB | |
Download BerkeleyDB 4.x
*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 ldconfigund 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 * SASL oder direkt von ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-1.5.28.tar.gz 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 installwerden 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 * SASLv2 von ftp.andrew.cmu.edu/pub/cyrus-mail/ [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 installwerden 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 | |
Downloadaktuelle OpenSSL Version von der Webseite laden,compilieren und installieren. Die momentan genutze Version kann mit [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
Sendmail 8.13.x
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: cd {$sendmailsource} touch devtools/Site/site.config.m4 anlegenund 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 ./Buildaufrufen. 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 installinstallieren,im Unterverzeichnis libmilter noch make && make installausfü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 XDEBUGWurde 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 XDEBUGGegen 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. |
© 2003 by Wolfgang Wilhelm • mail: wwilhelm at rz-online dot de |