Serveur Groupware · 3 min read · Dec 31, 2025
Serveur de Groupware Avec Group-Office, Postfix, Dovecot Et SpamAssassin Sur Debian Lenny (5.0) - Page 2
Configurer Postfix
Postfix doit être configuré pour utiliser MySQL :
Les variables suivantes dans main.cf. Commencez par remplir quelques informations de base :
# postconf -e 'myhostname = mx-1.example.com'
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'
# postconf -e 'biff = no'
# postconf -e 'append_dot_mydomain = no'
# postconf -e 'myorigin = example.com'
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'
# postconf -e 'mynetworks = 127.0.0.0/8'
# postconf -e 'recipient_delimiter = +'
# postconf -e 'inet_interfaces = all'
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \
$virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \
$virtual_mailbox_domains $relay_recipient_maps $relay_domains \
$canonical_maps $sender_canonical_maps $recipient_canonical_maps \
$relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'
# postconf -e 'smtpd_recipient_restrictions = \
permit_mynetworks, \
reject_unauth_destination, \
reject_rbl_client zen.spamhaus.org, \
reject_rbl_client list.dsbl.org, \
permit'
# postconf -e 'message_size_limit=52428800'
# postconf -e 'mailbox_size_limit=0'Maintenant configurez-le pour les utilisateurs virtuels dans MySQL :
# postconf -e 'virtual_alias_domains ='
# postconf -e 'virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf'
# postconf -e 'virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf'
# postconf -e 'virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf'
# postconf -e 'virtual_mailbox_base = /vmail'
# postconf -e 'virtual_minimum_uid = 150'
# postconf -e 'virtual_uid_maps = static:150'
# postconf -e 'virtual_gid_maps = static:8'
# postconf -e 'virtual_create_maildirsize = yes'
# postconf -e 'virtual_mailbox_extended = yes'
# postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf'
# postconf -e 'virtual_mailbox_limit_override = yes'
# postconf -e 'virtual_maildir_limit_message = "L'utilisateur que vous essayez d'atteindre a dépassé son quota."'
# postconf -e 'virtual_overquota_bounce = yes'
# postconf -e 'transport_maps = proxy:mysql:/etc/postfix/mysql_virtual_transports.cf'
# postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'Nous allons utiliser la livraison Dovecot :
# postconf -e 'virtual_transport=dovecot'
# postconf -e 'dovecot_destination_recipient_limit=1'
# postconf -e 'transport_maps = hash:/etc/postfix/transport'
# postconf -e 'smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit'
# postconf -e 'vacation_destination_recipient_limit = 1'Créez la base de données de transport :
# cd /etc/postfix
# postmap transportPostfix a été installé avec le support MySQL, mais cela ne signifie pas qu’il sait déjà comment utiliser notre base de données. Il doit être fourni avec diverses informations de requête SQL pour chaque type de table dans notre base de données. Ces informations sont stockées dans les fichiers MySQL définis dans le fichier main.cf :
/etc/postfix/mysql_virtual_alias_maps.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_aliases
select_field = goto
where_field = address
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_domains_maps.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'/etc/postfix/mysql_virtual_mailbox_limit_maps.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_mailboxes
select_field = quota
where_field = username
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_mailbox_maps.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_mailboxes
select_field = maildir
where_field = username
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_transports.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = transport
where_field = domain
additional_conditions = and active = '1'/etc/postfix/mysql_relay_domains_maps.cf :
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = domain
where_field = domain
additional_conditions = and backupmx = '1' and active = '1'Ajoutez l’utilisateur de messagerie :
# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Mailbox Virtuel" vmail
# mkdir /vmail
# chmod 770 /vmail/
# chown vmail:mail /vmail/Éditez master.cf de Postfix :
Modifiez la première ligne avec le service smtp :
smtp inet n - - - - smtpd
-o content_filter=spamassassinAprès cette ligne, ajoutez :
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}Aux interfaces vers des logiciels non-Postfix, ajoutez :
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.