Serveur Qmail : installation
Écrit par VieuxProf   
01-01-1999

Au préalable :

  1. Désinstaller Sendmail s'il est installé
  2. Le DNS doit être fonctionnel

  1. Construire le fichier .spec (# rpm -i qmail-XX.src.rpm )
  2. Construire les binaires (# rpm -bb /usr/src/redhat/SPECS/qmail-XX.spec)
  3. Installer les RPMS (# rpm -ivh /usr/src/redhat/RPMS/i386/qmail-XX.rpm)
  4. Sauvegarder les sources (# mv /usr/src/redhat/BUILD/qmail-XX /usr/src/)
  5. Vérifier les données ajoutées
    # fichier '/etc/passwd'
    qmaild:x:518:522::/var/qmail:/bin/bash
    qmaill:x:519:522::/var/qmail:/bin/bash
    qmailp:x:520:522::/var/qmail:/bin/bash
    alias:x:521:522::/var/qmail/alias:/bin/bash
    qmailq:x:522:523::/var/qmail:/bin/bash
    qmailr:x:523:523::/var/qmail:/bin/bash
    qmails:x:524:523::/var/qmail:/bin/bash
    # fichier '/etc/group'
    nofiles:*:522:
    qmail:*:523:
  6. Paramétrer l'emplacement pour les logs (splogger)
    dans /etc/syslog.conf, sous '/var/log/messages', on doit trouver :
    # Log all the mail messages in one place.
    mail.* /var/log/maillog

On peut paramétrer Qmail-smtpd pour fonctionner avec inetd :
  1. Dans /etc/inetd.conf, diéser la ligne concernant smtp
  2. Remplacer par (tout doit être sur une seule ligne) :
    smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
  3. Diéser la ligne concernant comsat
  4. Relancer inetd (# killall -HUP inetd ou killall -HUP xinetd)
  5. Vérifier que le port 25 (SMTP) est actif
    (la commande '# netstat -an | grep 25' doit retourner 'tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN'
  6. Tester que le service SMTP fonctionne (# telnet smtp.mondomaine.com 25)

Ce paquetage permet à SMTP d'outrepasser les paramétrages du fichier 'rcpthosts' pour autoriser aux clients du LAN l'envoi de messages vers un domaine quelconque.


  1. Installer et compiler (# make; # make setup check)
  2. Tester avec une erreur de login
    # /var/qmail/bin/qmail-popup host /bin/checkpassword pwd
    '+OK <...@host>
    user Frodo
    +OK
    pass Friend
    -ERR authorization failed
  3. Tester avec un login correct
    # /var/qmail/bin/qmail-popup host /bin/checkpassword pwd
    +OK <...@host>
    user gooduser
    +OK
    pass xxxx
    +OK
    /home/gooduser

On peut paramétrer Qmail-pop3d pour fonctionner avec inetd :
  1. Dans /etc/inetd.conf, diéser la ligne concernant pop3
  2. Remplacer par (tout doit être sur une seule ligne) :
    pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup votre.host.name /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
  3. Relancer inetd (# killall -HUP inetd ou killall -HUP xinetd)
  4. Vérifier dans /etc/services que le nom du service POP est correct (pop-3, pop3)
  5. Tester que le service POP fonctionne (# telnet pop.mondomaine.com 110)

  • Ils se trouvent dans le répertoire '/var/qmail/control/'. La commande 'qmail-showctl' permet d'obtenir un rapport sur ces fichiers de contrôle. Après chaque modification de l'un d'entre eux, penser à relancer Qmail (# kill -HUP $(pidof qmail-send). Pour plus d'informations, consulter le man de qmail-control (# man qmail-control).
  • Si on suppose que la machine sur laquelle est installé Qmail se nomme 'monserveur.mondomaine.com', les fichiers de configuration doivent ressembler à ceci :
    1. fichier 'me'
      # FQDN de la machine
      monserveur.mondomaine.com
    2. fichier 'locals' # noms des hôtes considérés comme locaux
      monserveur
      monserveur.mondomaine.com
      client1
      client1.mondomaine.com
      client2
      client2.mondomaine.com
    3. fichier 'rcpthosts'
      # contrôle du relaying SMTP - par défaut (pas de rcphosts), qmail-smtpd accepte tous les courriels
      # si rcphosts existe, qmail-smtpd refusera tout courriel dont la partie domaine de l'adresse destinataire ne figure pas dans le fichier
      # 'rcpthosts' doit au moins autoriser les machines figurant dans 'locals'
      # le LAN peut outrepasser les règles de 'rcphosts' par le paquetage 'ucspi-tcp-XX'
      mondomaine.com
      .mondomaine.com
      monserveur.mondomaine.com
      client1.mondomaine.com
      client2.mondomaine.com
    4. fichier 'defaultdomain' (facultatif)
      # une adresse sans domaine sera complétée par le defaultdomain défini ici
      mondomaine.com
      .mondomaine.com
    5. fichier 'defaulthost' (facultatif)
      # une adresse sans partie domaine sera complétée par le defaulthost défini ici
      mondomaine.com
      .mondomaine.com
    6. fichier 'smtproutes' (facultatif)
      # relais SMTP que qmail-remote contactera pour router les courriels sortants
      mondomaine.com:monserveur.mondomaine.com
      # second.domaine:mail.second.domaine:24
      # :mail.autre.domaine
    7. fichier 'virtualdomains' (facultatif)
      # domaine pour lequel la livraison se fera vers une seule adresse
      # livraison normale pour les adresses se terminant par:
      mondomaine.com:
      .mondomaine.com:
      # les adresses se terminant par .uucp seront livrées à l'alias alias-uucp
      .uucp:alias-uucp
      # les autres adresses seront livrées à l'alias postmaster
      :postmaster
    8. fichier 'aliasempty' (facultatif)
      # BAL où le courriel est livré lorsqu'il n'y a pas de .qmail
      ./Maildir/
    9. fichier 'badmailfrom' (facultatif)
      # tout courriel provenant des expéditeurs spécifiés sera refusé
      @pub.com
Dernière mise à jour : ( 03-02-2008 )