| Version 2 (modified by pierre-gilles, 7 years ago) (diff) |
|---|
Mise en garde
Si ce Howto cherche à rester à la fois le plus debian-style et AlternC-style, il vous fait quitter les deux. Il s'adresse donc plutôt à un public avertis, capable éventuellement d'aller hacker la conf de postfix à La Rache
Installation de postfix patché pour VDA
Il faut récupérer les sources de postfix pour appliquer les patchs VDA.
apt-get install build-essential dpkg-dev fakeroot debhelper libdb4.2-dev libgdbm-dev libldap2-dev libpcre3-dev libmysqlclient10-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch cd /usr/src apt-get source postfix wget http://web.onda.com.br/nadal/postfix/VDA/postfix-2.1.5-trash.patch.gz gunzip postfix-2.1.5-trash.patch.gz cd postfix-2.1.5 patch -p1 < ../postfix-2.1.5-trash.patch dpkg-buildpackage cd .. dpkg -i postfix_2.1.5-9_i386.deb dpkg -i postfix-mysql_2.1.5-9_i386.deb dpkg -i postfix-tls_2.1.5-9_i386.deb
Ensuite on fixe ces packages afin qu'il ne soit plus mis à jour :
dpkg --get-selections| grep postfix | sed s/hold/install/ | dpkg --set-selections aptitude hold postfix postfix-doc postfix-mysql postfix-pcre postfix-tls
Mise en place du champs quota dans MySQL
Nous allons ajouter un champs quota à la table mail_users d'AlternC, nous fixons ici un quota en 100Mo , cette donnée est exprimée en octets.
mysql -usysusr -pmot_de_passe system -e "ALTER TABLE `mail_users` ADD `quota` INT DEFAULT '104857600' NOT NULL ;"
Modification des confs d'AlternC pour postfix et courrier
Il faut éditer /etc/alternc/templates/postfix/main.cf et le remplacer par :
# # Fichier de configuration de Postfix pour AlternC # $Id: main.cf,v 1.17 2006/01/12 06:50:15 anarcat Exp $ # # %%warning_message%% # pour postfix SARGE v2 queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/lib/postfix mail_owner = postfix # recipient_delimiter = + home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP header_checks = regexp:/etc/postfix/header_checks body_checks = regexp:/etc/postfix/body_checks local_destination_concurrency_limit = 8 default_destination_concurrency_limit = 10 myhostname = %%fqdn%% myorigin = %%fqdn%% mynetworks = 127.0.0.1 %%mynetwork%% 82.127.2.119 81.80.253.50 # Configuration TLS pour le serveur smtp : smtpd_use_tls = yes smtpd_tls_dcert_file = /etc/courier/pop3d.pem smtpd_tls_dkey_file = $smtpd_tls_dcert_file smtpd_tls_CApath = /etc/ssl/certs/ smtpd_tls_key_file = $smtpd_tls_dcert_file smtpd_tls_cert_file = $smtpd_tls_dcert_file smtpd_tls_loglevel = 0 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom # Configuration TLS pour le client smtp smtp_use_tls = yes smtp_tls_dcert_file = $smtpd_tls_dcert_file smtp_tls_dkey_file = $smtpd_tls_dcert_file smtp_tls_CApath = $smtpd_tls_CApath # Configuration SASL via sasldb (/etc/sasldb) uniquement en TLS. # Sinon le pass passe en clair et c'est mal ! smtpd_tls_auth_only = yes smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = postfix smtpd_sasl_security_options = noanonymous enable_sasl_authentification = yes broken_sasl_auth_clients = yes # Pour �iter certains vieux spammeurs. disable_vrfy_command = yes # On autorise le relai �: les authentifi� en saslet nos domaines. smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination alias_maps = mysql:/etc/postfix/myalias.cf hash:/etc/aliases default_privs = www-data program_directory = /usr/lib/postfix #Quota Postfix VDA virtual_minimum_uid = 32 virtual_gid_maps = proxy:mysql:/etc/postfix/mygid.cf virtual_uid_maps = static:33 virtual_transport = virtual virtual_mailbox_base = / virtual_mailbox_domains = proxy:mysql:/etc/postfix/mydomain.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/myvirtual.cf virtual_alias_domains = virtual_mailbox_extended = yes virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/myquota.cf virtual_mailbox_limit_override = yes virtual_mailbox_limit = 1073741824 virtual_mailbox_limit_inbox = no virtual_maildir_limit_message = La boite email de votre destinataire est pleine. virtual_create_maildirsize = yes virtual_overquota_bounce = yes proxy_read_maps= $virtual_mailbox_limit_maps $virtual_gid_maps $virtual_maps $virtual_mailbox_maps proxy:unix:passwd.byname proxy:mysql:/etc/postfix/mydomain.cf local_transport = local mydestination =
il faut éditer le fichier : /etc/alternc/templates/postfix/myvirtual.cf
# # %%warning_message%% # user = %%dbuser%% password = %%dbpwd%% hosts =%%dbhost%% dbname = %%dbname%% table = mail_users select_field = CONCAT(path,"/") where_field = alias
il faut éditer le fichier : /etc/alternc/templates/courier/authmysqlrc à la ligne 131 mettre :
MYSQL_QUOTA_FIELD quota
il faut créer et éditer le fichier : /etc/postfix/myquota.cf
user = sysusr password = ---MODIFIER-POUR-LE-MDP-SQL--- hosts =localhost dbname = system table = mail_users select_field = quota where_field = alias
AlternC install
Ensuite un petit :
alternc.install
Et si tout va bien tout roule :)
Todo
Ajouter un script de notification de quota pour les utilisateurs.
Attachments
-
conf.tgz
(812 bytes) -
added by pierre-gilles 7 years ago.
Maps MySQL pour Postfix pour une delivrance via virtual
-
mailfilter.tgz
(1.9 KB) -
added by pierre-gilles 7 years ago.
Extension pour Mysql 4.X permettant d'utiliser un filtre mailfilter
