« Installation sur une Squeeze d'un serveur mail complet (Postfix Postfixadmin Dovecot Mysql Amavisd-new Spamassassin Clamav Postgrey Squirrelmail Roundcube) avec gestion des filtres Imap et des quotas » : différence entre les versions

Aller à la navigation Aller à la recherche
m
aucun résumé des modifications
mAucun résumé des modifications
 
Ligne 67 : Ligne 67 :


  root@facteur:~# nano /etc/apt/apt.conf.d/20norecommends
  root@facteur:~# nano /etc/apt/apt.conf.d/20norecommends
<code>
<pre>
APT  
APT  
{
{
Ligne 73 : Ligne 73 :
   Install-Suggests "false";
   Install-Suggests "false";
};
};
</code>
</pre>


Les priorités de debconf sont élevées par défaut.
Les priorités de debconf sont élevées par défaut.
Ligne 264 : Ligne 264 :
Depuis quelques jours (entre fin mars et début avril 2011) la suppression des programmes ci-dessus entraîne l'installation de Postfix et ssl-cert:
Depuis quelques jours (entre fin mars et début avril 2011) la suppression des programmes ci-dessus entraîne l'installation de Postfix et ssl-cert:


<code>
<pre>
Les paquets supplémentaires suivants seront installés :  
Les paquets supplémentaires suivants seront installés :  
   postfix ssl-cert
   postfix ssl-cert
</code>
</pre>


  root@facteur:~# apt-get --purge remove exim4 exim4-base exim4-config exim4-daemon-light
  root@facteur:~# apt-get --purge remove exim4 exim4-base exim4-config exim4-daemon-light


<code>
<pre>
Lecture des listes de paquets... Fait
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Construction de l'arbre des dépendances       
Ligne 294 : Ligne 294 :
dpkg-statoverride : avertissement : Pas de dérogation (« override ») présente.
dpkg-statoverride : avertissement : Pas de dérogation (« override ») présente.
Traitement des actions différées (« triggers ») pour « man-db »...
Traitement des actions différées (« triggers ») pour « man-db »...
</code>
</pre>


[[Fichier:Snapshot162.jpeg|frameless|600px|Veuillez choisir la configuration...]]
[[Fichier:Snapshot162.jpeg|frameless|600px|Veuillez choisir la configuration...]]
Ligne 310 : Ligne 310 :


''Les paquets installés:''
''Les paquets installés:''
  Les NOUVEAUX paquets suivants vont être installés :  
  Les NOUVEAUX paquets suivants vont être installés :  
   apache2-mpm-prefork{a} apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} db4.8-util{a}  
   apache2-mpm-prefork{a} apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} db4.8-util{a}  
   dovecot-common{a} dovecot-imapd dovecot-pop3d libapache2-mod-php5{a} libapr1{a} libaprutil1{a}  
   dovecot-common{a} dovecot-imapd dovecot-pop3d libapache2-mod-php5{a} libapr1{a} libaprutil1{a}  
Ligne 344 : Ligne 344 :


Vérifiez que les lignes suivantes sont présentes et dé-commentées dans le fichier /etc/apache2/ports.conf
Vérifiez que les lignes suivantes sont présentes et dé-commentées dans le fichier /etc/apache2/ports.conf
<code>
<pre>
<IfModule mod_ssl.c>
<IfModule mod_ssl.c>
...
...
     Listen 443
     Listen 443
</IfModule>
</IfModule>
</code>
</pre>


Enfin, redémarrons Apache
Enfin, redémarrons Apache
Ligne 359 : Ligne 359 :
Testez en vous rendant à cette adresse: https://votre_IP/ ou https://localhost/ si vous travaillez en local. Vous devriez avoir accès à la page d'accueil suivante:
Testez en vous rendant à cette adresse: https://votre_IP/ ou https://localhost/ si vous travaillez en local. Vous devriez avoir accès à la page d'accueil suivante:


<code>
<pre>
It works!
It works!


Ligne 365 : Ligne 365 :


The web server software is running but no content has been added, yet.
The web server software is running but no content has been added, yet.
</code>
</pre>


=== Installation et configuration de Postfixadmin ===
=== Installation et configuration de Postfixadmin ===
Ligne 375 : Ligne 375 :
  root@facteur:~# mysql -u root -p
  root@facteur:~# mysql -u root -p
  Enter password:  
  Enter password:  
<code>
<pre>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Your MySQL connection id is 40
Ligne 400 : Ligne 400 :
mysql> exit
mysql> exit
Bye
Bye
</code>
</pre>


==== Postfixadmin ====
==== Postfixadmin ====
Ligne 416 : Ligne 416 :


  root@facteur:~# nano /var/www/postfixadmin/config.inc.php
  root@facteur:~# nano /var/www/postfixadmin/config.inc.php
<code>
<pre>
$CONF['configured'] = true;
$CONF['configured'] = true;
...
...
Ligne 428 : Ligne 428 :
...
...
$CONF['encrypt'] = 'md5crypt';
$CONF['encrypt'] = 'md5crypt';
</code>
</pre>


  root@facteur:~# service apache2 restart
  root@facteur:~# service apache2 restart
Ligne 481 : Ligne 481 :


  root@facteur:~# nano /etc/postfix/mysql_virtual_mailbox_domains.cf
  root@facteur:~# nano /etc/postfix/mysql_virtual_mailbox_domains.cf
<code>
<pre>
hosts = 127.0.0.1
hosts = 127.0.0.1
user = postfix
user = postfix
Ligne 487 : Ligne 487 :
dbname = postfix
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1
</code>
</pre>


  root@facteur:~# nano /etc/postfix/mysql_virtual_mailbox_maps.cf
  root@facteur:~# nano /etc/postfix/mysql_virtual_mailbox_maps.cf
<code>
<pre>
hosts = 127.0.0.1
hosts = 127.0.0.1
user = postfix
user = postfix
Ligne 496 : Ligne 496 :
dbname = postfix
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
</code>
</pre>


  root@facteur:~# nano /etc/postfix/mysql_virtual_alias_maps.cf
  root@facteur:~# nano /etc/postfix/mysql_virtual_alias_maps.cf
<code>
<pre>
hosts = 127.0.0.1
hosts = 127.0.0.1
user = postfix
user = postfix
Ligne 505 : Ligne 505 :
dbname = postfix
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
</code>
</pre>


  root@facteur:~# nano /etc/postfix/mysql_relay_domains.cf
  root@facteur:~# nano /etc/postfix/mysql_relay_domains.cf
<code>
<pre>
hosts = 127.0.0.1
hosts = 127.0.0.1
user = postfix
user = postfix
Ligne 514 : Ligne 514 :
dbname = postfix
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 1
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 1
</code>
</pre>


Configurons maintenant l'authentification par sasl
Configurons maintenant l'authentification par sasl


  root@facteur:~# nano /etc/postfix/sasl/smtpd.conf
  root@facteur:~# nano /etc/postfix/sasl/smtpd.conf
<code>
<pre>
pwcheck_method: saslauthd
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
mech_list: PLAIN LOGIN
auxprop_plugin: rimap
auxprop_plugin: rimap
</code>
</pre>


Mettons à jour /etc/default/saslauthd avec ces paramètres (ne touchez pas au reste...)
Mettons à jour /etc/default/saslauthd avec ces paramètres (ne touchez pas au reste...)
Ligne 532 : Ligne 532 :


  root@facteur:~# nano /etc/default/saslauthd
  root@facteur:~# nano /etc/default/saslauthd
<code>
<pre>
START=yes
START=yes
MECHANISMS="rimap"
MECHANISMS="rimap"
Ligne 538 : Ligne 538 :
MECH_OPTIONS="localhost"
MECH_OPTIONS="localhost"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
</code>
</pre>


Ajoutons postfix au groupe sasl:
Ajoutons postfix au groupe sasl:
Ligne 556 : Ligne 556 :


  root@serveur:~# nano /etc/postfix/main.cf
  root@serveur:~# nano /etc/postfix/main.cf
<code>
<pre>
virtual_uid_maps = static:3000
virtual_uid_maps = static:3000
virtual_gid_maps = static:3000
virtual_gid_maps = static:3000
Ligne 580 : Ligne 580 :
smtpd_sasl_auth_enable = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_security_options = noanonymous
</code>
</pre>


Ajoutez ceci à la fin de votre fichier /etc/postfix/master.cf
Ajoutez ceci à la fin de votre fichier /etc/postfix/master.cf


<code>
<pre>
dovecot  unix  -      n      n      -      -      pipe
dovecot  unix  -      n      n      -      -      pipe
   flags=DRhu user=facteur:facteur argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
   flags=DRhu user=facteur:facteur argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
</code>
</pre>


==== Quelques réglages supplémentaires ====
==== Quelques réglages supplémentaires ====
Ligne 613 : Ligne 613 :
  root@facteur:~# nano /etc/dovecot/dovecot-mysql.conf
  root@facteur:~# nano /etc/dovecot/dovecot-mysql.conf


<code>
<pre>
driver = mysql
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=monmotdepasse2
connect = host=127.0.0.1 dbname=postfix user=postfix password=monmotdepasse2
Ligne 619 : Ligne 619 :
user_query = SELECT '/home/facteur/%d/%n' as home, 3000 AS uid, 3000 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT '/home/facteur/%d/%n' as home, 3000 AS uid, 3000 AS gid FROM mailbox WHERE username = '%u'
password_query = SELECT password FROM mailbox WHERE username = '%u'
password_query = SELECT password FROM mailbox WHERE username = '%u'
</code>
</pre>


Sauvegardons le fichier de configuration de dovecot :
Sauvegardons le fichier de configuration de dovecot :
Ligne 716 : Ligne 716 :
Redémarrons les services :
Redémarrons les services :


<code>
<pre>
root@facteur:~# service dovecot restart
root@facteur:~# service dovecot restart
Restarting IMAP/POP3 mail server: dovecotIf you have trouble with authentication failures,
Restarting IMAP/POP3 mail server: dovecotIf you have trouble with authentication failures,
Ligne 728 : Ligne 728 :
Stopping Postfix Mail Transport Agent: postfix.
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
</code>
</pre>


=== Premiers essais ===
=== Premiers essais ===
Ligne 750 : Ligne 750 :


  root@facteur:~# echo test | mail -s "Premier test SMTP" essai@zehome.org && tail -f /var/log/mail.info  
  root@facteur:~# echo test | mail -s "Premier test SMTP" essai@zehome.org && tail -f /var/log/mail.info  
<code>
<pre>
Apr 10 15:14:25 facteur postfix/pickup[11279]: 1B63A6C64D: uid=0 from=<root>
Apr 10 15:14:25 facteur postfix/pickup[11279]: 1B63A6C64D: uid=0 from=<root>
Apr 10 15:14:25 facteur postfix/cleanup[11318]: 1B63A6C64D: message-id=<20110410121425.1B63A6C64D@facteur.zehome.org>
Apr 10 15:14:25 facteur postfix/cleanup[11318]: 1B63A6C64D: message-id=<20110410121425.1B63A6C64D@facteur.zehome.org>
Ligne 757 : Ligne 757 :
Apr 10 15:14:25 facteur postfix/pipe[11326]: 1B63A6C64D: to=<essai@zehome.org>, relay=dovecot, delay=0.06, delays=0.01/0/0/0.04, dsn=2.0.0, status=sent (delivered via dovecot service)
Apr 10 15:14:25 facteur postfix/pipe[11326]: 1B63A6C64D: to=<essai@zehome.org>, relay=dovecot, delay=0.06, delays=0.01/0/0/0.04, dsn=2.0.0, status=sent (delivered via dovecot service)
Apr 10 15:14:25 facteur postfix/qmgr[11280]: 1B63A6C64D: removed
Apr 10 15:14:25 facteur postfix/qmgr[11280]: 1B63A6C64D: removed
</code>
</pre>


CTRL + C pour sortir.
CTRL + C pour sortir.
Ligne 832 : Ligne 832 :
Les logs dans /var/log/mail.log:
Les logs dans /var/log/mail.log:


<code>
<pre>
Apr  6 11:37:09 facteur postfix/smtpd[1873]: 4463D6C401: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Apr  6 11:37:09 facteur postfix/smtpd[1873]: 4463D6C401: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Apr  6 11:37:17 facteur postfix/cleanup[1882]: 4463D6C401: message-id=<>
Apr  6 11:37:17 facteur postfix/cleanup[1882]: 4463D6C401: message-id=<>
Ligne 840 : Ligne 840 :
Apr  6 11:37:17 facteur postfix/qmgr[1816]: 4463D6C401: removed
Apr  6 11:37:17 facteur postfix/qmgr[1816]: 4463D6C401: removed
Apr  6 11:37:20 facteur postfix/smtpd[1873]: disconnect from sidlol.zehome.org[192.168.0.2]
Apr  6 11:37:20 facteur postfix/smtpd[1873]: disconnect from sidlol.zehome.org[192.168.0.2]
</code>
</pre>


==== Test de la connexion IMAP avec telnet====
==== Test de la connexion IMAP avec telnet====


<code>
<pre>
$ telnet 192.168.3.114 143
$ telnet 192.168.3.114 143
Trying 192.168.3.114...
Trying 192.168.3.114...
Ligne 869 : Ligne 869 :
a4 OK Logout completed.
a4 OK Logout completed.
Connection closed by foreign host.
Connection closed by foreign host.
</code>
</pre>




Ligne 895 : Ligne 895 :


  root@facteur:~# nano /etc/postfix/master.cf
  root@facteur:~# nano /etc/postfix/master.cf
<code>
<pre>
amavis unix - - - - 2 smtp
amavis unix - - - - 2 smtp
         -o smtp_data_done_timeout=1200
         -o smtp_data_done_timeout=1200
Ligne 913 : Ligne 913 :
         -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
         -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
         -o smtpd_bind_address=127.0.0.1
         -o smtpd_bind_address=127.0.0.1
</code>
</pre>


Ajoutez avec un éditeur les deux lignes suivantes à la fin du fichier /etc/postfix/main.cf
Ajoutez avec un éditeur les deux lignes suivantes à la fin du fichier /etc/postfix/main.cf
Ligne 928 : Ligne 928 :


  root@facteur:~# nano /etc/amavis/conf.d/15-content_filter_mode
  root@facteur:~# nano /etc/amavis/conf.d/15-content_filter_mode
<code>
<pre>
use strict;
use strict;


Ligne 956 : Ligne 956 :


1;  # ensure a defined return
1;  # ensure a defined return
</code>
</pre>


Nous allons maintenant configurer la quarantaine :
Nous allons maintenant configurer la quarantaine :


  root@facteur:~# nano /etc/amavis/conf.d/50-user
  root@facteur:~# nano /etc/amavis/conf.d/50-user
<code>
<pre>
use strict;
use strict;


Ligne 982 : Ligne 982 :
#------------ Do not modify anything below this line -------------
#------------ Do not modify anything below this line -------------
1;  # ensure a defined return
1;  # ensure a defined return
</code>
</pre>


Création du répertoire qui va accueillir les mails infectés:
Création du répertoire qui va accueillir les mails infectés:
Ligne 996 : Ligne 996 :


  root@facteur:~# nano /etc/default/spamassassin
  root@facteur:~# nano /etc/default/spamassassin
<code>
<pre>
# Change to one to enable spamd
# Change to one to enable spamd
ENABLED=1
ENABLED=1
Ligne 1 004 : Ligne 1 004 :
# spamassassin's rules on a nightly basis
# spamassassin's rules on a nightly basis
CRON=1
CRON=1
</code>
</pre>


  root@facteur:~# service spamassassin start
  root@facteur:~# service spamassassin start
Ligne 1 037 : Ligne 1 037 :
Il sera détecté comme Spam:
Il sera détecté comme Spam:


<code>
<pre>
telnet 192.168.3.114 25
telnet 192.168.3.114 25
Trying 192.168.3.114...
Trying 192.168.3.114...
Ligne 1 060 : Ligne 1 060 :
221 2.0.0 Bye
221 2.0.0 Bye
Connection closed by foreign host.
Connection closed by foreign host.
</code>
</pre>


Et effectivement... "facteur amavis[7057]: (07057-01) Blocked SPAM"
Et effectivement... "facteur amavis[7057]: (07057-01) Blocked SPAM"


<code>
<pre>
Apr  6 17:29:21 facteur postfix/smtpd[7964]: connect from sidlol.zehome.org[192.168.0.2]
Apr  6 17:29:21 facteur postfix/smtpd[7964]: connect from sidlol.zehome.org[192.168.0.2]
Apr  6 17:30:13 facteur postfix/smtpd[7964]: F19436C405: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Apr  6 17:30:13 facteur postfix/smtpd[7964]: F19436C405: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Ligne 1 080 : Ligne 1 080 :
Apr  6 17:35:42 facteur postfix/qmgr[7933]: 6CAEE6C413: removed
Apr  6 17:35:42 facteur postfix/qmgr[7933]: 6CAEE6C413: removed
Apr  6 17:35:43 facteur postfix/smtpd[7964]: disconnect from sidlol.zehome.org[192.168.0.2]
Apr  6 17:35:43 facteur postfix/smtpd[7964]: disconnect from sidlol.zehome.org[192.168.0.2]
</code>
</pre>


===== Test de l'anti-virus =====
===== Test de l'anti-virus =====
Ligne 1 090 : Ligne 1 090 :
Effectivement le mail est mis en quarantaine: "Passed BAD-HEADER, LOCAL [192.168.0.2] [192.168.0.2] <essai@essai.org> -> <admin@zehome.org>, quarantine: S/badh-SURoiIuWSpyN"
Effectivement le mail est mis en quarantaine: "Passed BAD-HEADER, LOCAL [192.168.0.2] [192.168.0.2] <essai@essai.org> -> <admin@zehome.org>, quarantine: S/badh-SURoiIuWSpyN"


<code>
<pre>
Apr  6 19:19:24 facteur postfix/smtpd[13605]: A60AA6C416: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Apr  6 19:19:24 facteur postfix/smtpd[13605]: A60AA6C416: client=sidlol.zehome.org[192.168.0.2], sasl_method=LOGIN, sasl_username=essai@essai.org
Apr  6 19:19:39 facteur postfix/cleanup[13617]: A60AA6C416: message-id=<>
Apr  6 19:19:39 facteur postfix/cleanup[13617]: A60AA6C416: message-id=<>
Ligne 1 104 : Ligne 1 104 :
Apr  6 19:19:40 facteur postfix/qmgr[7933]: 81CB86C417: removed
Apr  6 19:19:40 facteur postfix/qmgr[7933]: 81CB86C417: removed
Apr  6 19:19:41 facteur postfix/smtpd[13605]: disconnect from sidlol.zehome.org[192.168.0.2]
Apr  6 19:19:41 facteur postfix/smtpd[13605]: disconnect from sidlol.zehome.org[192.168.0.2]
</code>
</pre>


Vous le retrouverez dans le sous-répertoire suivant : /var/spool/virusmails/S/badh-SURoiIuWSpyN (voyez les logs: quarantine: S/badh-SURoiIuWSpyN)
Vous le retrouverez dans le sous-répertoire suivant : /var/spool/virusmails/S/badh-SURoiIuWSpyN (voyez les logs: quarantine: S/badh-SURoiIuWSpyN)
Ligne 1 120 : Ligne 1 120 :


  root@facteur:~# nano /etc/default/postgrey
  root@facteur:~# nano /etc/default/postgrey
<code>
<pre>
  POSTGREY_OPTS="--inet=10023 --delay=300 --hostname=facteur.zehome.org --auto-whitelist-clients"
  POSTGREY_OPTS="--inet=10023 --delay=300 --hostname=facteur.zehome.org --auto-whitelist-clients"
</code>
</pre>
  root@facteur:~# nano /etc/postfix/main.cf
  root@facteur:~# nano /etc/postfix/main.cf
<code>
<pre>
...
...
smtpd_recipient_restrictions =
smtpd_recipient_restrictions =
Ligne 1 131 : Ligne 1 131 :
   check_policy_service inet:127.0.0.1:10023,
   check_policy_service inet:127.0.0.1:10023,
   reject_invalid_hostname
   reject_invalid_hostname
</code>
</pre>


  root@facteur:~# service postgrey restart
  root@facteur:~# service postgrey restart
  root@facteur:~# service postfix restart
  root@facteur:~# service postfix restart
<code>
<pre>
  root@facteur:~# netstat -tulpen | grep LISTEN
  root@facteur:~# netstat -tulpen | grep LISTEN
...
...
tcp        0      0 127.0.0.1:10023        0.0.0.0:*              LISTEN      0          7338        2271/postgrey.pid -
tcp        0      0 127.0.0.1:10023        0.0.0.0:*              LISTEN      0          7338        2271/postgrey.pid -
...
...
</code>
</pre>


Vous disposez de deux fichiers dans lesquels vous pouvez mettre en "liste blanche" des domaines "amis" ou des adresses de destination:
Vous disposez de deux fichiers dans lesquels vous pouvez mettre en "liste blanche" des domaines "amis" ou des adresses de destination:
<code>
<pre>
root@facteur:~# vdir /etc/postgrey/
root@facteur:~# vdir /etc/postgrey/
total 12
total 12
-rw-r--r-- 1 root root 7580 12 janv. 00:15 whitelist_clients
-rw-r--r-- 1 root root 7580 12 janv. 00:15 whitelist_clients
-rw-r--r-- 1 root root  189 12 janv. 00:15 whitelist_recipients
-rw-r--r-- 1 root root  189 12 janv. 00:15 whitelist_recipients
</code>
</pre>


== Le Webmail ==
== Le Webmail ==
Ligne 1 170 : Ligne 1 170 :
  root@facteur:~# /usr/sbin/squirrelmail-configure
  root@facteur:~# /usr/sbin/squirrelmail-configure


<code>
<pre>
Command >> 2 (Server Settings)
Command >> 2 (Server Settings)
Command >> A (Update IMAP Settings)
Command >> A (Update IMAP Settings)
Ligne 1 177 : Ligne 1 177 :
Command >> s
Command >> s
Command >> q
Command >> q
</code>
</pre>


Créez un domaine avec postfixadmin (si ce n'est pas déjà fait).
Créez un domaine avec postfixadmin (si ce n'est pas déjà fait).
Ligne 1 204 : Ligne 1 204 :


  root@facteur:~# /var/www/squirrelmail/configure
  root@facteur:~# /var/www/squirrelmail/configure
<code>
<pre>
Command >> 2 (Server Settings)
Command >> 2 (Server Settings)
Command >> A (Update IMAP Settings)
Command >> A (Update IMAP Settings)
Ligne 1 211 : Ligne 1 211 :
Command >> s
Command >> s
Command >> q
Command >> q
</code>
</pre>


Créons les répertoires qui accueilleront les données personnelles (carnet d'adresses, références...) et les pièces jointes:
Créons les répertoires qui accueilleront les données personnelles (carnet d'adresses, références...) et les pièces jointes:
Ligne 1 277 : Ligne 1 277 :
  root@facteur:~# mysql -u root -p
  root@facteur:~# mysql -u root -p
  Enter password:  
  Enter password:  
<code>
<pre>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 48
Your MySQL connection id is 48
Ligne 1 299 : Ligne 1 299 :
mysql> quit
mysql> quit
Bye
Bye
</code>
</pre>


==== Installation ====
==== Installation ====
Ligne 1 341 : Ligne 1 341 :
  root@facteur:~# nano /etc/apache2/apache2.conf
  root@facteur:~# nano /etc/apache2/apache2.conf
et ajoutez ceci à la fin du fichier :
et ajoutez ceci à la fin du fichier :
<code>
<pre>
Alias /webmail "/var/www/roudcubemail"
Alias /webmail "/var/www/roudcubemail"


Ligne 1 362 : Ligne 1 362 :
         Deny from all
         Deny from all
</Directory>
</Directory>
</code>
</pre>


Puis rechargez apache :
Puis rechargez apache :
Ligne 1 374 : Ligne 1 374 :
ceci :
ceci :


<code>
<pre>
smtps    inet  n      -      n      -      -      smtpd
smtps    inet  n      -      n      -      -      smtpd
   -o smtpd_tls_wrappermode=yes
   -o smtpd_tls_wrappermode=yes
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_sasl_auth_enable=yes
</code>
</pre>


Modifions aussi le fichier /etc/postfix/main.cf, on y ajoute  
Modifions aussi le fichier /etc/postfix/main.cf, on y ajoute  
<code>
<pre>
# SASL parameters
# SASL parameters
# ---------------------------------
# ---------------------------------
Ligne 1 418 : Ligne 1 418 :
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


</code>
</pre>


  root@facteur:~# service postfix restart
  root@facteur:~# service postfix restart
Ligne 1 434 : Ligne 1 434 :
Sur Squirrelmail:
Sur Squirrelmail:


<code>
<pre>
SMTP Settings
SMTP Settings
-------------
-------------
Ligne 1 443 : Ligne 1 443 :
8.  Secure SMTP (TLS)    : true
8.  Secure SMTP (TLS)    : true
9.  Header encryption key :
9.  Header encryption key :
</code>
</pre>


Sur Roundcube (dans le fichier /var/www/roundcubemail/config/main.inc.php)
Sur Roundcube (dans le fichier /var/www/roundcubemail/config/main.inc.php)


<code>
<pre>
// ----------------------------------
// ----------------------------------
// SMTP
// SMTP
Ligne 1 458 : Ligne 1 458 :
$rcmail_config['smtp_auth_cid'] = null;
$rcmail_config['smtp_auth_cid'] = null;
$rcmail_config['smtp_auth_pw'] = null;
$rcmail_config['smtp_auth_pw'] = null;
</code>
</pre>


== Plus loin avec Dovecot ==
== Plus loin avec Dovecot ==
Ligne 1 535 : Ligne 1 535 :


  root@facteur:~# /var/www/squirrelmail/configure
  root@facteur:~# /var/www/squirrelmail/configure
<code>
<pre>
Command >> 8 (Plugins)
Command >> 8 (Plugins)
Command >> ? (avelsieve) + (javascript_libs)
Command >> ? (avelsieve) + (javascript_libs)
Command >> s
Command >> s
Command >> q
Command >> q
</code>
</pre>


Vous avez maintenant accès à une nouvelle option: Filtres!
Vous avez maintenant accès à une nouvelle option: Filtres!
Ligne 1 548 : Ligne 1 548 :
Si vous activez le répondeur automatique vous aurez une réponse dans ce genre (en-tête du mail de réponse) :
Si vous activez le répondeur automatique vous aurez une réponse dans ce genre (en-tête du mail de réponse) :


<code>
<pre>
Return-Path: <MAILER-DAEMON>
Return-Path: <MAILER-DAEMON>
Delivered-To: essai1@essai.org
Delivered-To: essai1@essai.org
Ligne 1 574 : Ligne 1 574 :
Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit
</code>
</pre>


==== Roundcube : ajouter le plugin "managesieve" ====
==== Roundcube : ajouter le plugin "managesieve" ====
Ligne 1 626 : Ligne 1 626 :
Modification de la configuration de Dovecot:
Modification de la configuration de Dovecot:
  root@facteur:~# nano /etc/dovecot/dovecot.conf
  root@facteur:~# nano /etc/dovecot/dovecot.conf
<code>
<pre>
...
...
protocol imap {
protocol imap {
Ligne 1 653 : Ligne 1 653 :
   quota_warning2 = storage=90%% /usr/local/bin/quota-warning.sh 90 %u
   quota_warning2 = storage=90%% /usr/local/bin/quota-warning.sh 90 %u
}
}
</code>
</pre>


Création du fichier en charge d'alimenter la base de donnée concernant les quotas:
Création du fichier en charge d'alimenter la base de donnée concernant les quotas:
  root@facteur:~# nano /etc/dovecot/dovecot-dict-sql.conf
  root@facteur:~# nano /etc/dovecot/dovecot-dict-sql.conf
<code>
<pre>
connect = host=127.0.0.1 dbname=postfix user=postfixadmin password=monmotdepasse
connect = host=127.0.0.1 dbname=postfix user=postfixadmin password=monmotdepasse
map {
map {
Ligne 1 671 : Ligne 1 671 :
   value_field = messages
   value_field = messages
}
}
</code>
</pre>


Modification de la requête à la base Mysql:
Modification de la requête à la base Mysql:
  root@facteur:~# nano /etc/dovecot/dovecot-mysql.conf
  root@facteur:~# nano /etc/dovecot/dovecot-mysql.conf
<code>
<pre>
driver = mysql
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfixadmin password=Perso2
connect = host=127.0.0.1 dbname=postfix user=postfixadmin password=Perso2
Ligne 1 681 : Ligne 1 681 :
user_query = SELECT '/home/facteur/%d/%n' AS home, 3000 AS uid, 3000 AS gid, CONCAT('*:bytes=', CAST(quota AS CHAR)) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
user_query = SELECT '/home/facteur/%d/%n' AS home, 3000 AS uid, 3000 AS gid, CONCAT('*:bytes=', CAST(quota AS CHAR)) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
password_query = SELECT password FROM mailbox WHERE username = '%u'
password_query = SELECT password FROM mailbox WHERE username = '%u'
</code>
</pre>


Prise en charge des quotas dans postfixadmin:
Prise en charge des quotas dans postfixadmin:
  root@facteur:~# nano /var/www/postfixadmin/config.inc.php
  root@facteur:~# nano /var/www/postfixadmin/config.inc.php
<code>
<pre>
...
...
// Quota
// Quota
Ligne 1 702 : Ligne 1 702 :
// Note about dovecot config: table "quota" is for 1.0 & 1.1, table "quota2" is for dovecot 1.2 and newer
// Note about dovecot config: table "quota" is for 1.0 & 1.1, table "quota2" is for dovecot 1.2 and newer
$CONF['new_quota_table'] = 'YES';
$CONF['new_quota_table'] = 'YES';
</code>
</pre>


Création du script chargé d'envoyer les alertes:
Création du script chargé d'envoyer les alertes:
  root@facteur:~# nano /usr/local/bin/quota-warning.sh
  root@facteur:~# nano /usr/local/bin/quota-warning.sh
<code>
<pre>
#!/bin/sh
#!/bin/sh


Ligne 1 725 : Ligne 1 725 :


exit 0
exit 0
</code>
</pre>
  root@facteur:~# chown dovecot:facteur /usr/local/bin/quota-warning.sh
  root@facteur:~# chown dovecot:facteur /usr/local/bin/quota-warning.sh
  root@facteur:~# chmod+x /usr/local/bin/quota-warning.sh
  root@facteur:~# chmod+x /usr/local/bin/quota-warning.sh
Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321

modifications

Menu de navigation