PhpConcept

Developers Tools

  • Increase font size
  • Default font size
  • Decrease font size
Home White Papers

Installer Serveur LAMP - Courier-maildrop

Print PDF

Installer Apache, PHP5, MySQL, Postfix SMTP et Courier POP

sur un serveur Kimsufi ou RPS d'OVH

 

Installation et configuration de Courier-maildrop

Postfix est un serveur pour recevoir les emails (MTA - Mail Transport Agent). Pour délivrer les emails dans une boite au lettre (un dossier/fichier) on va utiliser un service de livraison (MDA - Mail Delivery Agent). Pour pouvoir utiliser des domaines virtuels avec MySQL on va utiliser Courier-maildrop qui est capable de s'appuyer sur la même base de données que Postfix.

On commence par installer le package de Courier-maildrop :

r10198:~# apt-get install courier-maildrop

Puis le package permettant d'uiliser MySQL :

r10198:~# apt-get install courier-authlib-mysql

On va alors configurer courier pour qu'il utilise la base de données que l'on a créé pour postfix. Pour cela il faut indiquer à courier que l'on va utiliser mysql pour l'authentification des users. Puis conifgurer les paramètres d'accès à MySQL.

Pour utiliser l'authentification par MySQL on modifie le fichier "/etc/courier/authdaemonrc" en remplaçant la ligne < authmodulelist="authpam" > par <authmodulelist="authmysql" >.

On configure alors les paramètres MySQL dans le fichier "/etc/courier/authmysqlrc" :

r10198:~# vi /etc/courier/authmysqlrc
[...] 
MYSQL_SERVER localhost
  MYSQL_USERNAME postfixuser
  MYSQL_PASSWORD XXXXX
  [...] 
  ##NAME: MYSQL_DATABASE:0
  #
  # The name of the MySQL database we will open:
  MYSQL_DATABASE virtualmail
  
  ##NAME: MYSQL_USER_TABLE:0
  #
  # The name of the table containing your user data. See README.authmysqlrc
  # for the required fields in this table.
  MYSQL_USER_TABLE users
  ##NAME: MYSQL_CRYPT_PWFIELD:0

  #
  # Either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD must be defined. Both
  # are OK too. crypted passwords go into MYSQL_CRYPT_PWFIELD,  cleartext
  # passwords go into MYSQL_CLEAR_PWFIELD. Cleartext passwords allow
  # CRAM-MD5 authentication to be implemented.
  MYSQL_CRYPT_PWFIELD pwd
  
  [...] 
  ##NAME: MYSQL_LOGIN_FIELD:0
  #
  # The login id, default is id. Basically the query is:
  #
  # SELECT MYSQL_UID_FIELD, MYSQL_GID_FIELD, ... WHERE id='loginid'

  #
  MYSQL_LOGIN_FIELD email
  ##NAME: MYSQL_HOME_FIELD:0
  #
  MYSQL_HOME_FIELD home
  ##NAME: MYSQL_NAME_FIELD:0

  #
  # The user's name (optional)
  MYSQL_NAME_FIELD name
  [...] 
r10198:~#

On doit alors redémarrer Courier :

r10198:~# /etc/init.d/courier-authdaemon restart
  Stopping Courier authentication services: authdaemond.
  Starting Courier authentication services: authdaemond.
r10198:~#

Maildrop permet de mettre les messages reçus par le serveur SMTP Postfix dans les bons dossiers/fichiers correspondant aux utilisateurs. Maildrop permet de réaliser par la suite des filtrages au moment de la livraison du courier dans la boite aux lettres comme l'antispam.

Pour que Postfix utilise maildrop, on ajoute dans le fichier /etc/postfix/main.cf :

maildrop_destination_recipient_limit = 1
virtual_transport = maildrop

Et on modifie le fichier /etc/postfix/master.cf :

r10198:~# vi /etc/postfix/master.cf
  #
  # Postfix master process configuration file. For details on the format
  # of the file, see the master(5) manual page (command: "man 5 master").
  #

  # ==========================================================================
  # service type private unpriv chroot wakeup maxproc command + args
  # (yes) (yes) (yes) (never) (100)
  # ==========================================================================
  [...]
  #

  # ====================================================================
  # Interfaces to non-Postfix software. Be sure to examine the manual
  # pages of the non-Postfix software to find out what options it wants.
  #
  # Many of the following services use the Postfix pipe(8) delivery
  # agent. See the pipe(8) man page for information about ${recipient}
  # and other message envelope options.
  # ====================================================================
  #
  # maildrop. See the Postfix MAILDROP_README file for details.
  # Also specify in main.cf: maildrop_destination_recipient_limit=1
  #

  maildrop unix - n n - - pipe flags=DRhu user=mailboxes argv=/usr/bin/maildrop -d ${recipient} ${user} ${nexthop}
  [...]
r10198:~#

Il faut aussi mettre dans la colonne "chroot" tous les services à "n" pour que cela fonctionne (je ne sais pas trop pourquoi et quel est l'impact).

On redemarre alors Postfix.

 

Configuration de Domaines Virtuels
[Sommaire] Configuration des Boites Emails

 

Last Updated on Monday, 28 December 2009 15:55