• Serveurs
  • [Discussion] Installer un serveur de mail avec Postfix et Dovecot

Voila qui me plait

Si tu es chaud Yoshi, j'ai quelque domaine à migrer. On peut tester ça par la même occasion
Oui j'étais bon en fête juste le serveur m'avais ban ... par contre j'ai toujours le premier souci j'ai une page blanche quant je vais sur postfixadmin.postlab.fr une idées j'ai tenté d'ajouté en index setup.php mais rien ...
@takashi > Tu peux me donner le résultat de ces deux commandes stp :
ls -alX /var/www/postfixadmin
et
cat /etc/nginx/fastcgi_params
yep,
d# ls -alX /var/www/postfixadmin;
total 432
drwxrwxr-x  4 www-data www-data  4096 May  6 22:50 ADDITIONS
-rw-rw-r--  1 www-data www-data     0 May  6 22:52 build-stamp
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 configs
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 css
drwxrwxr-x  6 www-data www-data  4096 May  6 22:52 debian
drwxrwxr-x  3 www-data www-data  4096 May  6 22:50 DOCUMENTS
drwxrwxr-x  3 www-data www-data  4096 May  6 22:50 images
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 languages
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 model
drwxrwxr-x  4 www-data www-data  4096 May  6 22:50 scripts
drwxrwxr-x  3 www-data www-data  4096 May  6 22:50 smarty
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 templates
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 templates_c
drwxrwxr-x  2 www-data www-data  4096 May  6 22:50 tests
drwxrwxr-x  4 www-data www-data  4096 May  6 22:50 users
drwxrwxr-x  3 www-data www-data  4096 May  6 22:50 VIRTUAL_VACATION
drwxrwxr-x 17 www-data www-data  4096 May  6 22:52 .
drwxr-xr-x  3 root     root      4096 Aug 18 19:15 ..
-rw-rw-r--  1 www-data www-data 12933 Nov  5  2009 calendar.js
-rw-rw-r--  1 www-data www-data  4239 Nov 16  2013 backup.php
-rw-rw-r--  1 www-data www-data  3004 Nov 10  2013 broadcast-message.php
-rw-rw-r--  1 www-data www-data  2948 Jan 14  2014 common.php
-rw-rw-r--  1 www-data www-data 23099 Aug 18 19:20 config.inc.php
-rw-rw-r--  1 www-data www-data  1445 Nov 10  2013 delete.php
-rw-rw-r--  1 www-data www-data  1673 Nov 10  2013 editactive.php
-rw-rw-r--  1 www-data www-data  7517 Jan 21  2014 edit.php
-rw-rw-r--  1 www-data www-data 14408 Nov 16  2013 fetchmail.php
-rw-rw-r--  1 www-data www-data 57574 May  6 21:46 functions.inc.php
-rw-rw-r--  1 www-data www-data  3559 Nov 10  2013 index.php
-rw-rw-r--  1 www-data www-data   847 Nov 10  2013 list-admin.php
-rw-rw-r--  1 www-data www-data  1527 Nov 10  2013 list-domain.php
-rw-rw-r--  1 www-data www-data 16974 Feb 17 14:44 list-virtual.php
-rw-rw-r--  1 www-data www-data  2522 May  2 00:52 login.php
-rw-rw-r--  1 www-data www-data   771 Nov 10  2013 main.php
-rw-rw-r--  1 www-data www-data  1829 Nov 10  2013 sendmail.php
-rw-rw-r--  1 www-data www-data 16267 Dec 28  2013 setup.php
-rw-rw-r--  1 www-data www-data  3707 Jan 14  2014 smarty.inc.php
-rw-rw-r--  1 www-data www-data 59787 Jan 21  2014 upgrade.php
-rw-rw-r--  1 www-data www-data  6006 Dec 22  2013 vacation.php
-rw-rw-r--  1 www-data www-data  1354 Nov 10  2013 variables.inc.php
-rw-rw-r--  1 www-data www-data  2444 Dec  8  2013 viewlog.php
-rw-rw-r--  1 www-data www-data  5835 Feb 19 12:49 xmlrpc.php
-rw-rw-r--  1 www-data www-data 40057 May  6 21:46 CHANGELOG.TXT
-rw-rw-r--  1 www-data www-data 15148 Nov 12  2007 GPL-LICENSE.TXT
-rw-rw-r--  1 www-data www-data  5578 Feb 19 12:52 INSTALL.TXT
-rw-rw-r--  1 www-data www-data  2189 Apr 24  2011 LICENSE.TXT


fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Sauvegarde le fichier fastcgi_params et essaye ceci à la place :
fastcgi_param   QUERY_STRING            $query_string;
fastcgi_param   REQUEST_METHOD          $request_method;
fastcgi_param   CONTENT_TYPE            $content_type;
fastcgi_param   CONTENT_LENGTH          $content_length;

fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;
fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
fastcgi_param   PATH_INFO               $fastcgi_path_info;
fastcgi_param   PATH_TRANSLATED         $document_root$fastcgi_path_info;
fastcgi_param   REQUEST_URI             $request_uri;
fastcgi_param   DOCUMENT_URI            $document_uri;
fastcgi_param   DOCUMENT_ROOT           $document_root;
fastcgi_param   SERVER_PROTOCOL         $server_protocol;

fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;

fastcgi_param   REMOTE_ADDR             $remote_addr;
fastcgi_param   REMOTE_PORT             $remote_port;
fastcgi_param   SERVER_ADDR             $server_addr;
fastcgi_param   SERVER_PORT             $server_port;
fastcgi_param   SERVER_NAME             $server_name;

fastcgi_param   HTTPS                   $https;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
Hardware wrote: @Jedediah > Nope, peut-être dans une futur version
Arf, pas pour moi alors
Ah là il me dit
File not found. 
il trouve pas le setup nan?
Je reviens à toi j'ai 2 souci:

1) je n'arrive pas a me connecter sur Thunderbird

2) quand j'envois un mail voilà ce que dit le log
Aug 19 00:33:59 n7 postfix/smtpd[2850]: connect from mail-qa0-f68.google.com[209.85.216.68]
Aug 19 00:33:59 n7 postfix/trivial-rewrite[2856]: warning: connect to mysql server 127.0.0.1: Access denied for user 'postfix'@'localhost' (using password: YES)
Aug 19 00:33:59 n7 postfix/trivial-rewrite[2856]: warning: mysql:/etc/postfix/mysql-virtual-alias-maps.cf: table lookup problem
Aug 19 00:33:59 n7 postfix/trivial-rewrite[2856]: warning: virtual_alias_domains lookup failure
Aug 19 00:33:59 n7 postfix/trivial-rewrite[2856]: warning: mysql:/etc/postfix/mysql-virtual-alias-maps.cf: table lookup problem
Aug 19 00:33:59 n7 postfix/trivial-rewrite[2856]: warning: virtual_alias_domains lookup failure
Aug 19 00:33:59 n7 postfix/smtpd[2850]: NOQUEUE: reject: RCPT from mail-qa0-f68.google.com[209.85.216.68]: 451 4.3.0 <********@gmail.com>: Temporary lookup failure; from=<********@gmail.com> to=<contact@postlab.fr> proto=ESMTP helo=<mail-qa0-f68.google.com>
Aug 19 00:34:00 n7 postfix/smtpd[2850]: disconnect from mail-qa0-f68.google.com[209.85.216.68]
Aug 19 00:37:20 n7 postfix/anvil[2852]: statistics: max connection rate 1/60s for (smtp:209.85.216.68) at Aug 19 00:33:59
Aug 19 00:37:20 n7 postfix/anvil[2852]: statistics: max connection count 1 for (smtp:209.85.216.68) at Aug 19 00:33:59
Aug 19 00:37:20 n7 postfix/anvil[2852]: statistics: max cache size 1 at Aug 19 00:33:59
est en plus il ma encore ban -_-
Tu as toutes les informations qu'il te faut pour résoudre ton problème :
# Cette ligne veut dire que tu n'as pas saisi le bon mot de passe donc il peut pas se connecter à la BDD :
warning: connect to mysql server 127.0.0.1: Access denied for user 'postfix'@'localhost' (using password: YES)

# Cette ligne veut dire qu'il n'arrive pas à lire la BDD, normal, il peut pas se connecter :
warning: mysql:/etc/postfix/mysql-virtual-alias-maps.cf: table lookup problem

# Cette ligne veut dire que l'email que tu as envoyé via Gmail ne peut pas être traité par Postfix. Encore une fois c'est normal, il peut pas se connecter à la BDD [img]/assets/images/smileys/tongue.png[/img]
NOQUEUE: reject: RCPT from mail-qa0-f68.google.com[209.85.216.68]: 451 4.3.0 <********@gmail.com>: Temporary lookup failure; from=<********@gmail.com> to=<contact@postlab.fr> proto=ESMTP helo=<mail-qa0-f68.google.com>
Vérifie tes paramètres de connexions dans ces 3 fichiers :
/etc/postfix/mysql-virtual-mailbox-domains.cf
/etc/postfix/mysql-virtual-mailbox-maps.cf
/etc/postfix/mysql-virtual-alias-maps.cf
Si tu penses que c'est le mdp qui pose problème, tu peux le modifier avec cette commande en root :
mysql> SET PASSWORD FOR 'postfix'@'%' = PASSWORD('MOT DE PASSE');
Super tuto, est ce qu'une maj avec SpamAssassin et ClamAV est prévue ?
Pas dans ce tuto pour ne pas l'alourdir encore plus. Peut-être dans un autre nommé "Installation de SpamAssassin, Clamav et Greylist" par exemple. A voir si j'ai le temps, peut-être que quelqu'un d'autre veut s'en occuper ? Pour le moment, je suis en train d'écrire le tuto d'Ossec.
Ah ouais l'installation de SpamAss & co c'est assez sympa, je sais que j'en avais bien chié pour le faire sur mon serveur mail 😀. Mais là ou j'ai le plus galéré et toujours pas d'actualité c'est opendkim, je ne sais pas pk ça veut pas être pris en compte. Mais je vais voir vu qu'on va installer ça sur une dizaine de domaine avec Alba, je vais voir pour intégrer grey & co à ton tuto et voir ce que ça donne si c'est concluant, je verrais avec Alba pour qu'on publie un truc sur la chose. Par contre ouais sans calendrier ça reste hyper bloquant pour ma part notamment dans un cadre pro, filer une messagerie sans calendrier bof bof.
Bonjour,

Alors déjà merci pour ce tuto c'est le plus compréhensible que j'ai lu sur le sujet. Rien que le schéma et les associations en nom de domaine principal, nom d'hîte, FQDN et MX permettent de mieux comprendre.

Je suis perdu au niveau de la configuration du nom de domaine.

Actuellement sur mon nom de domaine j'ai quelque chose comme ceci :
mail2.domain.tld MX mail2.domain.tld
mail2.domain.tld A IP du serveur

NB : J'ai mis mail2 parce que la doc OVH dit de mettre mail2...

Là je coince c'est pour associer le FQDN avec l'adresse IP du serveur.

Sur OVH quand je veux ajouter une entrée c'est obligatoirement "sous-domaine : xxxxx .domaine.tld
Donc je ne peux pas mettre de champ : hostname IN A ADRESSE_IP_4

Est-ce que la configuration est quand même possible ?
Est-ce que "mon serveur" doit faire office de serveur DNS ?

Actuellement sur dans la zone de DNS il y a des entrées qui étaient là par défault :
[url=ftp://ftp.domain.tld]ftp.domain.tld[/url] CNAME domain.tld
imap.domain.tld CNAME ssl0.ovh.net
mail.domain.tld CNAME ssl0.ovh.net
pop3.domain.tld CNAME ssl0.ovh.net
smtp.domain.tld CNAME ssl0.ovh.net

Les type CNAME si j'ai bien compris sont des redirections, je peux donc supprimer ces entrées?

Désolé si mes questions peuvent être noobesque, ça fait une semaine que je me documente,j’apprends doucement ^^

Merci, pour votre lecture.
Gravefield wrote:J'ai mis mail2 parce que la doc OVH dit de mettre mail2...
Tu peux mettre mail2 ou une autre chose, c'est totalement arbitraire, faut juste respecter les standards définis par l'IETF qui te dit que ton hostname ne peut-être composé que de caractères ASCII minuscules, de chiffres de 0 à 9, d'un trait d'union et max 63 caractères. Donc les sous-domaines suivants restes valides :

mail2.domain.tld
mail-2.domain.tld
nimportequoi.domain.tld
Gravefield wrote:Sur OVH quand je veux ajouter une entrée c'est obligatoirement "sous-domaine : xxxxx .domaine.tld
Donc dans l'interface d'OVH, tu ajoutes un enregistrement de type MX, avec le noeud racine @ en host, avec par exemple une priorité de 10, pointant vers disons mail2.tondomaine.tld.

Ensuite :

- Tu ajoutes une entrée de type A, avec comme sous domaine mail2.tondomaine.tld pointant vers l'ip de ton serveur
OU
- tu ajoutes une entrée de type CNAME, avec comme sous domaine mail2.tondomaine.tld pointant vers un autre sous domaine de ton serveur.
Gravefield wrote:Est-ce que "mon serveur" doit faire office de serveur DNS ?
Ce n'est absolument pas nécessaire, ton registrar le fait très bien à ta place.
Gravefield wrote:Les type CNAME si j'ai bien compris sont des redirections, je peux donc supprimer ces entrées?
Pas forcement, ce que je te conseille de faire c'est de modifier les entrées suivantes :
imap.domain.tld CNAME ssl0.ovh.net
mail.domain.tld CNAME ssl0.ovh.net
pop3.domain.tld CNAME ssl0.ovh.net # Ce protocole n'est pas utilisé dans ce tuto, donc cette entrée n'a plus d'intérêt.
smtp.domain.tld CNAME ssl0.ovh.net
En les faisant pointer sur mail2.tondomaine.tld

Le plus important c'est de faire pointer le FQDN ET le MX vers l'adresse IP de ton serveur. L'enregistrement MX permet de déterminer vers quel serveur un email doit être acheminé, si quelqu'un t'envoie un message depuis Gmail par exemple, les serveurs de google vont automatiquement intérroger cette entrée pour savoir où transmettre le message. Donc si cette entrée est pas ou mal définie, tu ne reçevras jamais d'emails.

Cette partie du tuto n'est pas super claire, je l'avoue, faudrait que je l'améliore un peu. Ce post servira surement pour d'autres personnes.
Merci pour l'aide. J'avance petit à petit mais au moins j'avance ^^.

Je suis à l'étape du setup.php de postfixadmin.

Voici l'erreur rencontrée :


J'imagine que je dois installer php5-imap ?
Re,

Je suis à l'étape d'ajout du nom de domaine.

Quand j'indique mondomain.tld, j'ai l'erreur suivante : Domaine Invalide mondomain.tld, et/ou non resolvable via les DNS

J'ai essayé en indiquant le FQDN (hostname.domain.tld) et là pas d'erreur.

Je me suis donc planté dans la configuration.
Pensez-vous que c'est au niveau de la zone de DNS ou/et du reverse ?

Désolé pour toutes ces questions, est-ce mieux que je demande en MP ?
Takashi tu l'as réglé comment ton proglème? entre le poste ou tu dis "files not found" et ton post sur thunderbird?
J'ai le soucis de files not found...
Merci.
@jgign > Pour moi ça vient du fait qu'il n'avait la variable SCRIPT_FILENAME correctement définie dans le fichier /etc/nginx/fastcgi_params donc forcement PHP-FPM ne peut pas trouver le fichier et renvoie File not found. Mais peut-être qu'il a corrigé son problème d'une autre manière. Essaye de rajouter cette ligne :
fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;
EDIT : Je viens de modifier le tuto en ajoutant la ligne çi-dessus dans le bloc correspondant à PHP-FPM :
location ~* \.php$ {
        include         fastcgi_params;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Normalement plus personne ne devrait avoir l'erreur "File not found".