PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mailserver einrichten



freq.9
01.09.05, 22:23
Wir sind ein kleines Team an Entwicklern und Designer und wollen für unseren Server nun einen Mailserver haben. Leider haben wir keinen der sich mit der Einrichtung auskennt und deshalb sind wir immer auf der Suche nach Informationen wie wir das am besten machen. Wir wollen Courier (IMAP, POP3) nutzen und da virtuelle Benutzer haben die wir mit einer MySQL Datenbank verwalten.

Derzeit haben wir leider noch keine Ahnung wie wir Courier so konfigurieren, dass es die Benutzerdaten aus unser MySQL-Datenbank bezieht. In welchen Dateien müssen wir was einstellen, damit Courier weiss, dass es die Daten der Benutzer aus der MySQL-Datenbank beziehen soll?
Die Datenbank und die Tabellen für die Benutzer bestehen bereits, da wir VHCS als Verwaltungshilfe nutzen und da schon Tabellen angelegt wurden.


Tabelle mail_users:

mail_id | mail_acc | mail_pass | mail_forward | domain_id | mail_type | sub_id | status | mail_auto_respond

Eingetragen werden die Benutzer durch VHCS aber wir wissen nicht wie wir Courier so konfigurieren, dass es auch mit diesen Daten arbeitet. Wäre schön wenn uns da wer helfen könnte.

Wir würden es auch nett finden, wenn sich jmd. bereiterklärt und unter die Arme zu greifen und uns das evtl. einrichtet, denn wir haben alle bisher noch keine Erfahrungen mit Mailservern machen können (ausser, dass wir es nicht können) und da wäre uns jede Hilfe nützlich.

shootie
02.09.05, 08:41
www.syscp.de , dort findest du zumindest eine schöne anleitung um einen mailserver einzurichten.

AceTheFace
02.09.05, 09:49
http://workaround.org/articles/ispmail-sarge/

Gruß,
Ace

freq.9
02.09.05, 12:19
http://workaround.org/articles/ispmail-sarge/

Gruß,
Ace

Ja geil danke. Ich hatte schon ein anderes Tutorial gefunden, nur hatten die da Dateien verwendet die wir aufm Server garnicht haben. Bei dem Tutorial hab ich nun mal drüber geschaut und es scheint, als hätten wir all diese Dateien, die dort erwähnt werden.

Falls wir irgendwelche Probleme haben, werden ich mich hier melden ;)
Aber schonmal riesen grosses Dankeschön :)

freq.9
02.09.05, 13:09
So eine Frage hätte ich da schonmal. Bei den Konfigurationsdateien mysql_virtual_*.cf werden immer select_field und where_field angegeben. Wie kann ich diese zwei Sachen verstehen? Ich glaube kaum, dass ich diese so lassen muss, wie sie da sind.

// Edit:
Ah mom, das hängt von den Tabellen ab. Wir haben schon eine Tabellenstruktur von daher muss ich das ein wenig umdenken. ;)

freq.9
02.09.05, 13:53
Sagt mal ist das so richtig in der /etc/courier/authmysqlrc:


MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000

Überall werden die Spaltennamen angegeben, nur da werden aufmal die Werte o_O

AceTheFace
02.09.05, 14:01
Sagt mal ist das so richtig in der /etc/courier/authmysqlrc:


MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000

Überall werden die Spaltennamen angegeben, nur da werden aufmal die Werte o_O

Also ich hab' das auch so...und bei mir funktioniert alles einwandfrei. Was die Werte aber genau besagen weiss ich nicht. Es entspicht auf jeden Fall mal nicht der UID des Users mysql.

Gruß,
Ace

EDIT: Habe gerade nochmal ins Howto geschaut, da stehts ja. Das entspricht der UID/GID des Users vmail.

freq.9
02.09.05, 14:57
Öhm was mach ich denn hier gegen:


rhein:/etc/postfix# postfix check
postfix/postfix-script: warning: /var/spool/postfix/etc/passwd and /etc/passwd differ
postfix/postfix-script: warning: /var/spool/postfix/etc/sasldb2 and /etc/sasldb2 differ

Welchen CHMOD soll ich für die smtpd.(key|cert) nutzen? Der Befehlt

chmod o= /etc/postfix/smtpd.key
...ist mir recht unbekannt. Okay chmod kennsch aber nicht diesen Aufruf.

Was mache ich, wenn dies nicht funktioniert:

Run postfix reload to restart Postfix. Run telnet localhost 25 and enter EHLO anywhere.org. You should find a line reading 250-STARTTLS. Bingo - TLS is running.
Habe "EHLO rhein" gemacht, aber es müsste dann doch ne 220er Zeile kommen. Die kommt aber nicht.

AceTheFace
02.09.05, 15:08
Welchen CHMOD soll ich für die smtpd.(key|cert) nutzen? Der Befehlt

chmod o= /etc/postfix/smtpd.key
...ist mir recht unbekannt. Okay chmod kennsch aber nicht diesen Aufruf.

Das heisst einfach, dass "others" keinerlei Rechte haben.



Was mache ich, wenn dies nicht funktioniert:

Run postfix reload to restart Postfix. Run telnet localhost 25 and enter EHLO anywhere.org. You should find a line reading 250-STARTTLS. Bingo - TLS is running.
Habe "EHLO rhein" gemacht, aber es müsste dann doch ne 220er Zeile kommen. Die kommt aber nicht.

Du musst auch ne gültige Domain angeben. Nicht einfach nur "rhein".

Gruß,
Ace

AceTheFace
02.09.05, 15:13
Du musst auch ne gültige Domain angeben. Nicht einfach nur "rhein".

Gruß,
Ace

Ok, mein Fehler. Müsste auch mit EHLO rhein gehen. Habs gerade bei mir getestet.

Gruß,
Ace

freq.9
02.09.05, 15:23
Ok, mein Fehler. Müsste auch mit EHLO rhein gehen. Habs gerade bei mir getestet.

Gruß,
Ace

Ich kann da bisher noch keine FQDN angeben, da wir noch keine haben, von daher muss ich vorerst den Hostname bzw. die IP angeben.

freq.9
06.09.05, 08:10
Ich habe in meiner Error-Log /var/log/mail.err folgendes stehen:


Sep 5 22:55:28 localhost postfix/trivial-rewrite[2002]: fatal: mysql:/etc/postfix/mysql-virtual_forwardings.cf(0,100): table lookup problem

in meiner /etc/postfix/mysql-virtual_forwarding steht folgendes:


user = root
password = ******
dbname = vhcs
table = mail_users
select_field = mail_addr
where_field = mail_forward
hosts = 127.0.0.1

Hier mal was aussa Konsole:


rhein:/# /usr/local/Apache2/mysql/bin/mysql --user=root --password=****** --host=localhost
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2962 to server version: 4.0.25

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use vhcs;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> describe mail_users;
+-------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------+----------------+
| mail_id | int(10) unsigned | | PRI | NULL | auto_increment |
| mail_acc | varchar(200) | YES | | NULL | |
| mail_pass | varchar(150) | YES | | NULL | |
| mail_forward | text | YES | | NULL | |
| mail_addr | varchar(100) | YES | | NULL | |
| domain_id | int(10) unsigned | YES | | NULL | |
| mail_type | varchar(20) | YES | | NULL | |
| sub_id | int(10) unsigned | YES | | NULL | |
| status | varchar(255) | YES | | NULL | |
| mail_auto_respond | text | YES | | NULL | |
+-------------------+------------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)

Wobei ich mail_addr selbst hinzugefügt habe in der die komplette E-Mail Adresse steht: blabla@domain.tld


mysql> SELECT * FROM mail_users;
+---------+----------+-----------+--------------+-----------------+-----------+-------------+--------+--------+-------------------+
| mail_id | mail_acc | mail_pass | mail_forward | mail_addr | domain_id | mail_type | sub_id | status | mail_auto_respond |
+---------+----------+-----------+--------------+-----------------+-----------+-------------+--------+--------+-------------------+
| 1 | test | test | _no_ | test@xxxxxx.net | 3 | normal_mail | 0 | toadd | _no_ |
+---------+----------+-----------+--------------+-----------------+-----------+-------------+--------+--------+-------------------+


[...] (hatte hier nichts zu suchen :))

AceTheFace
06.09.05, 09:48
Was soll denn das mail_forward Feld? Davon wird doch in der Doku doch nichts geschrieben? Klar kannst du eigene Felder generieren, wenn du die für deine interne Verwaltung benötigst, aber dann solltest du diese nicht in der postfix-config referenzieren.

Meine sieht so aus:



user = mail_admin
password = *****
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1


Und bei dir passt das ja alles irgendwie gar nicht zusammen...Ich rate dir dringend dich zumindest grundlegend an das Tabellenlayout aus dem Howto zu halten.

Gruß,
Ace

freq.9
06.09.05, 10:47
Ich muss das vorhandene Tabellen-Layout nutzen, da wir ein Verwaltungstool (GUI) dafür haben und ich somit nicht das vorgegebene Tabellenlayout nutzen kann.

Was genau definieren "source" und "destination". Okay es sind Felder in der Tabelle aber was genau steht in ihnen? Grade weil "destination" als TEXT eingestellt ist-.

AceTheFace
06.09.05, 10:57
Ich muss das vorhandene Tabellen-Layout nutzen, da wir ein Verwaltungstool (GUI) dafür haben und ich somit nicht das vorgegebene Tabellenlayout nutzen kann.

na ob das so einfach hinhaut....Ich nehme mal an, dass er bei der zustellung in der forwardings-tabelle schaut ob für die zieladresse ein forward eingetragen ist (also die Abfrage ein Ergebnis >0) liefert. Bei dir steht ja etwas im Forward-Feld, wenn auch nur "no", aber für ihn ist das Text und somit versucht er denke ich mal das "no" als email-adresse zu interpretieren.....oder so :)



Was genau definieren "source" und "destination". Okay es sind Felder in der Tabelle aber was genau steht in ihnen? Grade weil "destination" als TEXT eingestellt ist-.

Source = Quelle. Welche Adresse soll umgeleitet werden.
Desination = Ziel. An welche Adresse(n) soll umgeleitet werden.

Gruß,
Ace

freq.9
06.09.05, 15:31
na ob das so einfach hinhaut....Ich nehme mal an, dass er bei der zustellung in der forwardings-tabelle schaut ob für die zieladresse ein forward eingetragen ist (also die Abfrage ein Ergebnis >0) liefert. Bei dir steht ja etwas im Forward-Feld, wenn auch nur "no", aber für ihn ist das Text und somit versucht er denke ich mal das "no" als email-adresse zu interpretieren.....oder so :)



Source = Quelle. Welche Adresse soll umgeleitet werden.
Desination = Ziel. An welche Adresse(n) soll umgeleitet werden.

Gruß,
Ace

Ja dann passt das doch :! mail_addr ist source und mail_forward sind die E-Mail Adressen an die geforwarded werden soll.

AceTheFace
06.09.05, 18:21
Ja dann passt das doch :! mail_addr ist source und mail_forward sind die E-Mail Adressen an die geforwarded werden soll.

Und was ist "_no_" für eine eMail-Adresse?

Gruß,
Ace

freq.9
07.09.05, 17:38
So unser Server läuft wieder. Da hat sich gestern dummerweise durch einen unvollständigen "kill" Befehl die Netzwerkverbindung verabschiedet :!

Also, dass mit dem _no_ muss ich nochmal schauen, das wird durch das VHCS eingetragen. Ich habe diese Tabellenstruktur sowieso schon ein wenig angepasst. Werd da dann also auch noch was machen, wegen dem _no_ aber das sollte doch nicht unbedingt das Problem sein, oder?

Die /var/run/mail.log sagt mir derzeit dies:

Sep 7 17:09:54 rhein postfix/trivial-rewrite[3882]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run$
Sep 7 17:09:54 rhein postfix/trivial-rewrite[3882]: fatal: mysql:/etc/postfix/mysql-virtual_forwardings.cf(0,100): table lookup problem
Sep 7 17:09:55 rhein postfix/smtpd[3866]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Sep 7 17:09:55 rhein postfix/smtpd[3866]: warning: problem talking to service rewrite: Success
Sep 7 17:09:55 rhein postfix/master[3490]: warning: process /usr/lib/postfix/trivial-rewrite pid 3882 exit status 1
Sep 7 17:09:55 rhein postfix/master[3490]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Sep 7 17:10:55 rhein postfix/smtpd[3866]: lost connection after MAIL from xxx.xxx.de[xxx.xxx.xxx.xxx]
Sep 7 17:10:55 rhein postfix/smtpd[3866]: disconnect from xxx.xxx.de[xxx.xxx.xxx.xxx]

Die xxx stehen (in den [...]) für eine IP von wo die E-Mail kam (smtp) bzw. (bei *.de) für die URL von wo die E-Mail kam.

Wobei mich das mit dem MySQL-Socket ein wenig irritiert denn:

rhein:~# ls -l /var/run/mysqld/
insgesamt 0
lrwxrwxrwx 1 root root 15 2005-09-07 17:10 mysqld.sock -> /tmp/mysql.sock

In der my.cf steht, dass der Socket bei /var/run/mysqld/mysqld.sock liegen soll, aber kA wieso er den dann nach /tmp/mysql.sock hinlegt. Von daher hab ich einen Softlink drauf gesetzt und bei anderen Programmen etc. hat das auch nicht die Probleme bereitet.
(in der mysqld_safe steht was von wegen, dass der Socket /tmp/mysql.sock ist)

AceTheFace
07.09.05, 18:53
Also, dass mit dem _no_ muss ich nochmal schauen, das wird durch das VHCS eingetragen. Ich habe diese Tabellenstruktur sowieso schon ein wenig angepasst. Werd da dann also auch noch was machen, wegen dem _no_ aber das sollte doch nicht unbedingt das Problem sein, oder?


Ich hab' dir meine Theorie zur Funtkionsweise mit den Forwards ja schon weiter oben erläutert. Und postfix meckert ja immer noch an deiner "mysql-virtual_forwardings.cf" rum. Von daher...

Gruß,
Ace

freq.9
07.09.05, 23:29
Ja scheinbar weil ich localhost anstatt von 127.0.0.1 als Host angegeben hatte in den ganzen *.cf´s...

Und was ist nun?

Sep 7 23:26:06 rhein postfix/postfix-script: starting the Postfix mail system
Sep 7 23:26:06 rhein postfix/master[4687]: daemon started -- version 2.1.5
Sep 7 23:26:06 rhein postfix/pickup[4688]: 10DE92D836E: uid=0 from=<root>
Sep 7 23:26:06 rhein postfix/cleanup[4690]: warning: connect #1 to subsystem private/rewrite: Connection refused
Sep 7 23:26:16 rhein postfix/cleanup[4690]: warning: connect #2 to subsystem private/rewrite: Connection refused
Sep 7 23:26:26 rhein postfix/cleanup[4690]: warning: connect #3 to subsystem private/rewrite: Connection refused
Sep 7 23:26:36 rhein postfix/cleanup[4690]: warning: connect #4 to subsystem private/rewrite: Connection refused
Sep 7 23:26:46 rhein postfix/cleanup[4690]: warning: connect #5 to subsystem private/rewrite: Connection refused
Sep 7 23:26:56 rhein postfix/cleanup[4690]: warning: connect #6 to subsystem private/rewrite: Connection refused
Sep 7 23:27:06 rhein postfix/cleanup[4690]: warning: connect #7 to subsystem private/rewrite: Connection refused
Sep 7 23:27:16 rhein postfix/cleanup[4690]: warning: connect #8 to subsystem private/rewrite: Connection refused
Sep 7 23:27:26 rhein postfix/cleanup[4690]: warning: connect #9 to subsystem private/rewrite: Connection refused
Sep 7 23:27:36 rhein postfix/cleanup[4690]: warning: connect #10 to subsystem private/rewrite: Connection refused
Sep 7 23:27:46 rhein postfix/cleanup[4690]: fatal: connect #11 to subsystem private/rewrite: Connection refused
Sep 7 23:27:47 rhein postfix/pickup[4688]: warning: premature end-of-input on public/cleanup socket while reading input attribute name
Sep 7 23:27:47 rhein postfix/pickup[4688]: warning: maildrop/3F43B2D8356: Error writing message file
Sep 7 23:27:47 rhein postfix/master[4687]: warning: process /usr/lib/postfix/cleanup pid 4690 exit status 1
Sep 7 23:27:47 rhein postfix/master[4687]: warning: /usr/lib/postfix/cleanup: bad command startup -- throttling
Sep 7 23:27:47 rhein postfix/pickup[4688]: 186FD2D836E: uid=0 from=<root>
Sep 7 23:27:47 rhein postfix/cleanup[4694]: warning: connect #1 to subsystem private/rewrite: Connection refused

netzmeister
07.09.05, 23:31
Hallo,

hier im Forum finden sich einige Anleitungen: http://www.linuxforen.de/forums/showthread.php?t=169531

Warum das Rad zwei mal erfinden?

Viele Grüße

Eicke

freq.9
07.09.05, 23:47
Hallo,

hier im Forum finden sich einige Anleitungen: http://www.linuxforen.de/forums/showthread.php?t=169531

Warum das Rad zwei mal erfinden?

Viele Grüße

Eicke

Ich bin nach dem Howto http://workaround.org/articles/ispmail-sarge/ gegangen nur halt mit anderer Tabellenstruktur und es geht bisher ja nicht und da steht auch nichts zu irgendwelchen Fehlern, wieso die kommen.

AceTheFace
07.09.05, 23:53
Ich bin nach dem Howto http://workaround.org/articles/ispmail-sarge/ gegangen nur halt mit anderer Tabellenstruktur und es geht bisher ja nicht und da steht auch nichts zu irgendwelchen Fehlern, wieso die kommen.

Geh doch erstmal strikt nach dem Howto vor. Und wenn das System an sich mal läuft kannst du ja versuchen auf dein Ziel-DB-Layout umzustellen. Eins nach dem anderen. Dann weiss man auch woher die Fehler kommen.

Gruß,
Ace

netzmeister
07.09.05, 23:57
Hallo,

an dem Howto habe ich quasi ein wenig durch mein Feedback mitgearbeitet.
Siehe Fußnoten bzw. Danksagungen ;)

Das funktioniert so auch einwandfrei. Gehe wirklich zunächst exakt nach Anleitung vor.

Viele Grüße

Eicke

freq.9
08.09.05, 00:21
Hallo,

an dem Howto habe ich quasi ein wenig durch mein Feedback mitgearbeitet.
Siehe Fußnoten bzw. Danksagungen ;)

Das funktioniert so auch einwandfrei. Gehe wirklich zunächst exakt nach Anleitung vor.

Viele Grüße

Eicke

Ich kann aufgrund der anderen Tabellenstruktur nicht genau nach diesem HotTo gehen.

Offtopic:
Heute bei der PHP-UG OWL haben wir noch über den Namen "Eicke" diskutiert und nun Hilft mir ein "Eicke". Zufall!?

// Edit:
Wieso gibts das denn nun auf deutsch? Wieso les ich mir eigentlich immer die englische Version durch o_O

freq.9
08.09.05, 12:17
Also bis Schritt 9 hat hat alles wie beschrieben geklappt. Wenn ich nun folgendes mache:


rhein:/etc/postfix# telnet localhost 25
Trying 127.0.0.1...
Connected to rhein.local.
Escape character is '^]'.
220 rhein ESMTP Postfix
ehlo rhein
250-rhein
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME

ist ja noch alles ganz okay, aber wenn ich dann


mail from:<foo@bar.de>

eingebe bekomme ich keine Rückmeldung vom Server. nach dem HowTo sollte ich aber ein "250 Ok" bekommen.

// Edit:
/var/log/mail.log sagt:

Sep 8 12:16:07 rhein postfix/cleanup[8956]: fatal: connect #11 to subsystem private/rewrite: Connection refused
Sep 8 12:16:08 rhein postfix/pickup[8894]: warning: premature end-of-input on public/cleanup socket while reading input attribute name
Sep 8 12:16:08 rhein postfix/pickup[8894]: warning: maildrop/3F43B2D8356: Error writing message file
Sep 8 12:16:08 rhein postfix/master[8737]: warning: process /usr/lib/postfix/cleanup pid 8956 exit status 1
Sep 8 12:16:08 rhein postfix/master[8737]: warning: /usr/lib/postfix/cleanup: bad command startup -- throttling
Sep 8 12:16:08 rhein postfix/pickup[8894]: 2BDA42D818B: uid=0 from=<root>
Sep 8 12:16:08 rhein postfix/cleanup[8965]: warning: connect #1 to subsystem private/rewrite: Connection refused
Sep 8 12:16:18 rhein postfix/cleanup[8965]: warning: connect #2 to subsystem private/rewrite: Connection refused
Sep 8 12:16:28 rhein postfix/cleanup[8965]: warning: connect #3 to subsystem private/rewrite: Connection refused
Sep 8 12:16:38 rhein postfix/cleanup[8965]: warning: connect #4 to subsystem private/rewrite: Connection refused
Sep 8 12:16:48 rhein postfix/cleanup[8965]: warning: connect #5 to subsystem private/rewrite: Connection refused
Sep 8 12:16:58 rhein postfix/cleanup[8965]: warning: connect #6 to subsystem private/rewrite: Connection refused
Sep 8 12:17:08 rhein postfix/cleanup[8965]: warning: connect #7 to subsystem private/rewrite: Connection refused

freq.9
08.09.05, 22:08
keiner ne Ahnung? :!