View previous topic :: View next topic |
Author |
Message |
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Sun Feb 19, 2006 7:08 pm Post subject: Exim4 + MySQL + ClamAV + SpamAssassin + IMAP + SSL/TLS Howto |
|
|
Was ist exim? Warum will ich das haben? Was sind dessen Vorteile?
Nun zuerst einmal, exim4 ist platt gesagt ein MTA, ein Mailserver ähnlich wie Postfix auch. Für Postfix gibt es ein Virtual Mail Howto auf gentoo.org was auch wunderbar funktioniert. Allerdings haben sich mir im Laufe der Zeit ein paar Ärgernisse gezeigt die mir Postfix gebracht hat, respektive Postfix in Zusammenarbeit mit Virtual Domains so dass ich mir über eine andere bessere Lösung Gedanken machte.
Exim ist ein MTA den es schon recht lange gibt und der nach näherer Betrachtung sehr gut einzubinden ist. Ich will in diesem Howto zeigen wie man folgendes realisiert:
MTA Exim4
Virtual Domains und User in MySQL Datenbank
Courier IMAP und POP3 Dienst
Amavisd-New und Clamd als Virenscanner
SpamAssassin als Spamkiller
Die Vorteile von Exim liegen meiner Auffassung nach in der Tatsache, dass Exim keinerlei externe Werkzeuge oder Plugins benötigt um mit beliebigen Datenbanken zu kommunizieren. Man kann die Abfragen direkt in der exim.conf steuern und bearbeiten, das birgt auch weniger Probleme in der Art wie ich sie oft hatte, wenn ein Gentoo update kam und irgendwas in der Kette der Plugins von Postfix schief ging.
Achja, ich weiss dass man in Exim4 auch mit exiscan-acl ein komplettes Spam- und Virenfiltering erledigen kann. Den Exim auf exiscan-acl umzustellen werde ich später versuchen wenn ich dazu die Zeit finde, momentan ist die amavisd-new Lösung in meinem Setup vertreten. Wenn mir jemand allerdings dazu eine funktionierende Config geben kann, dann bringe ich die gerne hier im Howto unter.
Wichtig: Das hier ist ein Howto, ich erhebe keinen Anspruch darauf, dass alles funktionieren muss und ebenso kann ich Fehler machen beim Schreiben eines solchen. Ich bin ebenso (noch) kein Exim-Gott (fraglich ob ichs werde ), ich habe mich seit einigen Wochen mit Exim beschäftigt und stelle schlicht fest, dass es mir sehr gut gefällt. Fehler und Anmerkungen werde ich gerne verbessern.
1.exim4 installieren
Zuerst muss exim installiert werden, damit das alles glatt geht so wie wir das brauchen muss entweder mysql support in die make.conf global eingetragen oder für das exim ebuild in die package.use gesperrt werden.
Wenn das Ganze eine neue Installation ist, dann muss vorher mail-mta/ssmtp deinstalliert werden, das blocked sonst exim.
Code: | echo "mail-mta/exim mysql ssl" >> /etc/portage/package.use
emerge exim
|
Der Eine oder Andere wird vermutlich anmerken, dass es ein USE Flag für syslog support gibt. Ich mag es allerdings gerne wenn Exim in seine eigenen Logfiles schreibt, von daher habe ich das per default ausgeschaltet gelassen.
2.Amavisd-new und ClamAV installieren
Also der Amavisd-New erledigt im Prinzip das Content Filtering und die übergabe an den Virenscanner.
Code: | emerge mail-filter/amavisd-new
|
Code: | emerge app-antivirus/clamav
|
3.Courier-IMAP installieren
Der Courier-IMAP wird später pop3 und imap Postfächer zur Verfügung stellen.
Code: | emerge net-mail/courier-imap
|
4.SpamAssassin installieren
Ich spreche den SA über den spamd an. Das funktioniert bei mir erstmal soweit sehr gut, auch hier: das könnte man gut via exiscan-acl machen, aber wie erwähnt, ich hab das noch nicht getestet.
Code: | emerge mail-filter/spamassassin |
Meine SA Konfiguration ist etwas eigenwillig, ich verwende einen amd64 für dieses Setup, ich habe einige Perl Module für die SA Geschichten via g-cpan selbst nachinstalliert. Ich weiss leider nicht mehr genau welche ich alle für den SA zusätzlich installiert habe, aber diese Liste spiegelt alle meine Perlmodule wieder.
Code: | dev-perl/Net-Daemon-0.38
dev-perl/PlRPC-0.2016-r1
dev-perl/DBI-1.46
dev-perl/DBD-mysql-2.9007
dev-perl/Compress-Zlib-1.35
dev-perl/IO-Zlib-1.01
dev-perl/IO-String-1.05
dev-perl/Archive-Tar-1.26
dev-perl/HTML-Tagset-3.03-r2
dev-perl/HTML-Parser-3.46
dev-perl/Authen-SASL-2.09
dev-perl/URI-1.35
dev-perl/Crypt-SSLeay-0.51
dev-perl/libwww-perl-5.800
dev-perl/Net-SSLeay-1.25
dev-perl/IO-Socket-SSL-0.96
dev-perl/Digest-SHA1-2.10
dev-perl/Digest-HMAC-1.01-r1
dev-perl/Net-DNS-0.49
dev-perl/Digest-Nilsimsa-0.06-r1
dev-perl/Locale-gettext-1.03
dev-perl/yaml-0.36
dev-perl/module-build-0.25
dev-perl/IPC-ShareLite-0.09
dev-perl/Error-0.15-r2
dev-perl/Cache-Cache-1.03
dev-perl/Cache-Cache-1.03
dev-perl/IO-String-1.05
dev-perl/Digest-SHA1-2.10
dev-perl/Heap-0.71
dev-perl/module-build-0.25
dev-perl/TimeDate-1.16
dev-perl/TermReadKey-2.21
dev-perl/TermReadKey-2.30
dev-perl/Cache-Cache-1.04
dev-perl/DateManip-5.44
dev-perl/Carp-Clan-5.3
dev-perl/Bit-Vector-6.4
dev-perl/Date-Calc-5.4
dev-perl/Tie-IxHash-1.21-r1
dev-perl/Sys-Hostname-Long-1.4
dev-perl/Net-CIDR-Lite-0.18
dev-perl/Mail-SPF-Query-1.998
dev-perl/Unix-Syslog-0.100-r1
dev-perl/BerkeleyDB-0.27
dev-perl/Convert-ASN1-0.19
dev-perl/XML-Parser-2.34
dev-perl/perl-ldap-0.33
dev-perl/IO-stringy-2.110
dev-perl/MailTools-1.67
dev-perl/MIME-tools-5.417
dev-perl/Convert-TNEF-0.17-r2
dev-perl/Convert-UUlib-1.051
dev-perl/Archive-Zip-1.16
dev-perl/IO-Multiplex-1.08
dev-perl/net-server-0.87-r1
dev-perl/DBD-Pg-1.22
|
Also falls etwas fehlt: Eines der Dinger ist es
5.MySQL installieren
Falls nicht eh schon durch die Abhängigkeit bei Exim geschen, muss noch der MySQL installiert werden.
Optional wäre es gut wenn man auch gleich PHPMyAdmin installiert, das macht die Arbeit mit der Datenbank nachher schön einfach.
6.Installation der MySQL Datenbank
Wenn der MySQL Server am laufen ist, sollte man eine Datenbank erzeugen, ich nenne sie bei mir exim ihr könnt Sie gerne anders nennen.
Für die DB sollte ein zusätzlicher User erzeugt werden, der nur Rechte auf der exim db hat und sonst nirgends.
Das Layout der Exim DB sieht wie folgt aus:
Code: | -- MySQL dump 10.9
--
-- Host: localhost Database: exim
-- ------------------------------------------------------
-- Server version 4.1.14-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES latin1 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `aliases`
--
DROP TABLE IF EXISTS `aliases`;
CREATE TABLE `aliases` (
`alias` varchar(50) NOT NULL default '',
`destination` varchar(100) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `aliases`
--
/*!40000 ALTER TABLE `aliases` DISABLE KEYS */;
LOCK TABLES `aliases` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `aliases` ENABLE KEYS */;
--
-- Table structure for table `blacklist`
--
DROP TABLE IF EXISTS `blacklist`;
CREATE TABLE `blacklist` (
`domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `blacklist`
--
/*!40000 ALTER TABLE `blacklist` DISABLE KEYS */;
LOCK TABLES `blacklist` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `blacklist` ENABLE KEYS */;
--
-- Table structure for table `boxauth`
--
DROP TABLE IF EXISTS `boxauth`;
CREATE TABLE `boxauth` (
`boxname` varchar(50) NOT NULL default '',
`boxpwd` varchar(20) NOT NULL default '',
`boxinfo` varchar(100) NOT NULL default '',
`uid` int(11) NOT NULL default '0',
`gid` int(11) NOT NULL default '0',
`email` varchar(100) NOT NULL default '',
PRIMARY KEY (`boxname`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `boxauth`
--
/*!40000 ALTER TABLE `boxauth` DISABLE KEYS */;
LOCK TABLES `boxauth` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `boxauth` ENABLE KEYS */;
--
-- Table structure for table `domaintable`
--
DROP TABLE IF EXISTS `domaintable`;
CREATE TABLE `domaintable` (
`domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `domaintable`
--
/*!40000 ALTER TABLE `domaintable` DISABLE KEYS */;
LOCK TABLES `domaintable` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `domaintable` ENABLE KEYS */;
--
-- Table structure for table `emailtable`
--
DROP TABLE IF EXISTS `emailtable`;
CREATE TABLE `emailtable` (
`local_part` varchar(50) NOT NULL default '',
`domain` varchar(50) NOT NULL default '',
`cc` varchar(100) default NULL,
`forward` varchar(100) default NULL,
`box` varchar(50) NOT NULL default '',
`is_away` enum('yes','no') NOT NULL default 'no',
`away_text` tinytext character set latin1 collate latin1_german1_ci,
`user` varchar(50) default NULL,
`is_enabled` enum('yes','no') NOT NULL default 'yes',
`opt_virscan` enum('yes','no') NOT NULL default 'no',
`opt_spamscan` enum('yes','no') NOT NULL default 'no',
`opt_spampurge` enum('on','off') NOT NULL default 'off'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `emailtable`
--
/*!40000 ALTER TABLE `emailtable` DISABLE KEYS */;
LOCK TABLES `emailtable` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `emailtable` ENABLE KEYS */;
--
-- Table structure for table `relaytable`
--
DROP TABLE IF EXISTS `relaytable`;
CREATE TABLE `relaytable` (
`domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `relaytable`
--
/*!40000 ALTER TABLE `relaytable` DISABLE KEYS */;
LOCK TABLES `relaytable` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `relaytable` ENABLE KEYS */;
--
-- Table structure for table `whitelist`
--
DROP TABLE IF EXISTS `whitelist`;
CREATE TABLE `whitelist` (
`domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `whitelist`
--
/*!40000 ALTER TABLE `whitelist` DISABLE KEYS */;
LOCK TABLES `whitelist` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `whitelist` ENABLE KEYS */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; |
Dieses Ding könnt ihr copy und paste in eine Text Datei packen und so in euren MySQL Server schaufeln:
Code: | mysql -u root -p exim < exim.dump
|
Dann ist die DB mit den nötigen Tabellen erzeugt.
Jetzt muss in die Exim DB noch ein wenig Inhalt. Das Ganze sieht so aus:
Tabelle Aliases:
Die Table ist nur für lokale Systemaliase gedacht.
Alias : Destination
root : adresse@woauchimmer.de
Tabelle Blacklist:
Domains oder Teile von Domains die dort eingetragen werden, werden direkt vom MTA abgelehnt und gar nicht erst weiter bearbeitet. Es kann folgendes eingetragen werden:
ident@domain.de
*@domain.de
Tabelle Whitelist:
Domains die hier eingetragen sind werden auf jeden Fall zugestellt, egal ob nun am SA als Spam markiert oder nicht. Folgendes kann eingetragen werden:
ident@domain.de
*@domain.de
Tabelle Boxauth:
In dieser Tabelle werden alle Authentifizierungsdaten hinterlegt.
boxname beinhaltet den namen der Mailbox (user001_domain.de) z.b.
boxpwd beinhaltet das Passwort, es sollte als Typ zum speichern OLD_PASSWORD gewählt werden.
boxinfo beinhaltet bei mir den Namen der Person der die Box gehört.
uid die uid des Users mit dem der Courier IMAP und der Exim läuft.
gid die gid des Users mit dem der Courier IMAP und der Exim läuft
email hier trage ich die Email Adresse ein, diese wird auch als Benutzername für die SMTP und IMAP/POP Authentifizierung verwendet. Hier könntet ihr auch irgendwas anderes eintragen.
Tabelle Domaintable:
Hier kommen alle Domänen rein für die der Exim zuständig sein soll.
Tabelle Emailtable:
local_part: der ident des users (das vor dem @ bei der Mailadresse)
domain: naja, die Domain (das nach dem @ )
dd: Wenn diese Mailadresse direkt ein Automatisches CC irgendwo anders hin bekommen soll. Das muss dann eine Mailadresse sein
forward: Wenn die Mailadresse nur ein weiterleiter ist
box: Der Mailboxname an den die Mail zugestellt wird
is_away: Yes/No, falls der User Away geschaltet ist, wird Vacation verwendet.
away_text: Naja, der Text wird verschickt wenn der User auf Away gesetzt ist
user: Hier schreibe ich noch den Realname rein.
is_enabled: naja, tut das Konto oder nicht.
opt_virscan: ClamAV nutzen oder nicht
opt_spamscan: SA nutzen oder nicht
opt_spampurge: Erkannten Spam direkt wegschmeissne oder nicht
Tabelle: Relaytable
Hier kommen alle etwaigen Relay Domains rein
So, nun muss erstmal ein User erzeugt werden anhand dessen was ich hier oben geschrieben habe. Dem Exim eine Domain zuweisen mit der er arbeiten kann und dann kanns weitergehen mit der Konfiguration von Exim.
Bei dem ersten Testaccount der angelegt wird, mal kurz opt_virscan und opt_spamscan in der DB ausschalten, dann kann besser getestet werden ob das bisherige Setup geht.
7.Konfiguration von Exim
Geschickterweise schreibt man bei Exim alles was das Teil angeht in eine einzelne Konfigurationsdatei die exim.conf.
Wer gerne TLS verwenden möchte, sollte sich entweder ein funktionierendes ssl Zertifikat kaufen (naja, vllt. bissl teuer) oder eben eines selbst erstellen, nämlich so:
Code: | openssl req -x509 -newkey rsa:1024 -keyout zertifikat.key -out zertifikat.cert -days 9999 -nodes
cat zertifikat.key zertificat.cert >> zertifikat.combined |
Die beiden dann an entsprechender Stelle der exim.conf eintragen.
Das was geändert werden muss habe ich in der exim.conf entsprechend kommentiert.
Die Datei /etc/exim/exim.conf sieht wie folgt aus:
Code: | ######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################
# MySQL defines
MYSQL_SERVER=localhost
#mysql user anpassen
MYSQL_USER=exim
#mysql passwort anpassen
MYSQL_PASSWORD=password
#mysql db anpassen
MYSQL_DB=exim
#wenn ihr an den tables nix gebaut habt müsste das so bleiben
MYSQL_EMAILTABLE=emailtable
MYSQL_DOMAINTABLE=domaintable
MYSQL_DOMAINRTABLE=relaytable
MYSQL_ALIASTABLE=aliases
MYSQL_WHITETABLE=whitelist
MYSQL_BLACKTABLE=blacklist
MYSQL_AUTHTABLE=boxauth
MYSQL_Q_ALIASES=SELECT destination FROM MYSQL_ALIASTABLE WHERE alias='${quote_mysql:$local_part}'
MYSQL_Q_ISAWAY=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND is_away='yes'
MYSQL_Q_AWAYTEXT=SELECT away_text FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'
MYSQL_Q_FORWARD=SELECT forward FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND forward != ''
MYSQL_Q_CC=SELECT cc FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'
MYSQL_Q_LOCAL=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND box != ''
MYSQL_Q_WCLOCAL=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='*' AND forward != ''
MYSQL_Q_WCLOCFW=SELECT forward FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='*' AND forward != ''
MYSQL_Q_LDOMAIN=SELECT DISTINCT domain FROM MYSQL_DOMAINTABLE WHERE domain='$domain'
MYSQL_Q_RDOMAIN=SELECT DISTINCT domain FROM MYSQL_DOMAINRTABLE WHERE domain='$domain'
MYSQL_Q_BOXNAME=SELECT box FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'
MYSQL_Q_SPAMC=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_spamscan='yes'
MYSQL_Q_VSCAN=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_virscan='yes'
MYSQL_Q_SPAMPURGE=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_spampurge='yes'
MYSQL_Q_DISABLED=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND is_enabled='no'
MYSQL_Q_WHITELIST=SELECT DISTINCT MYSQL_WHITETABLE.domain FROM MYSQL_WHITETABLE WHERE '${quote_mysql:$sender_address}' LIKE whitelist.domain
MYSQL_Q_BLACKLIST=SELECT DISTINCT MYSQL_BLACKTABLE.domain FROM MYSQL_BLACKTABLE WHERE '${quote_mysql:$sender_address}' LIKE blacklist.domain
MYSQL_Q_AUTHPWD1=SELECT email FROM MYSQL_AUTHTABLE WHERE email='$2' AND boxpwd=encrypt('$3',boxpwd)
MYSQL_Q_AUTHPWD2=SELECT email FROM MYSQL_AUTHTABLE WHERE email='$1' AND boxpwd=encrypt('$2',boxpwd)
hide mysql_servers = "MYSQL_SERVER/MYSQL_DB/MYSQL_USER/MYSQL_PASSWORD"
#hier entweder: hostname.domain.de oder einfach nur domain.de rein
primary_hostname = domain.de
domainlist local_domains = mysql;MYSQL_Q_LDOMAIN
domainlist relay_to_domains = mysql;MYSQL_Q_RDOMAIN
hostlist relay_from_hosts = 127.0.0.1
acl_smtp_rcpt = acl_check_rcpt
#hier auch nochmal die domain.de rein, das braucht man für mailx und cron...
qualify_domain = domain.de
never_users = root
trusted_users =
# ich habe hier den rfc1413 timeout auf 0 sec gestellt, sonst dauert mails versneden ewig und 3 tage...
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
check_spool_space = 50M
check_log_space = 20M
return_size_limit = 20k
#naja, bei mir halt 20mb... wer mehr will anpassen.
message_size_limit = 20M
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
deliver_queue_load_max = 8
queue_only_load = 10
remote_max_parallel = 15
# wer TLS für smtp haben möchte, das folgende bitte einkommentieren und mit korrekten zertifikaten versehen
#tls_certificate = /var/ssl/tolleszertifikat.cert
#tls_privatekey = /var/ssl/tolleszertifikat.key
#tls_advertise_hosts = *
# das hier ist wichtig für den amavisd. Wenn dem howto gefolgt wird kanns so bleiben
local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
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
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################
begin routers
fail_router:
driver = redirect
domains = ${lookup mysql {MYSQL_Q_DISABLED}{$value}}
data = ":fail:"
allow_fail
amavis_director:
driver = manualroute
condition = "${if eq {$interface_port}{25} {1}{0}}"
domains = ${lookup mysql {MYSQL_Q_VSCAN}{$value}}
transport = amavis
route_list = "* localhost byname"
self = send
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
blacklist_router:
driver = manualroute
senders = ${lookup mysql {MYSQL_Q_BLACKLIST}{$value}}
condition = "${if !def:h_X-Spam-Flag: {1}{0}}"
headers_add = X-Spam-Flag: YES
route_list = * localhost
self = pass
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql {MYSQL_Q_ALIASES}{$value}}
file_transport = address_file
pipe_transport = address_pipe
spamcheck_director:
driver = manualroute
domains = ${lookup mysql {MYSQL_Q_SPAMC}{$value}}
senders = ! ${lookup mysql {MYSQL_Q_WHITELIST}{$value}}
condition = ${if and { \
{!eq {$received_protocol}{spam-scanned}} \
{!eq {$received_protocol}{local}} \
} {1}{0}}
headers_remove = X-Spam-Flag
route_list = "* localhost byname"
transport = spamcheck
verify = false
spampurge_director:
driver = manualroute
domains = ${lookup mysql {MYSQL_Q_SPAMPURGE}{$value}}
condition = "${if eq{$h_X-Spam-Flag:}{YES} {1}{0}}"
route_list = "* localhost byname"
transport = devnull_transport
verify = false
vacation_director:
driver = accept
domains = ${lookup mysql {MYSQL_Q_ISAWAY}{$value}}
transport = vacation_autoreply
unseen
virtual_cc_director:
driver = redirect
data = ${lookup mysql {MYSQL_Q_CC}{$value}}
unseen
virtual_forward_director:
driver = redirect
data = ${lookup mysql {MYSQL_Q_FORWARD}{$value}}
virtual_local_mailbox:
driver = accept
domains = ${lookup mysql {MYSQL_Q_LOCAL}{$value}}
transport = virtual_local_md_delivery
virtual_wclocal_redirect:
driver = redirect
domains = ${lookup mysql {MYSQL_Q_WCLOCAL}{$value}}
data = ${lookup mysql {MYSQL_Q_WCLOCFW}{$value}}
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
begin transports
remote_smtp:
driver = smtp
devnull_delivery:
driver = appendfile
file = /dev/null
group = mail
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
amavis:
driver = smtp
port = 10024
allow_localhost
spamcheck:
driver = pipe
command = /usr/sbin/exim -oMr spam-scanned -bS
use_bsmtp = true
transport_filter = "/usr/bin/spamc"
home_directory = "/tmp"
current_directory = "/tmp"
user = mail
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
virtual_local_md_delivery:
driver = appendfile
#ich stopfe alle meine mail user nach /home/vmail wenn ihr das gerne nach /var/ oder sonstwohin wollt dann muss das hier angepasst werden.
directory = /home/vmail/${lookup mysql {MYSQL_Q_BOXNAME}{$value}}
maildir_format
# ich verwende mail:mail für user und gruppe. Wenn ihr hier was anderes bevorzugt, muss das auch geändert werden.
user = mail
group = mail
mode = 0660
directory_mode = 0770
vacation_autoreply:
driver = autoreply
to = ${sender_address}
from = "vacation@${domain}"
subject = "Ihre Nachricht an ${local_part}@${domain}"
text = ${lookup mysql {MYSQL_Q_AWAYTEXT}{$value}}
devnull_transport:
driver = appendfile
file = /dev/null
user = mail
######################################################################
# RETRY CONFIGURATION #
######################################################################
begin retry
# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 6 hours until 4 days have passed since the first
# failed delivery.
# Domain Error Retries
# ------ ----- -------
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
######################################################################
# REWRITE CONFIGURATION #
######################################################################
# There are no rewriting specifications in this default configuration file.
begin rewrite
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
# There are no authenticator specifications in this default configuration file.
begin authenticators
fixed_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{MYSQL_Q_AUTHPWD1}{1}fail}
server_set_id = $2
fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{MYSQL_Q_AUTHPWD2}{1}fail}
server_set_id = $1
######################################################################
# CONFIGURATION FOR local_scan() #
######################################################################
# If you have built Exim to include a local_scan() function that contains
# tables for private options, you can define those options here. Remember to
# uncomment the "begin" line. It is commented by default because it provokes
# an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS
# set in the Local/Makefile.
# begin local_scan
# End of Exim configuration file
|
So, alles was in dem config file ist ab nach /etc/exim/exim.conf. Wenn das alles soweit geklappt hat, der delivery path auch erzeugt ist, die chowns stimmen usw. dann kann der exim gestartet werden.
Code: | /etc/init.d/exim start
|
Nun mal ein
Code: | tail -f /var/log/exim/exim_main.log
|
und eine Testmail verschicken via
Code: | echo "testmail" | mail -s "testmail" user@domain.de
|
(falls da steht mail command not found, muss noch das mail-client/mailx installiert werden)
So, wenn alles geklappt hat, dann sollte in dem mailpath nun ein maildir erzeugt worden sein, und die Post ist ausgeliefert.
Falls dem nicht so ist: Bitte genau das exim_main.log anschauen und kucken ob sich irgendwo ein typo eingeschlichen hat.
7.Amavisd-New Konfiguration
Amavis ist einfach zu Konfigurieren, ich habe eigentlich nur ein paar wenige Dinge geändert und auch nur das zu ändernde hier aufgeführt.
Code: | /etc/amavisd.conf
# SMTP SERVER (INPUT) PROTOCOL SETTINGS (e.g. with Postfix, Exim v4, ...)
# (used when MTA is configured to pass mail to amavisd via SMTP or LMTP)
$inet_socket_port = 10024; # accept SMTP on this local TCP port
# (default is undef, i.e. Disabled)
$inet_socket_bind = '127.0.0.1'; # limit socket bind to loopback interface
# (default is '127.0.0.1')
$virus_admin = 'root@domain.de';
$final_virus_destiny = D_PASS; # (defaults to D_DISCARD)
$final_banned_destiny = D_PASS; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_BOUNCE)
$final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested
|
Danach einfach den amavisd-new starten
Code: |
/etc/init.d/amavisd start
|
Genauso den ClamAV starten
Code: | /etc/init.d/clamd start |
Und dann in der DB für den Testuser opt_virscan anschalten und wieder eine Testmail versenden:
Code: | echo "testmail viren" | mail -s "testmail viren" user@domain.de |
Wenn die Mail ankam, dann einfach mal die Header anschauen, wenn da drinnesteht:
Code: | X-Virus-Scanned: amavisd-new at hostname |
Dann ist alles gut. Um zu testen ob der ClamAV auch wirklich anspricht, kann das Virus-Testfile von eicar.org verschickt werden, dann sollte ein Virusalert kommen usw.
9. Courier IMAP konfigurieren
Es müssen für den Courier folgende Dateien angepasst werden:
Code: | /etc/courier/authlib/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME exim
MYSQL_PASSWORD password
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE exim
MYSQL_USER_TABLE boxauth
MYSQL_CRYPT_PWFIELD boxpwd
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD email
#hier muss ein etwaiger anderer mailpath eingetragen werden
MYSQL_HOME_FIELD '/home/vmail/'
MYSQL_MAILDIR_FIELD boxname |
Code: | /etc/courier/authlib/authdaemonrc
authmodulelist="authmysql"
|
dann das ding starten mittels:
Code: |
/etc/init.d/courier-pop3d start
/etc/init.d/courier-imapd start
|
und der courier ist geritzt.
Achja, so und wer nun gerne auch noch den Courier-IMAP und den Courier-POP3 Dienst mittels SSL und TLS beharken möchte, der tut bitte folgendes:
Die beiden Dateien editieren
Code: | /etc/courier-imap/imapd-ssl
/etc/courier-imap/pop3d-ssl |
und jeweils diese Zeile:
Code: |
TLS_CERTFILE=/var/ssl/zertifikat.combined |
anpassen, so dass sie auf das zu Beginn erzeugte kombinierte Zertifikat verweist.
Dann müssen noch die beiden ssl Varianten von Courier gestartet werden
Code: |
/etc/init.d/courier-imapd-ssl start
/etc/init.d/courier-pop3d-ssl start
|
und fertig ist der Courier mit SSL Support.
10.Konfiguration vom SpamAssassin
So, wenn der SpamAssasssin emerged ist, dann können die configfiles editiert werden:
Code: | /etc/mail/spamassassin/local.cf
required_score 5.0
skip_rbl_checks 0
bayes_auto_learn 1
use_bayes 1
bayes_path /etc/mail/spamassassin/bayes |
Nun den spamd starten und dann sollte alles flutschen.
Code: | /etc/init.d/spamd start |
Den Testuser in der DB noch mit opt_spamscan befähigen dass SA verwendet wird.
Jetzt noch das GTUBE file von http://spamassassin.apache.org runterladen und eine Testmail verschicken. Wenn im Header nun ein SpamScore steht und die Mail als Spam erkannt wurde, dann ist alles fertig.
Alle Dienste nun noch in den default runlevel stecken so dass sie automatisch starten, und dann ists fertig .
So, nun hoffe ich, dass ich nix vergessen habe und ihr viel Spass mit Exim haben werdet.
cheerios,
toskala _________________ adopt an unanswered post
erst denken, dann posten
Last edited by toskala on Sun Feb 26, 2006 3:26 pm; edited 3 times in total |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Mon Feb 20, 2006 6:25 am Post subject: |
|
|
toskala wrote: |
Code: | echo mail-mta/exim mysql ssl >> /etc/portage/package.use
emerge exim
|
|
Habe mir mal erlaubt im gesamten Post in den Code-Blöcken und durch " zu ersetzen. Ich hoffe ich habe keine übersehen. Wahrscheinlich hattest Du es in einer Office-Software vorgeschrieben und dann mit C&P eingefügt, da passiert sowas Ansonsten sehr schönes HowTo. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Mon Feb 20, 2006 10:36 am Post subject: |
|
|
hehe, jo in der tat, ich habs mit openoffice zusammengehackt weil das ding sonst bissl arg lang zu editieren gewesen wäre hier im forum *g* _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
gabelhonz Apprentice
Joined: 30 Aug 2004 Posts: 222 Location: 10010100111110011
|
Posted: Tue Feb 21, 2006 9:49 am Post subject: |
|
|
Hi,
schönes Howto, allerdings hab ich da 3 Fragen:
1. Warum kein SSL oder TLS über pop3 imap und smtp ?
2. Gibt es dafür auch so ein schönes Administrationsinterface wie für qmail? (qmail-admin)
3. Was haltet ihr von qmail ?
Zudem könnte man doch auch spamassassin und clamav etc. auch an ne mysql db anbinden oder?
gruß gabelhonz _________________ Wenn Chuck Norris ins Wasser fällt, wird Chuck Norris nicht nass. Wasser wird Chuck Norris. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Tue Feb 21, 2006 11:24 am Post subject: |
|
|
antwort:
kein ssl / tls - weil ichs noch nich fertig hab und grade vollkommen verkrankt im bett liege, muss ich dieser tage nachpflegen
ein webinterface für was? zum administrieren von konten? nein, also das hab ich zwar im sinn, aber ist ebenso noch nicht fertig
mit qmail hab ich leider bisher nur wenig zu tun gehabt, soll aber durchaus auch ein brauchbares werkzeug sein.
achja, ja, man kann SA an sql anbinden, wobei ich da aber den nutzen nich ganz sehe...
cheerios,
toskala _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
gabelhonz Apprentice
Joined: 30 Aug 2004 Posts: 222 Location: 10010100111110011
|
Posted: Tue Feb 21, 2006 12:22 pm Post subject: |
|
|
Huhu,
danke mal für deine Antwort...
Ich habe momentan qmail+vpopmail+courier am laufen und dazu gibt es eben so ein schönes Webinterface wo du dein Konto verwalten kannst.
Dort kann man dann Forwardings, Verteiler etc einrichten, ist eben ziemlich einfach und schön. Sowas wäre auch für exim nicht schlecht, aber gibt ja immerhin phpmyadmin
Werde mir exim eventuell mal anschauen und dann meine Erfahrungen einfach mal posten.
tschau und gruß
gabelhonz _________________ Wenn Chuck Norris ins Wasser fällt, wird Chuck Norris nicht nass. Wasser wird Chuck Norris. |
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Wed Feb 22, 2006 5:42 pm Post subject: |
|
|
gabelhonz wrote: | 2. Gibt es dafür auch so ein schönes Administrationsinterface wie für qmail? (qmail-admin) |
vexim, OpenMailAdmin...
gabelhonz wrote: | 3. Was haltet ihr von qmail ? |
Abstand.
gabelhonz wrote: | Zudem könnte man doch auch spamassassin und clamav etc. auch an ne mysql db anbinden oder? |
Ja, wobei ich mich frage, wozu du ClamAV an eine Datenbank anbinden willst...
toskala wrote: | achja, ja, man kann SA an sql anbinden, wobei ich da aber den nutzen nich ganz sehe... |
Naja, z. B. benutzerspezifische White-/Blacklist sowie eigene Einstellungen und Spamregeln mit entsprechender Bewertung.
@toskala: Hat es einen Grund, dass du die Krücke amavisd-new benutzt und nicht direkt die Exiscan-ACL? Damit kann man SpamAssassin und diverse AV-Programme direkt an Exim anbinden. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Wed Feb 22, 2006 6:24 pm Post subject: |
|
|
xces wrote: | @toskala: Hat es einen Grund, dass du die Krücke amavisd-new benutzt und nicht direkt die Exiscan-ACL? Damit kann man SpamAssassin und diverse AV-Programme direkt an Exim anbinden. |
ja, weil ich mich bisher noch nie mit exiscan-acl beschäftigt habe, hab ich ins howto geschrieben. ich habe vor den näxten exim mit exiscan-acl zu betreiben damit der amavisd endlich wegkann. das ist zugegebenermaßen wirklich unschön.
hast du mir irgendwo ein schönes exiscan-acl howto?
oh, und danks für den webinterface tip _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Wed Feb 22, 2006 6:31 pm Post subject: |
|
|
toskala wrote: | hast du mir irgendwo ein schönes exiscan-acl howto? |
Abgesehen von der offiziellen Exim-Doku (Exiscan ist seit Exim 4.5 integriert und kein Patch ist mehr nötig) ist mir nichts brauchbares bekannt. Die Beispielkonfiguration von vexim ist noch ganz nett als Basis. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Wed Feb 22, 2006 7:41 pm Post subject: |
|
|
perfekt, ich schaus mir an _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
gabelhonz Apprentice
Joined: 30 Aug 2004 Posts: 222 Location: 10010100111110011
|
|
Back to top |
|
|
LunX Guru
Joined: 18 May 2004 Posts: 391 Location: Rastede
|
Posted: Fri Feb 24, 2006 9:26 am Post subject: |
|
|
Hi,
ich wollte sowas schon länger mal selber machen und hab mir jetzt mal nur zu testzwecken nen Rechner genommen Gentoo installiert und mit dem Howto angefangen.
Bisher konnt ich dem auch ganz gut folgen leider habe ich nun einen Fehler wenn ich amavisd starte:
Code: | * Starting amavisd-new ...
The value of variable $myhostname is "SERVER", but should have been
a fully qualified domain name; perhaps uname(3) did not provide such.
You must explicitly assign a FQDN of this host to variable $myhostname
in amavisd.conf, or fix what uname(3) provides as a host's network nam [ !! ] |
Ich habe versucht /etc/hosts /etc/conf.d/hostname und die amavisd.conf umzustellen leider kein Erfolg.
Gruß
Lunx |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Fri Feb 24, 2006 12:23 pm Post subject: |
|
|
LunX wrote: | Ich habe versucht /etc/hosts /etc/conf.d/hostname und die amavisd.conf umzustellen leider kein Erfolg. |
Was sagt `hostname -f`? Was hast du in /etc/conf.d/domainname gesetzt? |
|
Back to top |
|
|
LunX Guru
Joined: 18 May 2004 Posts: 391 Location: Rastede
|
Posted: Fri Feb 24, 2006 1:32 pm Post subject: |
|
|
hostname -f gibt SERVER.WORKGROUP aus in /etc/conf.d/domainname steht steht WORKGROUP.
Gruß
Lunx |
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Fri Feb 24, 2006 8:05 pm Post subject: |
|
|
Dann gib das als Hostname in der amavisd.conf an. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Fri Feb 24, 2006 9:41 pm Post subject: |
|
|
kurze kleine anmerkung:
ich bin momentan grade sehr in arbeit vertieft und komme nicht allzuviel zum forum mitlesen grade. falls ihr also eine anmerkung habt und ich kann sie nicht direkt umsetzen, so sei es mir nachgesehen, momentan müsste ein tag 24h haben und die nacht noch dazu
cheerios,
toskala _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Sun Feb 26, 2006 3:25 pm Post subject: |
|
|
so, die sache mit dem TLS und SSL hat mir nun doch keine ruhe gelassen, hihi, ich habs dann schnell nachgepflegt. ist in den jeweiligen sektionen nachgepflegt, sprich TLS für exim beim exim teil und TLS/SSL für courier beim courier-imap teil.
oh, ich muss sagen: ich weiss nicht ob das mit den zertifikaten so funktioniert. ich habe die zertifikate zwar testweise mal so erzeugt wie ich das hingeschrieben habe, allerdings hab ich diese testzertifikate nie im einsatz gehabt. das müsstet ihr dann mal testen, da ich gekaufte ssl zertifikate benutze... aber ich denke das sollte kein problem darstellen.
cheerios,
toskala _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
BuLLy Tux's lil' helper
Joined: 26 Oct 2004 Posts: 79
|
Posted: Tue Mar 14, 2006 7:03 pm Post subject: |
|
|
@toskala:
Ich danke schon mal im voraus für das Exim Tutorial. Ich war immer auf der Suche nach einem vernünpftigen, hab aber nie eines gefunden. Ich werde deines die Tage mal ausprobieren.
gruß
BuLLy |
|
Back to top |
|
|
samsonus Apprentice
Joined: 18 Jan 2005 Posts: 225 Location: Siegen
|
Posted: Tue Mar 28, 2006 3:11 pm Post subject: |
|
|
mal eine kleine frage, muss der courier und exim mit dem selben user laufen?
in der mysql db werden uid und gid ja eingetragen, muss ich ggf beide dienste mit demselben user laufen lassen.
bei mir laufen die dienste im mom unter verschiedenen usern.
und das login am server schlägt fehl, aber weiss nicht, ob es daran liegt. |
|
Back to top |
|
|
equinox0r l33t
Joined: 18 Feb 2004 Posts: 614
|
Posted: Sat Apr 01, 2006 9:09 am Post subject: |
|
|
nice nice nice ...
endlich mal was brauchbares, werd meine configdahingehend mal bearbeiten
ein webinterface hab ich dann auch demnächst gemacht (inklusive anpassbarkeit an eigenes system, req: apache, mysql. php5, xml), sobald alles funktioniert melde ich mich wieder _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
|
Keepoer Apprentice
Joined: 30 Mar 2004 Posts: 293 Location: Zwischen Kassel und Edewecht pendelnd
|
Posted: Tue Apr 18, 2006 7:11 pm Post subject: |
|
|
Sehr sehr nice. Dickes Thx!
Ich hab aber mal noch ne Frage:
Was genau passiert denn jetzt mit dem Spam? Wird der einfach nur gelöscht?
Ansonsten hab ich noch von meinem alten Exim n Transport in ein Spam-Verzeichnis (auch nur für IMAP sinnvoll).
MfG
Keep |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Fri Aug 18, 2006 1:44 pm Post subject: |
|
|
samsonus wrote: | mal eine kleine frage, muss der courier und exim mit dem selben user laufen? |
hab ich mich nie drum gekümmert, sieht aber so aus als würden sie das eh schon tun...
samsonus wrote: | in der mysql db werden uid und gid ja eingetragen, muss ich ggf beide dienste mit demselben user laufen lassen. bei mir laufen die dienste im mom unter verschiedenen usern. |
wie lauten die user?
das uid/gid feld in der DB beinhaltet die UID für mail und die GID für mail. darunter rennt der courier und der exim unter gentoo. das ist schon sinnig dass das so ist, sonst kann die mail nicht ausgeliefert werden.
samsonus wrote: | und das login am server schlägt fehl, aber weiss nicht, ob es daran liegt. |
nein, das sollte damit nix zu tun haben. authentifizierung ist erstmal unabhängig vom ausliefern der post. was sagen die logfiles? _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
rogge Tux's lil' helper
Joined: 13 Oct 2006 Posts: 132 Location: Erfurt
|
Posted: Fri Nov 24, 2006 10:50 am Post subject: |
|
|
Hallo,
wie oder wo bekomme ich die Zertifikate für TLS her? Ich kann mich
erinnern unter Debian gabs ein script namens »gencert«.
MfG rogge |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|