Afin qu'apache sache le nom du serveur sur lequel il est installé (évite l'affichage de warnings)
-----------------------------------------------------------------
Ajouter la directive suivante à la fin du fichier /etc/apache2/apache2.conf :
ServerName "mail.fij.name"

Recharger la configuration d'apache :
# /etc/init.d/apache2 reload


===============================================================
= Installation d'une solution antispam/antivirus pour postfix = (amavis, spamassassin, clamav, pyzor, razor)
===============================================================

# aptitude install amavisd-new spamassassin clamav-daemon
# aptitude install libnet-dns-perl libmail-spf-perl pyzor razor
# aptitude install arj bzip2 cabextract cpio file gzip lha nomarch pax rar unrar unzip zip


Configuration de clamav
-----------------------
Ajouter l'utilisateur 'clamav' au groupe 'amavis' et vice versa pour que clamav puisse accéder aux fichiers scannés :
# adduser clamav amavis
# adduser amavis clamav


Configuration de spamassassin
-----------------------------
# vim /etc/default/spamassassin

Trouver les lignes ENABLED=0 et CRON=0, et remplacer les '0' par des '1':
ENABLED=1
CRON=1

Démarrer spamassassin:
# /etc/init.d/spamassassin start


Configuration d'amavis
----------------------
Activer la détection des spams et virus dans amavis en éditant /etc/amavis/conf.d/15-content_filter_mode :
# vim /etc/amavis/conf.d/15-content_filter_mode
Décommenter les lignes suivantes :

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
 
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Indiquer à amavis le nom du serveur sur lequel il est installé :
# vim /etc/amavis/conf.d/05-node_id
Modifier la ligne :
$myhostname = "mail.fij.name";

Modifier les réglages par défaut du mainteneur debian :
Il n'est pas intéressant de stocker les spams dans le dossier d'amavis ni de répondre à des spams par des 'bounces'.
De manière générale, il ne faut pas répondre aux spams, même par des messages d'avertissement ou d'erreur.
# vim /etc/amavis/conf.d/20-debian_defaults
Modifier quatres lignes afin d'obtenir les lignes suivantes :

$syslog_priority = 'info';
$QUARANTINEDIR = "/var/virusmails";
$final_spam_destiny  = D_DISCARD;
$sa_spam_subject_tag = undef;

Créer un dossier où amavis ira placer les mails/spams/virus lorsqu'ils auront été scannés:
# mkdir /var/virusmails
# chown -R amavis:amavis /var/virusmails/

Redémarrer amavis:
# /etc/init.d/amavis restart


Configurer postfix afin qu'il puisse s'interfacer avec amavis :
---------------------------------------------------------------
# vim /etc/postfix/main.cf
Ajouter cette ligne avant les lignes concernant zarafa (vous pouvez laisser un commentaire indiquant qu'il s'agit d'une ligne ajoutée qui sert à interfacer amavis avec postfix) :
content_filter = smtp-amavis:[127.0.0.1]:10024

Modifier le fichier 'master.cf' (ensemble des processus lancés et gérés par postfix).
Amavis recevra les mails par postfix sur le port 10024 et les renverra une fois scannés sur le port 10025.
# vim /etc/postfix/master.cf
Ajouter en fin de fichier (bien conserver l'identation des '-o') :

smtp-amavis     unix    -       -       -       -       2       smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes
   -o max_use=20
 
127.0.0.1:10025 inet    n       -       -       -       -       smtpd
   -o content_filter=
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_delay_reject=no
   -o smtpd_client_restrictions=permit_mynetworks,reject
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o smtpd_data_restrictions=reject_unauth_pipelining
   -o smtpd_end_of_data_restrictions=
   -o mynetworks=127.0.0.0/8
   -o smtpd_error_sleep_time=0
   -o smtpd_soft_error_limit=1001
   -o smtpd_hard_error_limit=1000
   -o smtpd_client_connection_count_limit=0
   -o smtpd_client_connection_rate_limit=0
   -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks


Recharger la configuration de postfix, redémarrer clamav et mettre à jour clamav :
# /etc/init.d/postfix reload
# /etc/init.d/clamav-daemon restart
# freshclam

Vérification qu'amavis est bien à l'écoute sur le port 10024 :
# aptitude install telnet
# telnet localhost 10024
'^]' pour clôturer la connection
'quit'      pour quitter telnet


Commandes utiles pour vérifier les logs du serveur mail :
# cat /var/log/mail.log
# tail -f /var/log/mail.log


Initialiser Razor
-----------------
# razor-admin -create
# razor-admin -register -l
# razor-admin -discover
# su amavis -c 'razor-admin -create'
# su amavis -c 'razor-admin -register -l'
# su amavis -c 'razor-admin -discover'


Initialiser Pyzor
-----------------
# cd /usr/bin
# wget http://www200.pair.com/mecham/spam/pyzor.deprecation.txt
# cp pyzor pyzor.original
# aptitude install patch
# patch pyzor <pyzor.deprecation.txt
# pyzor discover
# su amavis -c 'pyzor discover'
# pyzor ping
# su amavis -c 'pyzor ping'

Lister de façon récursive tous les fichiers contenus dans le répertoire 'home' d'amavis :
# ls -alhR /var/lib/amavis/
Ils doivent bien appartenir à l'utilisateur et au groupe système créés pour amavis.



=============================================================================
= Configurer apache pour un accès HTTPS (SSL, port 443) au webmail de zarafa =
=============================================================================

# a2enmod ssl
Copier le fichier 'zarafa-ssl' dans /etc/apache2/sites-enabled/
Effacer les autres fichiers zarafa-* (liens symboliques) de ce répertoire.
# /etc/init.d/apache2 restart



=============
= Exercices =
=============

- Installer mailgraph et queuegraph (cgi serveur web : ils génèrent des statistiques sous forme de graphes à partir des logs du serveur mail [mails reçus, envoyés, refusés, considérés comme spam ; mails se trouvant dans les queues de postfix, ...])
- Configurer POPS et IMAPS pour zarafa (voir le manuel de l'administrateur).