PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : anfänger needs help - mailserver postfix



njub
12.03.03, 11:28
hi
ertsmal eine kurze einleitung, bin ziemlicher neuling was linux betrifft.
wir planen in der firma eine umstellung auf linux server (suse 8.0 pro)...
im moment bin ich dabei den mailserver zu installieren/konfigurieren.
weils praktisch ist und schnell gehen soll, nimmt man sich als anfänger da gerne tutorials zur hilfe...
Postfix-Cyrus-Web-cyradm-HOWTO (http://www.tldp.org/HOWTO/Postfix-Cyrus-Web-cyradm-HOWTO/install.html) <- nach diesem tutorial versuch ichs im moment (hoffe man darf hier links posten.
nach anfänglichen schwierigkeiten bin ich im moment bei punkt 3.5.3 angelangt.
buidling and installing postfix...
also um genau zu sein bin ich bis:

make makefiles 'CCARGS=-DHAS_MYSQL \
-I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH \
-I/usr/local/include/sasl' 'AUXLIBS=-L/usr/local/mysql/lib/mysql \
-lmysqlclient -lz -lm -L/usr/local/lib -lsasl2'

ohne fehler gekommen, nur dann beim make befehl und beim darauf folgenden make install befehl kommt mir folgende fehler meldung und er bricht ab:

[src|util]
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include/mysql -
DUSE_SASL_AUTH -I/usr/local/include/sasl -DHAS_PCRE -g -O -I. -DLINUX2 -c dict_mysql.c
dict_mysql.c:76: mysql.h: No such file or directory
make: *** [dict_mysql.o] Error 1
make: *** [update] Error 1

imho irgendwo eine falsche pfadangabe, aber bevor ich jetzt wild rumprobiere frag ich mal lieber nach, hoffe es kann mir jemand helfen.

mfg njub

steve-bracket
12.03.03, 11:43
Als MTA verwendest du Postfix, als IMAP Cyrus.
Wo sollen die User abgelegt, bzw wie soll authentifiziert werden. Standard beim Cyrus ist sasldb.
Bei SuSE 8 nur die Pakete über Yast installieren. Mehr benötigst du nicht.


fG Steve

njub
12.03.03, 12:21
so wie ichs verstanden hab werden user über mysql authentifiziert...
ich werds auf einem rechner mal weiter nach dem tutorial versuchen und auf einem anderen alles direkt über yast installieren.

steve-bracket
12.03.03, 12:59
Standard:
Postfix authentifiziert keine User (da MTA) , es werden nur erlaubte Domains akzeptiert.
Cyrus authentifiziert über die Sasldb (saslpasswd).
Das heißt es müssen keine LinuxUser angelegt werden. Die Mailuser werden unabhängig von den Linuxusern behandelt.
Das Verwaltungstool für Cyrus nennt sich "cyradm".
Ist ein Kommandozeilenprogramm. Nix graphisch.
Suche mal unter den ersten beiden Rubriken in diesem Forum nach einem Cyrus HowTo.
Gibt schon ein sehr gutes HowTo.

Falls du eine zentrale Userdatenbank anlegen willst würde ich LDAP vorschlagen.
Natürlich ist MySQL auch eine Lösung
Ist aber nicht trivial sondern erfordert Linux-Kompetenz.

fG Steve

Jasper
12.03.03, 13:08
Original geschrieben von steve-bracket
Standard:
Postfix authentifiziert keine User (da MTA) , es werden nur erlaubte Domains akzeptiert.


nun, postfix KANN user authentifizieren, per smtp-auth.

-j

steve-bracket
12.03.03, 20:41
Hallo Jasper

Ich weiß, dass Postfix auch User authentifizieren kann, bin aber der verständnissheitshalber nicht davon ausgegangen.

Am einfachsten ist ja noch immer das man die Systemuser und deren Mailkonten verwendet. ZB mit einem POP3 Dienst wie qpopper.

Schwieriger wird es dann schon mittels IMAP ZB Cyrus
Und dann die User-Auth mittles Postfix, die ist bestimmt nicht trivial.
Ausserdem ist der Verfasser dieses Threads wie er selbst schreibt noch neu auf dem Gebiet.

Falls ich wieder Willen jemandem falsche Hinweise gegeben haben sollte so soll mir der Himmel auf den Kopf fallen.;)

fG Steve

Olli
12.03.03, 21:10
Ich komme mal zum Thema zurück:

> cc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include/mysql -
> DUSE_SASL_AUTH -I/usr/local/include/sasl -DHAS_PCRE -g -O -I. -DLINUX2 -c dict_mysql.c
> dict_mysql.c:76: mysql.h: No such file or directory
> make: *** [dict_mysql.o] Error 1
> make: *** [update] Error 1

Leider hast du keine Angaben über deien Linux-Disti gemacht. Möglicherweise liegen die mysql-Header im Verzeichnis /usr/include/mysql, so dass du -DHAS_MYSQL -I/usr/include/mysql verwenden musst. Wenn du dir nicht sicher bist, suche nach der Datei: find / -name mysql.h
Das gleich gilt übrigens auch mit SASL. Bei mir liegen die Headerdateien unter /usr/incude/sasl2

Oliver

Olli
12.03.03, 21:12
Oh da stand ja doch die Distri ... Augen muss man haben.
Nun ja, ich habe auch gerade ein Cyrus/Postfix/Mysql Server fertig gestellt. Bisher läufts "jut"...


Oliver

steve-bracket
12.03.03, 21:45
@Olli

Damit ich dass richtig verstehe.
Du verwendest Postfix der wiederum die Userdaten aus einer MySQL Table holt.
Und woher kriegt Cyrus seine UserDaten.
Verstehe ich da jetzt was falsch ???? (postfix, cyrus, UND mysql ist mir nicht so geläufig)

Vielleicht kannst mich ja mal kurz aufklären.

fG Steve

Olli
13.03.03, 06:58
@steve
Nun ja, Cyrus prüft Nutzer gegen Mysql nicht direkt ab. Er verwendet PAM (genauer gesagt pam_mysql.so). Das funktioniert ganz gut.

> Vielleicht kannst mich ja mal kurz aufklären.
Was genau willste denn wissen?

Oliver

njub
13.03.03, 09:08
so, danke erstmal für die vielen antworten!
das prob hatte sich eigentlich halb erledigt, die pfadangaben hab ich rausgefunden, hatte aber dann doch noch irgendwas gefehlt. werd dieses howto erstmal knicken, ist für den einstieg einfach zu umfangreich.
mfg njub

steve-bracket
13.03.03, 09:27
@Olli

Naja, Postfix ist ja der MTA. Die Konten liegen und werden ja von Cyrus bereitgestellt, und an dem muss sich ja der User authentifizieren.
Holt sich der IMAP die User auch aus einer SQL Table ????

BSP:
Mail an xyz@xyz -> Postfix empfängt von anderem MTA, schickt an Cyrus weiter -> Cyrus empfängt von Postfix -> User AUTH sich mittels Kennung und Passwort an Cyrus da dort seine E-Mails liegen.

Wo passt da eine Auth. durch den MTA rein ??
Sinn ??
Ich würde verstehen wenn sich Cyrus die Userdaten aus einer SQL Table AUTH holen würde?
Aber der MTA.???

Danke für die Antwort,


Gruß
Steve

Vielleicht geht mir ja bald ein Licht auf;)

Olli
13.03.03, 10:02
> Naja, Postfix ist ja der MTA. Die Konten liegen und werden ja von Cyrus bereitgestellt, und an dem muss
> sich ja der User authentifizieren. Holt sich der IMAP die User auch aus einer SQL Table ????

Nicht direkt. Du muss die einzelnen Benutzer (besser: die Mailboxen dieser) direkt mit Cyrus anlegen. Wenn nun ein Nutzer via IMAP darauf zugreigen will, übergibt dieser seinen Usernamen und dass Password. Cyrus übergibt diese an den saslauthd und dieser wiederum fragt via PAM (als Schnittstelle zur Datenbank) bei Mysql nach, ob der Benutzer existiert und sein Passwort korrekt ist. Ist es korrekt, hat er zugriff auf die Mailbox.

> Wo passt da eine Auth. durch den MTA rein ?? Sinn ??
> Ich würde verstehen wenn sich Cyrus die Userdaten aus einer SQL Table AUTH holen würde?
> Aber der MTA.???
Der MTA ist ja auch dafür nicht zuständig. Die Mysql-Unterstützung für POSTFIX ist meines Erachtens ausschliesslich für die Umsetzung von Adressen verwendbar. Also klaus -> klaus.meier@domain.de oder umgekehrt.

> Vielleicht geht mir ja bald ein Licht auf
Da bin ich mir sicher. Ich habe auch einen Menge Zeit (=Howtos) gebraucht und bin immer noch nicht ganz zufrieden. Aber es läuft. (Allerdings habe ich nicht das Web-cyradm in Gebrauch. Habe ein eigenes (sekretärinnengeeignetes) Interface in Gebrauch, dass gleich noch die Samba-Verwaltung mitmacht.)

Wenn weitere Problem(ch)e(n) auftreten, kann ich auch ein paar Configs posten oder die per Mail senden.

Oliver

steve-bracket
13.03.03, 11:09
AHA

Das heißt es greift nicht der MTA zur UserAuth auf die TAble zu sondern der IMAP.
cyrus fragt sasl, diese behandelt die Anfrage (mit PAM als Zugriffsmodul) und fragt die TAble ab.
Eine SQL Anbindung an Postfix ist demnach nur dann sinnvoll wenn man Adressen umschreiben/maskieren muss.

OK

Die Samba AUTH läuft demnach auch über die SQL-DB.
Eigentlich eine sehr gute Alternative zur zentralen Userverwaltung. (zu LDAP)
Danke für die ausführliche Antwort.

Leider bin ich momentan in einer Krise und weiß nicht so recht wie ich meine zentrale Userverwaltung aufbauen soll.
Zurzeit ist alles noch ziemlich zerstreut. (passwd, smbpasswd für samba, saslpasswd für IMAP, passwd für FTP usw usw)

Wenn ich mich entschieden hab (leider liegt die Entscheidung nicht bei mit alleine) muss ich voraussichtlich eh noch mal eine Thread eröffnen falls es gröbere Probleme gibt.

Schönen Tag noch
fG Steve

Olli
13.03.03, 11:55
>Die Samba AUTH läuft demnach auch über die SQL-DB.
> Eigentlich eine sehr gute Alternative zur zentralen Userverwaltung. (zu LDAP)
> Danke für die ausführliche Antwort.

Nein. Leider nicht. Samba braucht (LEIDER) immer noch Unix-Account. Zumindest habe ichs nocht nicht ohne hinbekommen. Aber vielleicht gehts ja doch...

Oliver

njub
14.03.03, 12:37
so, meine wenigkeit mal wieder...
möcht nicht extra einen neuen thread aufmachen, daher hier weiter.

mittlerlerweile hab ich das gefühl ich dreh mich im kreis und komm nicht weiter :( .
ich wollte jetzt erstmal mit hilfe einiger infos aus dem net und howtos einen einfachen mailserver aufsetzen.
postfix hab ich konfiguriert, cyrus hab ich auch konfiguriert, mit dem cyradm hab ich user angelegt...
soweit läuft eigentlich alles, hab ein kleines test netzwerk aufgebaut, welches das zukünftige meiner firma simulieren soll.

internet kommt über router, der ist an einem switch, weiters am switch 3 rechner...
einer ist für den webserver gedacht (läuft soweit, dh ich komm schon auf die testhp),
einer ist für mail und dns... dns sollte alles passen,
einer als firewall mit 2 netwerkkarten, die zweite fürs interne netzwerk, das simuliert im moment ein notepad.

also zum eigentlichen thema zurück...
mailserver, postfix konfiguriert, mit infos aus einem howto aus diesem forum und von linux-tin.org und was man sich zusätzlich infos erlesen kann.
nach dem howto sollte diese konfi schon reichen um eine testmail abzuschicken, soweit scheint auch alles zu funktionieren, nur die mail kommt nie an.
cyrus konfiguriert, user angelegt...
scheint auch zu klappen, am notepad hab das konto für einen testuser eingerichtet, ich kann zwar den mailserver abrufen, kann aber keine mails versenden.

wie gesagt, bin noch ziemlicher linux anfänger, vielleicht hab ich ja was grundlegendes übersehen, wie siehts mit procmail als mda aus? die rcprocmail, wo muß ich die erstellen und ist die nötig oder filtert die nur bestimmte mails weg?

fetchmail? wenn ich die mails nur in meinem kleinen netz verschicken will, brauch ichs jetzt wohl nicht...

mfg njub

Olli
14.03.03, 13:01
Spärliche INfos...
mach ein eine weiter Console auf und als root tail -f /var/log/mail/info (Möglicherweise können ide Pfade beie SuSe abweichen) und versuche dann eine Mail zus schicken. Auf jeden Fall sollen dann die Dinge die da passieren geloggt werden. Vielleicht wirst du schon daraus schlau, ansonsten hier mal die ausgabe posten.

Interessant sind sicher auch die anderen Dateien in /var/log/mail/ .

Oliver

njub
14.03.03, 13:28
ok, danke erstmal!
werd jetzt erstmal versuchen anhand der logs was rauszufinden...
ansonsten meld ich mich wieder mit mehr details
mfg njub

njub
19.03.03, 10:21
hi
nachdem ich zwischenzeitlich den dns umkonfiguriert habe stehe ich jetzt wieder beim mailserver prob.
folgenden fehler zeigt mir die /log/mail an...

temporary failure. command output: couldn't connect to lmtpd: invalid argument_ 421 4.3.0 deliver: couldn't connect to lmtpd_

kann damit ehrlich gesagt im moment wenig anfangen, habt ihr vielleicht ein paar tips für mich oder vorschläge?

mfg njub

Jasper
19.03.03, 10:25
Original geschrieben von njub
temporary failure. command output: couldn't connect to lmtpd: invalid argument_ 421 4.3.0 deliver: couldn't connect to lmtpd_

kann damit ehrlich gesagt im moment wenig anfangen, habt ihr vielleicht ein paar tips für mich oder vorschläge?


postfix bekommt keine verbindung zum lmtpd, vermutlich ist der pfad zum socket des lmtpd falsch (auf beiden seiten (postfix/cyrus) kontrollieren), die berechtigungen stimmen nicht oder der lmtpd von cyrus läuft einfach nicht.

-j

Olli
19.03.03, 12:25
Wie sieht den die master.cf auf? Speziell die 2 Zeilen in denen die Parameter für den Cyrus-deliver Befehl festgelegt sind?

Oliver

njub
19.03.03, 14:38
läuft jetzt ohne fehlermeldung...

nehme an du meinst die beiden zeilen...

flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}

flags=R user=cyrus argv=/usr/bin/procmail -t -m USER=${user} EXT={extension} /etc/procmailrc

aber wie gesagt, er zeigt jetzt keine fehlermeldung mehr an...
ergebnis:
der testuser kann jetzt die mails empfangen, aber noch immer nichts wegschicken.

mfg njub

Olli
19.03.03, 15:59
Nun zumindest scheint dann Cyrus zu laufen. POste doch mal die Meldungen der /var/log/mail/info. Auf den "blauen Diunst" hin kann man wirklich wenig dazu sagen. :)

Olli

njub
20.03.03, 08:14
hi und morgen.
ist mir schon klar, bin zeitweise etwas ungenau. trotzdem thx für eure geduld.
werd jetzt erstmal cyrus nochmal durcharbeiten, falls dann noch immer keine änderung eintritt schilder ichs genauer.
mfg njub

njub
20.03.03, 09:29
okok...
dann werd ich mal nochmal alles erklären was ich vorhabe und wie weit ich bis jetzt bin.
hab jetzt eigentlich nur die angelegten user im cyradm gecheckt, die sollten aber auch passen.

werd jetzt nochmal mein szenario durchgehen:
ich hab jetzt 5 rechner bei mir stehen...
ich verwende suse 8.0 pro
'extern' stehen 3 rechner und router, wir haben eine angemeldete domain mit fixen ip's.
ein rechner stellt den webserver dar...
apache läuft eigentlich soweit, www.domain.name

ein rechner übernimmt die aufgabe von DNS und ist auch der Mailserver...
DNS läuft, später dazu mehr... mail.domain.name

ein weiterer rechner übernimmt die aufgabe der firewall mit 2 netzwerkkarten, masquerading fürs interne (simuliert durch ein laptop) läuft.

die drei sind an einem switch, an dem auch der router hängt.
das laptop, auf dem win2000 mit outlook und/oder netscape läuft ist an der firewall angeschlossen (also simuliert es das interne, mit einer 192.168.0.xx ip).

der DNS und die firewall laufen bereits, ich kann mich mittels laptop ins inet einwählen und mit dem fünften rechner, der nicht direkt angeschlossen ist komm ich über inet auch an die drei rechner (also testhp des www und pings lookups laufen).

so, jetzt war geplant erstmal den Mailserver soweit zum laufen zu bringen, damit ich intern, also Laptop mails empfangen und versenden kann. also postfix installiert und konfigueriert, mittels 'telnet localhost 25' konnte ich vom Mailserver sowohl auf eine externe gmx adresse als auch auf ein testkonto am laptop emails schicken.

über cyradm hab ich 3 user (mailboxes) angelegt, einen für den mailserver um eben zu testen und 2 fürs interne (laptop).

so, also wenn ich zB jetzt vom laptop aus, eine rhaltene email vom mailserver beantworten will funktionierts nicht. vom gmx konto aus kann ich auch nichts beantworten, aber das sollte, so wie ichs verstanden habe, nur mit fetchmail funktionieren.

bei der canonical datei...
habe die internen adressen und externen angelegt und in die db umgewandelt.

also hab ich bei der postfix konfiguration nur 2 files angefaßt, die main.cf und canonical.

vielleicht liegts ja am verdammten outlook, aber bei netscape hatte ich das gleiche ergebnis, liegts an rechten?

muß man zB noch die access, relocated und transport datei bearbeiten? wie gesagt, nachdem das alles für mich neu ist, arbeite ich noch hand in hand mit infos aus dem inet und howtos.

in der /var/log/mail sieht eigentlich alles ok aus. also nachdem ich über telnet die email versandt habe....

postfix/smtpd[1445]: connect from localhost[... ]
postfix/smtpd[1445]: xxx....: client=localhost[xxx...]
postfix/cleanup[1446]: xxxxx...: message-id=<xxxxxx..........@mail.domain.name>
postfix/qmgr[1207]: xxx.....: from=<mailuser@domain.name>, size=410, nrcpt=1 (queue active)
postfix/lmtp[1449]: xxx......: to=<testuser@domain.name>, relay=/var/spool/postfix/lmtp[/var/spool/postfix/lmtp], delay=41, status=sent (xxx x.x.x ok)

wenn ich auf eine konfiguration genauer eingehen soll, bitte sagen, dann poste ich mehr details, nur nicht unbedingt einfach für mich den überblick zu behalten und zu wissen was tragend ist. hoffe auf antworten und vielen dank für die bisherigen antworten!
mfg njub

njub
20.03.03, 13:44
bei netscape kommt die meldung...

der server ist möglicherweise nicht verfügbar oder weist smtp verbindungen zurück.

in der postfix/main.cf hab ich mit mynetworks und mynetworks_style rumprobiert, daran kanns nicht liegen.

der eintrag für mailbox_transport war ursprünglich auf cyrus eingestellt, aber nachdem ich die fehlermeldungen im log mit lmtp hatte, hab ich über google gesucht und es auf lmtp:unix:/var/spool/postfix/lmtp geändert. dadurch trat auch der logfehler nicht mehr auf.
dann laut howto hab ich default_transport auf smtp eingetragen...
kanns daran liegen...

mfg njub