HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
darkspirit
RSAC
Posts: 568
Joined: 2002-10-05 16:39
Location: D'dorf

HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by darkspirit » 2003-11-04 00:47

Vorweg zwei Anmerkungen:
1. Ich werde hier im HowTo nicht auf die Installation von Spamassassin mit allen benötigten Abhängigkeiten eingehen. Dazu finden sich genug sehr gute HowTo's, auch hier im Forum. Ansonsten wird man sicher über Google fündig ;)
Ich setze also eine funktionierende Spamassassin-Installation voraus.
2. Dieses HowTo ist nicht allein meine Arbeit, sondern baut stark auf den HowTo's von Rene Sasse (http://www.world-email.cx/) und Tim Jackson (http://www.timj.co.uk/linux/Exim-SpamAn ... anning.pdf) auf. Dank an die beiden für ihre Arbeit. Meine Aufgabe sah ich eher darin, beides mit einzelnen Modifikationen zu kombinieren und in einem (hoffentlich) leicht nachzuvollziehenden Artikel zu kombinieren.

Ablauf:

In's gewünschte src-Verzeichnis wechseln. Ich verwende bei mir /src.

Code: Select all

cd /src
Erstmal laden wir alle benötigen Pakete herunter:

Code: Select all

wget ftp://ftp.fu-berlin.de/unix/mail/exim/exim4/exim-4.24.tar.gz
wget http://duncanthrax.net/exiscan-acl/exiscan-acl-4.24-13.patch
wget http://cesnet.dl.sourceforge.net/sourceforge/courier/courier-imap-2.2.0.tar.bz2
wget http://cesnet.dl.sourceforge.net/sourceforge/clamav/clamav-0.60.tar.gz
Als erstes widmen wir uns Exim:

Code: Select all

tar xzf exim-4.24.tar.gz
cd exim-4.24
Um später komfortabel über acl's nach Spam und Viren suchen zu können, patchen wir Exim mit dem exiscan-acl-patch:

Code: Select all

patch -Np1 -i ../exiscan-acl-4.24-13.patch
Für Exim erstellen wir einen eigenen User samt Gruppe:

Code: Select all

groupadd exim
useradd -s /bin/false -d /dev/null -g exim exim
Die Konfiguration von Exim wird nicht wie sonst üblich über ein configure-Script ausgeführt, es wird stattdessen ein Beispiel-Makefile editiert.

Code: Select all

cp src/EDITME Local/Makefile
Editiert die Datei mit einem Editor eurer Wahl (ich empfehle vim ;). Die nötigen Ã?nderungen sind folgende:

Code: Select all

BIN_DIRECTORY=/usr/sbin
CONFIGURE_FILE=/etc/exim.conf
EXIM_USER=exim
EXIM_GROUP=exim
SUPPORT_MAILDIR=yes
SUPPORT_MAILSTORE=yes
LOOKUP_DNSDB=yes
LOOKUP_MYSQL=yes
LOOKUP_INCLUDE=-I /usr/local/include/mysql      # bitte je nach System anpassen!
LOOKUP_LIBS=-L/usr/local/lib -L/usr/local/lib/mysql -lmysqlclient  # bitte je nach System anpassen!
# EXIM_MONITOR=eximon.bin
AUTH_CRAM_MD5=yes
AUTH_PLAINTEXT=yes
INFO_DIRECTORY=/usr/share/info
LOG_FILE_PATH=syslog
SYSLOG_LONG_LINES=yes
PID_FILE_PATH=/var/lock/exim.pid
Wer außerdem später TLS-Verschlüsselung haben möchte, editiert noch folgendes:

Code: Select all

SUPPORT_TLS=yes
TLS_LIBS=-lssl -lcrypto
Exim benötigt entweder die Berkeley-DB oder GDBM. Mindestens eines davon sollte auf jedem System vorhanden sein. Bei der Berkeley-DB gibt es aber auf manchen Systemen Probleme mit einem benötigten Header. Exim lässt sich zwar kompilieren aber hängt sich beim Zustellen einer Mail mit Signal 11 auf. Sollte das der Fall sein, empfehle ich, GDBM zu installieren und folgende zwei Zeilen in das Makefile aufzunehmen:

Code: Select all

USE_GDBM=yes
DBMLIB=-lgdbm
Nun gehts an's kompilieren und installieren:

Code: Select all

make
make install
Aus Kompatiblitätsgründen darf ein sendmail-Link nicht fehlen:

Code: Select all

ln -sf exim /usr/sbin/sendmail
Um Exim bei jedem Boot mit den init-Scripten zu starten, erstellen wir ein Startscript und verlinken es in den Runleveln. Hier unterscheiden sich die Distributionen zum Teil doch sehr stark. Die meisten dürften kein LFS auf ihrem Server verwenden, also verweise ich auf den Code für /etc/rc.d/init.d/functions, den scythe42 hier schon gepostet hat (http://www.rootforum.org/forum/viewtopic.php?t=3820). Vorsicht ist auch beim Pfad für die Init-Scripte geboten. SuSE verwendet wenn ich mich recht erinnere /etc/init.d statt /etc/rc.d/init.d. Bitte jeweils anpassen!

Code: Select all

cat > /etc/rc.d/init.d/exim << "EOF"
#!/bin/sh
# /etc/rc.d/init.d/exim  -  Starts the exim MTA

source /etc/rc.d/init.d/functions

case "$1" in
	start)
		echo "Starting exim..."
		loadproc /usr/sbin/exim -bd -q1m
		evaluate_retval
		;;
	stop)
		echo "Stopping exim..."
		killproc exim
		evaluate_retval
		;;
	status)
		statusproc exim
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	*)
		echo "Usage: $0 {start|stop|restart|status}"
		exit 1
		;;
esac
EOF

cd /etc/rc.d/init.d
chmod 750 exim
ln -sf ../init.d/exim ../rc0.d/K25exim
ln -sf ../init.d/exim ../rc1.d/K25exim
ln -sf ../init.d/exim ../rc2.d/K25exim
ln -sf ../init.d/exim ../rc3.d/S35exim
ln -sf ../init.d/exim ../rc4.d/S35exim
ln -sf ../init.d/exim ../rc5.d/S35exim
ln -sf ../init.d/exim ../rc6.d/K25exim
Die Konfiguration von Exim heben wir uns erstmal auf und kümmern uns um die Einrichtung der Datenbank.
Hier müssen in der user-Tabelle für die Felder uid und gid die entsprechenden Werte für den exim-User eingetragen werden. Ein Blick in die /etc/passwd hilft hier weiter.
Für Anfänger sei phpMyAdmin empfohlen, da geht das ganze wohl auch am schnellsten.
Folgende Schritte müssen ausgeführt werden:
- Datenbank "exim" anlegen.
- User "exim" hinzufügen und SELECT-Rechte für die erstellte Datenbank geben.
- Folgende Tabellen anlegen:

Code: Select all

CREATE TABLE `aliases` (
  `ID` smallint(6) NOT NULL auto_increment,
  `alias` varchar(255) NOT NULL default '',
  `redirect` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM;

CREATE TABLE `domains` (
  `ID` smallint(6) NOT NULL auto_increment,
  `domain` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM;

CREATE TABLE `users` (
  `ID` smallint(6) NOT NULL auto_increment,
  `email` varchar(255) NOT NULL default '',
  `name` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  `password_clear` varchar(255) NOT NULL default '',
  `uid` smallint(6) NOT NULL default '<!UID_VON_EXIM!>',
  `gid` smallint(6) NOT NULL default '<!GID_VON_EXIM!>',
  `home` varchar(255) NOT NULL default '',
  `directory` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM;
Ein erster Testuser und die Standard-Domain sollten jetzt bereits angelegt werden:

Code: Select all

INSERT INTO `domains` ( `ID` , `domain` )
VALUES (
 '', 'deineDomain.tld'
);
Für den User muss das Passwort sowohl im Klartext als auch verschlüsselt vorliegen. "Verschlüsselt" meint hier nicht die PASSWORD-Funktion von MySQL, sondern den normalen crypt-Algorithmus. Mit diesem kleinen Beispiel-Einzeiler geht das aber recht schnell:

Code: Select all

perl -e '$passwd=crypt("myPassword","xy"); print "$passwdn";'
Nun den User anlegen:

Code: Select all

INSERT INTO `users` ( `ID` , `email` , `name` , `password` , `password_clear` , `home` , `directory` )
VALUES (
 '', 'webmaster@deineDomain.tld', 'Webmaster', '<verschlüsseltesPasswort>', '<KlartextPasswort>', '/var/spool/imap/deineDomain.tld/webmaster', '/var/spool/imap/deineDomain.tld/webmaster/Maildir'
);
Zwei wichtige Aliase sollten ebenfalls angelegt werden:

Code: Select all

INSERT INTO `aliases` ( `ID` , `alias` , `redirect` )
VALUES (
 '', 'postmaster@deineDomain.tld', 'webmaster@deineDomain.tld'
);

INSERT INTO `aliases` ( `ID` , `alias` , `redirect` )
VALUES (
 '', 'root@deineDomain.tld', 'webmaster@deineDomain.tld'
);
Da wir schon ein Home-Verzeichnis für den virtuellen User vergeben haben, sollten wir auch für den notwendigen Ordner sorgen:

Code: Select all

mkdir /var/spool/imap
chown exim:exim /var/spool/imap
Die weitere Verzeichnisstruktur (domain.tld/username/Maildir) wird Exim später selbst anlegen.
Nun zur Installation der zusätzlichen Pakete.

Code: Select all

cd /src
tar xzf clamav-0.60.tar.gz
cd clamav-0.60
./configure --prefix=/usr --sysconfdir=/etc --disable-clamuko --with-user=exim --with-group=exim
make
make install
Versorgen wir uns mit den aktuellsten Virendatenbanken:

Code: Select all

freshclam
Diesen Befehl sollte man von Zeit zu Zeit ausführen, um die Datenbanken aktuell zu halten. Ein Cronjob bietet sich dafür an.

In der /etc/clamav.conf müssen als erstes die Zeile "Example" auskommentiert und folgende Einträge editiert werden:

Code: Select all

LogTime
LogSyslog
LogVerbose
PidFile /var/run/clamd.pid
User exim
AllowSupplementaryGroups
Wie schon vorher für Exim basteln wir uns ein kleines Init-Script:

Code: Select all

cat > /etc/rc.d/init.d/clamd << "EOF"
#!/bin/sh
# /etc/rc.d/init.d/clamd  -  Starts the clamd daemon

source /etc/rc.d/init.d/functions

case "$1" in
	start)
		echo "Starting clamd..."
		loadproc /usr/sbin/clamd
		evaluate_retval
		;;
	stop)
		echo "Stopping clamd..."
		killproc clamd
		evaluate_retval
		;;
	status)
		statusproc clamd
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	*)
		echo "Usage: $0 {start|stop|restart|status}"
		exit 1
		;;
esac
EOF

cd /etc/rc.d/init.d
chmod 750 clamd
ln -sf ../init.d/clamd ../rc0.d/K25clamd
ln -sf ../init.d/clamd ../rc1.d/K25clamd
ln -sf ../init.d/clamd ../rc2.d/K25clamd
ln -sf ../init.d/clamd ../rc3.d/S35clamd
ln -sf ../init.d/clamd ../rc4.d/S35clamd
ln -sf ../init.d/clamd ../rc5.d/S35clamd
ln -sf ../init.d/clamd ../rc6.d/K25clamd
Damit ist die Installation von ClamAV abgeschlossen. Wenn noch nicht geschehen, ist jetzt der richtige Zeitpunkt, um Spamassassin zu installieren, es geht jetzt an die endgültige Konfiguration von Exim.

Fortsetzung im nächsten Beitrag ;)
Last edited by darkspirit on 2003-11-30 03:46, edited 1 time in total.

darkspirit
RSAC
Posts: 568
Joined: 2002-10-05 16:39
Location: D'dorf

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by darkspirit » 2003-11-04 00:54

Und weiter gehts:

Hier eine vollständig angepasste /etc/exim.conf, da die Ã?nderungen zu erheblich sind.
Die drei Einträge mit der Syntax <!VARIABLE!> bitte durch die eigenen Werte ersetzen.

Code: Select all

##########################################
########### Exim-Configuration ###########
########### /etc/exim.conf     ###########
##########################################


####################### Globals:

primary_hostname = <!hostname.deineDomain.tld!>

hide mysql_servers = localhost/exim/exim/<!PASSWORT!>

domainlist local_domains = mysql; SELECT domain FROM domains WHERE 
domain='$domain'
domainlist relay_to_domains =
hostlist   relay_from_hosts = 127.0.0.1

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

qualify_domain = <!deineDomain.tld!>

never_users = root

host_lookup = *

rfc1413_hosts = *
rfc1413_query_timeout = 30s

ignore_bounce_errors_after = 2d

timeout_frozen_after = 7d

# spamd_address gilt so für die Standard-Konfiguration von Spamassassin
spamd_address = 127.0.0.1 783
av_scanner = clamd:/tmp/clamd

####################### ACL:

begin acl

acl_check_rcpt:
  accept  hosts = :

  deny    domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]

  deny    domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\.\./

  accept  local_parts   = postmaster
          domains       = +local_domains

  require verify        = sender

  accept  domains       = +local_domains
          endpass
          verify        = recipient

  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient

  accept  hosts         = +relay_from_hosts

  accept  authenticated = *

  deny    message       = relay not permitted

acl_check_data:
  deny    message       = This message contains malformed MIME
          demime        = *
          condition     = ${if >{$demime_errorlevel}{2}{1}{0}}

  deny    message       = This message contains unaccepted attachments
          demime        = bat:com:exe:pif:prf:scr:vbs

  warn    message       = X-Spam-Score: $spam_score
          spam          = exim:true
  warn    message       = X-Spam-Report: $spam_report
          spam          = exim:true

  deny    message       = This message scored $spam_score spam points
          spam          = exim:true
          condition     = ${if >{$spam_score_int}{120}{1}{0}}

  deny    message       = Message contains a virus or harmful content
          demime        = *
          malware       = *

  accept

####################### Routers:

begin routers

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup mysql {SELECT redirect FROM aliases WHERE 
alias='${quote_mysql:$local_part}@${quote_mysql:$domain}'}{$value}fail}

localuser:
  driver = accept
  condition = ${lookup mysql{SELECT ID FROM users WHERE 
email='${quote_mysql:$local_part}@${quote_mysql:$domain}'} 
{$value}fail}
  transport = imap_delivery
  cannot_route_message = Unknown user

####################### Transports:

begin transports

remote_smtp:
  driver = smtp

imap_delivery:
  driver = appendfile
  create_directory
  directory_mode = 700
  headers_remove = "Bcc"
  delivery_date_add
  envelope_to_add
  return_path_add
  user = exim
  group = exim
  mode = 660
  directory = ${lookup mysql{SELECT directory FROM users WHERE 
email='${quote_mysql:$local_part}@${quote_mysql:$domain}'}
{$value}{}}
  maildir_format
  mode_fail_narrower = false

####################### Retry:

begin retry

# Domain               Error       Retries
# ------               -----       -------

*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h

####################### Rewrite:

begin rewrite

####################### Authenticators:

begin authenticators

plain:
        driver = plaintext
        public_name = PLAIN
        server_prompts = :
        server_condition = 
${if crypteq {$3}{${lookup mysql {SELECT password FROM users 
WHERE email='$2'}}}{yes}{no}}
        server_set_id = $2

login:
        driver = plaintext
        public_name = LOGIN
        server_prompts = Username:: : Password::
        server_condition = ${if crypteq {$2}{${lookup mysql 
{SELECT password FROM users WHERE email='$1'}}}{yes}{no}}
        server_set_id = $1


# End of Exim configuration file
Da in der exim.conf jetzt das Passwort für den exim-MySQL-User als Klartext gespeichert ist, muss die Datei unbedingt mit

Code: Select all

chmod 640 /etc/exim.conf
geschützt werden.

Jetzt geht es an's Testen. spamd sollte laufen und wir starten erst den clamd und schließlich Exim.

Code: Select all

/etc/rc.d/init.d/clamd start
/etc/rc.d/init.d/exim start
Die folgende Testnachricht sollte, wenn alles glatt läuft, im Verzeichnis /var/spool/imap/deineDomain.tld/webmaster/Maildir/new erscheinen.

Code: Select all

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 hostname.domain.tld ESMTP Exim 4.24
ehlo host.domain.tld
250-hostname.domain.tld Hello localhost.localdomain [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP
MAIL FROM: <webmaster@domain.tld>
250 OK
RCPT TO: <webmaster@domain.tld>
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
test
.
250 OK id=1AGmxz-0005Sy-Uf
QUIT
221 host.domain.tld closing connection
Connection closed by foreign host.
Um Spamassassin zu testen, sollte man versuchen, eine übliche Spam-Nachricht an Exim zu schicken. Wenn die Spam-Punkte entsprechend hoch sind, sollte die Nachricht überhaupt nicht erst angenommen werden und mit dem Statuscode 550 abgelehnt werden, anstatt dem normalen 250 für das erfolgreiche Abschließen der Ã?bertragung.
Für den Virentest empfiehlt sich einer der Testviren auf (http://www.eicar.org/anti_virus_test_file.htm).
Wenn die Tests erfolgreich verlaufen, ist das härteste geschafft. Fehlt nur noch der IMAP-Dienst, um unsere Mails auch abholen zu können.
Also zurück in's Source-Verzeichnis:

Code: Select all

cd /src
tar xjf courier-imap-2.2.0.tar.bz2
cd courier-imap-2.2.0
Courier mag es nicht, wenn wir im Source-Tree als Root arbeiten, also chown'en wir alle Dateien und wechseln zu einem normalen Useraccount. Ich verwende als Beispiel den Benutzer "workuser". (Vorsicht mit dem rekursiven chown-Befehl.. es gibt genug Leute, die sich mit "chown -R bla:bla .*" ziemlich in's Bein geschossen haben)

Code: Select all

chown -R workuser:users ./
su workuser
./configure --prefix=/usr --sysconfdir=/etc/courier-imap --without-authuserdb --without-authcram --without-authvchkpw --without-authldap --with-authmysql
make
make check
exit
make install
make install-configure
Dann bringen wir Courier-IMAP mal bei, unsere Datenbank zu verwenden.

Code: Select all

cd /etc/courier-imap
Als erstes wird die "authdaemonrc" angepasst.
Folgende Werte müssen angepasst werden:

Code: Select all

authmodulelist="authmysql"
authmodulelistorig="authmysql"
Die nächste Datei ist "authmysqlrc":

Code: Select all

MYSQL_SERVER  localhost
MYSQL_USERNAME  exim
MYSQL_PASSWORD  <!EXIM_PASSWORD!>
MYSQL_SOCKET  <!Bitte auf eigene mysql.sock anpassen!>
MYSQL_DATABASE  exim
MYSQ_USER_TABLE  users
MYSQL_CRYPT_PWFIELD  password
MYSQL_CLEAR_PWFIELD  password_clear
DEFAULT_DOMAIN  <!deineDomain.tld!>
MYSQL_LOGIN_FIELD  email
MYSQL_MAILDIR_FIELD  directory
Normalerweise erstellt "make install" die Dateien bereits mit sehr strengen Rechten, aber da hier wieder einmal das Exim-MySQL-Passwort im Klartext in "authmysqlrc" steht, ist ein "ls -la" zum überprüfen der 400-Rechte angebracht.

Courier-IMAP erspart uns das manuelle Einrichten eines Init-Scripts. Ein passendes wird mitgeliefert.

Code: Select all

cp /usr/libexec/imapd.rc /etc/rc.d/init.d/imapd
cd /etc/rc.d/init.d
ln -sf ../init.d/imapd ../rc0.d/K25imapd
ln -sf ../init.d/imapd ../rc1.d/K25imapd
ln -sf ../init.d/imapd ../rc2.d/K25imapd
ln -sf ../init.d/imapd ../rc3.d/S35imapd
ln -sf ../init.d/imapd ../rc4.d/S35imapd
ln -sf ../init.d/imapd ../rc5.d/S35imapd
ln -sf ../init.d/imapd ../rc6.d/K25imapd
Und nun noch den Dienst starten:

Code: Select all

./imapd start
Wer ein wenig Ahnung von PHP/MySQL hat, kann sich recht schnell eine einfache Admin-Oberfläche stricken, um neue Domains, Aliase und Emailadressen hinzuzufügen. Evtl. komm ich in der nächsten Zeit dazu, ein Beispielscript zu schreiben.

Das wars.. viel Spaß beim Mailen ;)

Kritik, Anmerkungen, Verbesserungsvorschläge etc. sind natürlich höchst willkommen :)
Last edited by darkspirit on 2003-11-04 15:26, edited 1 time in total.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by captaincrunch » 2003-11-04 08:09

Wunderbares Howto. Trotzdem kommt mal wieder mein ständiges "aber" :

Sofern es sich um Debian handelt : warum nimmst du nicht ganz einfach Backports statt alles aus den Sourcen zu bauen ?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

darkspirit
RSAC
Posts: 568
Joined: 2002-10-05 16:39
Location: D'dorf

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by darkspirit » 2003-11-04 09:16

Nuja, da kann man wieder den ewigen Streit zwischen den Distributionen beginnen. Für mich mit LFS gabs keine andere Wahl und mir persönlich gefällt es einfach besser, alles aus dem Source zu bauen.. aber da kann man sich streiten ;)

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by captaincrunch » 2003-11-04 10:02

Ich wollte damit auch nicht den x-ten Distri-Flame einleiten, sondern wusste einfach nicht, dass du ein LFS laufen hast. Das, was ich verhindern wollt war, dass jetzt massenhaft Leute, die besser bei ihrem Paketmanager bleiben solten losrennen, wie wild anfangen zu kompilieren, und dann vor (für sie) "unlösbaren" Problemen stehen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by dodolin » 2003-11-05 15:04

ACK @CC, denn inzwischen haben wohl u.a. Gentoo, Debian, FreeBSD standardmäßig den exiscan-acl Patch drinnen und auch RPMs für Redhat und möglicherweise auch andere rpm-basierte Distris stehen bereit. Trotz allem: Sehr schöne Anleitung, sollte vielleicht in der FAQ verlinkt oder direkt dorthin kopiert werden...!

darkspirit
RSAC
Posts: 568
Joined: 2002-10-05 16:39
Location: D'dorf

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by darkspirit » 2003-11-05 15:58

Ich werd mir mal ein Debian auf meinem Testserver installieren und schauen, ob ich das mit den deb-Paketen auch hinbekomme. Wenn alles funktioniert ergänze ich das HowTo dementsprechend.. ;)

dherkhon
Posts: 25
Joined: 2003-10-20 17:43

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by dherkhon » 2004-01-05 04:46

Kann man das mail system evtl. erweitern ? Ich rede von Quota was mir sehr wichtig wäre.

Und was ich noch zum tutorial sagen wollte

Wer lieber f-prot als virus scanner haben will kann folgende änderung vornehmen.

In der exim.conf statt:

Code: Select all

av_scanner = clamd:/tmp/clamd 
das hier:

Code: Select all

av_scanner = cmdline:
			/usr/bin/f-prot.sh -archive -packed -ai %s:
			Infection:
			Infection. (.+)
Natürlich vorher f-prot installieren.Hab mir von vielen sagen lassen das f-prot besser ist als clamav.

ronny
Posts: 54
Joined: 2003-04-25 16:05
Location: Vilsbiburg / Landshut

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by ronny » 2004-03-10 15:25

Hallo,

Kennt jemand eine Möglichkeit um die Passwörter per MD5 - Hash in der Datenbank abzulegen?

PS: Kann mir jemand sagen für was die Tabelle ´domains' sein soll? Ich finde weder in der Exim- noch in der Courier- Konfiguration einen passenden Eintrag.

MfG Ronny

knollo
Posts: 7
Joined: 2002-09-15 18:08
Location: Norderstedt

Re: HowTo: Exim mit Mysql, Spam-/Virenscan, Courier-IMAP

Post by knollo » 2004-03-27 12:56

Ronny wrote:Hallo,

Kennt jemand eine Möglichkeit um die Passwörter per MD5 - Hash in der Datenbank abzulegen?
habe ich mich ncoh nicht beschäftigt, aber werde ich wohl auch demnächst tun!
PS: Kann mir jemand sagen für was die Tabelle ´domains' sein soll? Ich finde weder in der Exim- noch in der Courier- Konfiguration einen passenden Eintrag.

MfG Ronny
Das ist die Tabelle wo du die Domains einträgst die du annehmen willst!

Grüße

Knollo