Installation serveur Postfix

Bonjour j’ai suivi ce tuto :
Postfix, Courier Imap & Pop, MySQL et Quota avec filtre AntiSpam et antivirus sous Debian
A la fin du tuto on essaye d’envoyer un mail en ligne de commande :

~$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 smtp.domain.priv ESMTP (Debian/GNU)
<b>ehlo domain.priv</b>
250-smtp.domain.priv
250-PIPELINING
250-SIZE 10240000
250-ETRN
250 8BITMIME
mail from: <test@domain.priv>
250 Ok
rcpt to: <user@domain.priv>
250 Ok
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
Voici le premier mail de test.
.
250 Ok: queued as 8ECC524208
quit
221 Bye
Connection closed by foreign host.

Sauf que moi il s’arrête la :

[code]

~$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

Je pense qu’il ne trouve pas de serveur SMTP pourtant j’en ai installé un, comment le vérifier, lequel me conseillerez-vous ?

Le tuto est trés bien, et tu peux le complèter avec:
fatofthelan.com/articles/articles.php?pid=22

Sinon, pour voir ce qui écoute et ou:
netstat -tupl.

Mais normalement, il faut faire des verif avant d’être arrivé à la fin du tuto (mais c’est vrai qu’il faut connaitre pour savoir quoi tester). Ca va être dûr de trouver ce qui bloque dans une telle chaine d’intègration.

serveur@serveur:~$ sudo netstat -tupl
[sudo] password for serveur:
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name   
tcp        0      0 localhost:mysql         *:*                     LISTEN     4719/mysqld         
tcp        0      0 *:www                   *:*                     LISTEN     5449/apache2        
tcp        0      0 localhost:ipp           *:*                     LISTEN     4595/cupsd          
tcp        0      0 *:smtp                  *:*                     LISTEN     5090/master         
tcp6       0      0 *:pop3                  *:*                     LISTEN     4948/couriertcpd    
tcp6       0      0 *:imap2                 *:*                     LISTEN     4923/couriertcpd    
udp        0      0 *:32768                 *:*                                5256/avahi-daemon:  
udp        0      0 *:bootpc                *:*                                5443/dhclient       
udp        0      0 *:mdns                  *:*                                5256/avahi-daemon:  
serveur@serveur:~$ 

Il y a pourtant bien un smtp …

HS: Je note que ton mysql ecoute l’exterieur, et il vaut mieux restreindre à localhost, si ce n’est pas une obligation.

Sinon, pas d’idée comme ça par ou commencer.

Il va falloir peut être que tu donnes les fichiers que tu as modifiés.

Que disent les logs ?

J’attaque la base MySQL avec MySQL Navigator depuis mon autre PC et à travers le Net quand je suis en … vacances !

Je pars d’une installation toute fraiche, seul les fichiers du tuto ont été ajoutés/modifiés à noter que dans le dossier /etc/postfix je n’avais pas de fichier main.cf

J’ai recopié de façon un peut bête et méchante le tuto à savoir que j’ai laissé les nom de domaines en “.priv” me disant que c’était juste pour les tests, mais est-ce qu’il ne faut pas que j’utilise le vrai nom de domaine qui a les mx qui pointe sur ce serveur ?

Ca ne devrait pas gèner pour la connection au port ton histoire de nom.
Sinon, ce que tu dis à propos de l’absence de main.cf m’étonne énormément. Normalement, si je ne me trompe pas, le main.cf doit contenir la même chose que /usr/share/postfix/main.cf.dist (peut être ajusté par le dpkg-configure), et le master.cf est initialement /usr/share/postfix/master.cf.dist.
Tu peux voir ce que le postinstall du paquet postfix fait dans /usr/share/postfix/postinst.functions.

Mais que disent les logs ?

J’ais du faire une connerie avec /var/log/mail.log, comme il contenait plein d’erreurs et que je ne savais plus si c’était du aux modifs ou à l’installation, je l’ai supprimé, pensant qu’en refaisant le telnet il allait me le recréer, mais non il n’ajoute plus rien dans le log.
Quels autres logs je devrais regarder ?

si je fais :

# locate main.cf
/etc/postfix/main.cf
/usr/share/postfix/main.cf.dist
/usr/share/postfix/main.cf.debian
/usr/share/postfix/main.cf.tls

dans etc c’est celui que j’ai fait.

les logs, j’en sais rien, daemon, syslog, messages ?
maintenant, le main.cf, tu devrais reprendre le .dist, et y intègrer les modifications que tu vois par rapport à celui qui t’est donné dans le tuto.
Pareil, je ne me souviens plus si le tuto touche à main.cf, mais il faut que tu en aies un.

dans syslog j’ais ça, que j’vais déjà vu dans mail.log

Nov 15 18:45:18 serveur postfix/smtpd[13626]: fatal: open database /etc/aliases.db: No such file or directory

pourquoi cherche-t-il la base de donnée aliases en tant que fichier ? Et pourquoi dan /etc/ ?

Fais

postalias /etc/aliases

(ta base n’a pas été fabriquée)

Tu es un génie !
Les tutos pour installer un serveur postfix sont bourrés de problèmes de ce genre, promis dès que mon installation fonctionne j’essaierais d’en faire un :wink:

En fait postfix peut prendre la valeur d’à peu prés tous ses paramètres (tous ce qui peut être contenu dans un hachage ?) dans des tables, par exemple, alias_maps, mais aussi et surtout toute la gestion des domaines virtuels comme virtual_alias_maps, virtual_alias_domains, etc…
Ces tables elles mêmes, et c’est ça qui est cool, peuvent être prises dans un hachage (le alias.db basé sur le fichier alias en texte pur), mais surtout, dans une base de données (sql, ldap, etc). Le hachage a l’avantage de pouvoir être mis en oeuvre rapidement, mais il a l’inconvénient que quand on fait une modif au fichier texte, il faut regénèrer le .db, puis reloader postfix (postalias fait les deux en même temps). Si tu veux pouvoir modifier des paramètres de postfix en temps réel, tu peux par contre simplement créer une table sql, faire un fichier d’interface entre postfix et ta table dans un .cf, (faire la correspondance des champs entre ceux de postfix et ceux de la table et fournir les paramètres de connection à la base), puis dire à postfix de prendre ses valeurs dans la table en suivant le .cf .
Aprés, tu fais tes configurations de, mettons, tes domaines virtuels, en utilisant phpPgAdmin ou phpMyAdmin. Ou même tes propres scripts php de gestion de tes tables.
Ah autre truc à noter, Postfix peut fusionner les tables venues de plusieurs sources, par exemple, les alias d’une table de hachage en dur (typiquement les alias root de base), avec une autre table alias pris dans un sql (ou tu gères les alias utilisateurs), et même par exemple chez moi, une autre table d’alias, automatiquement gèrée par mailman (gestionnaire de ML).

Un autre truc: on peut configurer un paramètre de postfix “à chaud” (rajouter une source, par exemple), avec postconf sans redémarrer le serveur, et rendre ça permanent (= modifier sans l’ouvrir le main.cf), avec postconf -e.

postfix, c’est simple et puissant. :smt023

Hum, il faudra que je m’y pette, pour le moment j’exim…

Moi pour regénerer le db, je faisais newaliases…

Quel est la différence avec postalias?

newaliases est une commande de sendmail, et quand on utilise postfix, ça renvoie juste vers postalias. C’est pour la compatibilité avec les outils basés sur sendmail (la plupart des systêmes de mail respectent la syntaxe sendmail pour ça).

humm ok merci pour cette précision :wink:

salut debianhadic, c’est fait? Ou c’est toujours prévu?

Non ça ne marche pas, j’en ai marre de modifier cinquante fichier textes en mettant des flag à 0 ou 1 partout sans savoir pourquoi !
Pour l’instand j’ai l’impression que je peux envoyer des mails mais rien n’arrive, et depuis un autre PC du réseau local je n’arrive pas à utiliser le smtp …
De rage j’ai même installé un Ubuntu à la place de la Debian … Mais je suis arrivé au même point :slightly_smiling:
J’trouve quand même bizarre qu’il n’y ai pas un paquet de serveur de courrier avec admin graphique pour faire le minimum, qu’après on puisse modifier plein de trucs pour faire une configuration au top je veux bien, mais qu’il faille attendre des heures avant d’arriver à recevoir un mail et le recevoir c’est usant ! même sous Windows j’avais installer un serveur POP fonctionnel en 10 minutes (argosoft mail je crois si ça intéresse)

J’ai répondu à ta question ? :slightly_smiling:)

ben reste sous exim, si postfix est trop dur pour toi. Il y a des outils graphiques, je crois, et aussi un paquet eximconf ou exiconf, me semble t il. De toutes façons, la config pour l’envoi est déjà suffisante dés l’install si tu connais ton relayhost ou si tu n’en as pas besoin.

Maintenant, arrètes de t’énerver juste parceque malgré ton excellente comprehension de ce que tu fais, tu te refuses à considèrer comme naturelle l’édition de fichier: tu te mets à dire des bêtises en confondant le smtp avec le pop qui n’a rien à voir avec postfix et qui peut s’installer et se configurer en deux minutes avec courrier.
En plus, la difficulté de configuration d’un smtp réside le plus souvent non pas dans une configuration du serveur, mais dans la configuration de la zone qui dirige les mails vers ton serveur, ou dans l’ouverture des bons ports dans un parefeu.
L’install et la configuration minimale >et fonctionnelle< de postfix peut se faire comme exim juste avec dpkg-reconfigure, l’ajustement de la zone, et le réglage du pare feu, alors je te trouve trés injuste avec lui. :wink:

Et notes bien qu’au lieu d’éditer les fichiers de postfix on peut modifier chaque paramètre avec postconf, donc que tu peux scripter ou construire si tu veux assez facilement ton interface avec un peu de php ou autre.

J’m’énerve, mais j’attends qu’on me le demande !!! :wink:
Je ne confond pas SMTP (envoi) et POP (réception), mais les tutos commencent tous par paramétrer le serveur SMTP avant de voire si les mails arrivent, et ça déconne dès ce moment la, quand j’aurais plus de temps j’enverrais mes sorties.