Ceci est une ancienne révision du document !


Mettre en place un serveur mail (sous slackware)

Mon but est d'installer un serveur mail basé sur postfix, dovecot, puis de configurer ses outils pour l'utiliser uniquement en webmail via roundcube en utilisant le protocole IMAP. L'installation de roundcube étant assez simple, je ne parlerai que de postfix et dovecot.

Le SMTP avec Postfix

Installation

Prenons le slackbuild de slackbuilds.org disponible ici pour slackware-13.1. Avant de l'installer, il faut créer un groupe postfix et postdrop ainsi qu'un utilisateur postfix dont son groupe sera postfix.
Vous pouvez les créer avec les commandes suivantes en root :

# groupadd -g 200 postfix
# groupadd -g 201 postdrop
# useradd -u 200 -d /dev/null -s /bin/false -g postfix postfix

Je vous laisse le soin d'exécuter le slackbuild puis d'installer le paquet.

Configuration

Voici ce que j'ai dans mon fichier /etc/postfix/main.cf

# Path
sample_directory = /etc/postfix
config_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix

setgid_group = postdrop
mail_owner = postfix
myhostname = smtp.domain.tld
mydomain = domain.tld
myorigin = $mydomain
mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8 192.168.0.2
smtpd_recipient_restrictions =
  reject_unlisted_recipient,
  reject_unknown_recipient_domain,
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_non_fqdn_recipient,
  reject_unauth_destination

unknown_local_recipient_reject_code = 550
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
transport_maps = hash:/etc/postfix/transport

# SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes

# TLS client
smtp_tls_cert_file = /etc/ssl/private/smtp.pem
smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtp_tls_session_cache_timeout = 3600s
smtp_tls_security_level = may
tls_daemon_random_bytes = 32

# TLS server
smtpd_tls_cert_file = /etc/ssl/private/smtpd.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_security_level = encrypt
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may

# Maildir
home_mailbox = Maildir/
mail_spool_directory = /srv/mail

# Syslog
syslog_facility = mail
syslog_name = ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name}
smtp_tls_loglevel = 1
smtpd_tls_loglevel = 1

# Debug
debug_peer_level = 2
debugger_command =
   PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
   ddd $daemon_directory/$process_name $process_id & sleep 5

# Doc
manpage_directory = /usr/man
readme_directory = /usr/doc/postfix-2.7.1/README_FILES
html_directory = /usr/doc/postfix-2.7.1/html

On peut lancer postfix avec la commande :

# postfix start

Dovecot

Installation

Comme pour postfix, utilisons le slackbuild de slackbuilds.org disponible ici pour slackware-13.1.
Comme postfix, il faut créer un groupe et un utilisateur dovecot comme ceci :

# groupadd -g 202 dovecot
# useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot

Ensuite exécutez le slackbuild et installez le paquet.

Configuration

Copiez l'intégralité des fichiers de configurations au bon endroit :

# cp -r /usr/doc/dovecot-2.0.0/example-config/* /etc/dovecot/

Les lignes suivantes sont nécessaires dans le fichier /etc/dovecot/dovecot.conf :

protocols = imap
listen = 192.168.0.2

En effet, comme le but est de n'utiliser le serveur mail que depuis une webmail, seul le protocole imap est nécessaire. Enfin il faut écouter sur l'adresse du serveur (ne pas mettre 127.0.0.1).

Ensuite le fichier /etc/dovecot/conf.d/auth-system.conf.ext doit contenir :

passdb {
  driver = shadow
  # [blocking=no]
  #args =
}

userdb {
  # <doc/wiki/AuthDatabase.Passwd.txt>
  driver = passwd
  # [blocking=no]
  #args = 
}

Dans ce cas ce sont les comptes unix qui sont utilisés.

Maintenant le fichier /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

Le but est donc d'utiliser une boîte de type maildir situé dans le $HOME de chaque utilisateur.

Reste plus qu'à lancer dovecot :

# /etc/rc.d/rc.dovecot start
tuto/serveur_mail.1286255999.txt.gz · Dernière modification : 2010/10/05 07:19 de Thomas
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0