serveur_hebergement:serveur_mail:partie_6_roundcube

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_hebergement:serveur_mail:partie_6_roundcube [2023/01/13 12:48] fateserveur_hebergement:serveur_mail:partie_6_roundcube [2023/08/08 14:00] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Partie 6 : Roundcube ====== ====== Partie 6 : Roundcube ======
- 
-====== A rédiger ====== 
  
 Roundcube est un webmail, permettant donc de lire et d'envoyer vos e-mail via une interface web. Pour fonctionner, Roundcube nécessite un serveur web, Apache2 dans mon cas, PHP et un serveur de base de données, MySQL dans mon cas. Je pars du principe que ces services sont présent sur votre serveur. Roundcube est un webmail, permettant donc de lire et d'envoyer vos e-mail via une interface web. Pour fonctionner, Roundcube nécessite un serveur web, Apache2 dans mon cas, PHP et un serveur de base de données, MySQL dans mon cas. Je pars du principe que ces services sont présent sur votre serveur.
Ligne 84: Ligne 82:
  
 Idem que la ligne précédente mais quand on déplace un mail du dossier spam vers le dossier courrier entrant, remplacez la ligne  Idem que la ligne précédente mais quand on déplace un mail du dossier spam vers le dossier courrier entrant, remplacez la ligne 
-<code>$config['markasjunk2_move_ham'] = false;</code> +<code>$config['markasjunk_move_ham'] = false;</code> 
 par  par 
-<code>$config['markasjunk2_move_ham'] = true;</code>+<code>$config['markasjunk_move_ham'] = true;</code>
  
 Remplacez la ligne :  Remplacez la ligne : 
-<code>$config['markasjunk2_spam_cmd'] = null;</code> +<code>$config['markasjunk_spam_cmd'] = null;</code> 
 par par
-<code>$config['markasjunk2_spam_cmd'] = 'sa-learn -D learn,bayes -u amavis dbpath /var/lib/amavis/.spamassassin/ cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' prefspath=/var/lib/amavis/.spamassassin/user_prefs spam %f >> /var/www/logs/sa-learn.log 2>&1';</code>+<code>$config['markasjunk_spam_cmd'] = 'sa-learn -D learn,bayes -u amavis --dbpath /var/lib/amavis/.spamassassin/ --cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' --prefspath=/var/lib/amavis/.spamassassin/user_prefs --spam %f >> /var/www/logs/sa-learn.log 2>&1';</code>
  
 Remplacez la ligne  Remplacez la ligne 
-<code>$config['markasjunk2_ham_cmd'] = null;</code> +<code>$config['markasjunk_ham_cmd'] = null;</code> 
 par  par 
-<code>$config['markasjunk2_ham_cmd'] = 'sa-learn -D learn,bayes -u amavis dbpath /var/lib/amavis/.spamassassin/ cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' prefspath=/var/lib/amavis/.spamassassin/user_prefs ham %f >> /var/www/logs/sa-learn.log 2>&1';</code>+<code>$config['markasjunk_ham_cmd'] = 'sa-learn -D learn,bayes -u amavis --dbpath /var/lib/amavis/.spamassassin/ --cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' --prefspath=/var/lib/amavis/.spamassassin/user_prefs --ham %f >> /var/www/logs/sa-learn.log 2>&1';</code>
  
 J’expliquerai ces deux lignes plus tard. J’expliquerai ces deux lignes plus tard.
Ligne 114: Ligne 112:
   * -u amavis sert à indiquer qu’on veut lancer cette commande avec le profil de l’utilisateur amavis (c’est lui qui détient la base de donnée anti-spam).   * -u amavis sert à indiquer qu’on veut lancer cette commande avec le profil de l’utilisateur amavis (c’est lui qui détient la base de donnée anti-spam).
   * --dbpath /var/lib/amavis/.spamassassin/ indique dans quel répertoire se trouve la base de donnée anti-spam.   * --dbpath /var/lib/amavis/.spamassassin/ indique dans quel répertoire se trouve la base de donnée anti-spam.
-  * --cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' indique où se trouve le filtre bayésien qui sert à tester les e-mails.    --prefspath=/var/lib/amavis/.spamassassin/user_prefs indique où se trouve le fichier de préférence à utiliser +  * --cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' indique où se trouve le filtre bayésien qui sert à tester les e-mails. 
-    --spam %f et ---ham %f servent à marquer le mail sélectionné en tant que spam ou ham +  * --prefspath=/var/lib/amavis/.spamassassin/user_prefs indique où se trouve le fichier de préférence à utiliser. 
-    enfin, >> /var/www/logs/sa-learn.log 2>&1 sert à écrire les logs du mode debug dans le fichier /var/www/logs/sa-learn/log. C’est pour ça que je vous ai fait créer ce répertoire et l’ai rendu accessible à l’utilisateur www-data.+  --spam %f et ---ham %f servent à marquer l'e-mail sélectionné en tant que spam ou ham. 
 +  * Enfin, >> /var/www/logs/sa-learn.log 2>&1 sert à écrire les logs du mode debug dans le fichier /var/www/logs/sa-learn/log. C’est pour ça que je vous ai fait créer ce répertoire et l’ai rendu accessible à l’utilisateur www-data.
  
-Si vous vous rendez sur Roundcube et vous connectez, vous remarquerez un bouton Pourriel si vous êtes dans les courriers entrants et Not junk si vous êtes dans le dossier spam. Il vous suffit de sélectionner un mail puis de cliquer sur ce bouton pour apprendre au filtre anti-spam que ce mail doit être considéré comme un spam ou comme un ham, selon le dossier dans lequel vous vous trouvez+On va devoir maintenant donner les droits à l'utilisateur www-data d'accéder aux fichiers situés dans /var/lib/amavis/.spamassassin/. Lancez les commandes suivantes : 
-Après avoir effectué cette action, vous trouverez dans le fichier /var/www/logs/sa-learn.log les logs liés à sa-learn avec à la fin un message comme celui-ci Learned tokens from 1 message(s) (1 message(s) examined) vous indiquant si le message a bien était examiné et si sa-learn a amélioré son algo avec ce mail+<code bash> 
-7) Méthode Thunderbird+sudo chmod 770 /var/lib/amavis 
 +sudo chmod 770 /var/lib/amavis/.spamassassin 
 +sudo chmod 770 /var/lib/amavis/.spamassassin/bayes_* 
 +sudo addgroup www-data amavis 
 +</code>
  
-Maintenant que la première méthode est traitée, passons à la seconde. Avant de vous lancez dans cette méthodeil faut que vous ayez un serveur mail imap d’activé et configuré. Si vous avez suivi le tuto sur ISPConfig, vous devriez avoir tout ce qu’il faut d’installéIl faudra penser à ouvrir les port imap (143 ou 993 suivant si vous utilisez le ssl ou non).+Si vous vous rendez sur Roundcube et vous connectez, vous remarquerez un bouton Pourriel si vous êtes dans les courriers entrants et Acceptable si vous êtes dans le dossier spam. Il vous suffit de sélectionner un e-mail puis de cliquer sur ce bouton pour apprendre au filtre anti-spam que cet e-mail doit être considéré comme un spam ou comme un hamselon le dossier dans lequel vous vous trouvez. 
 +Après avoir effectué cette action, vous trouverez dans le fichier /var/www/logs/sa-learn.log les logs liés à sa-learn avec à la fin un message comme celui-ci Learned tokens from 1 message(s) (1 message(s) examined) vous indiquant si le message a bien était examiné et si sa-learn a amélioré son algo avec cet e-mail.
  
-Sur votre gestionnaire de mail (Thunderbird ou autre), rajouter votre compte email en utilisant l’imap et non le pop3. Une fois le compte créé, via Thunderbird créez les dossiers Spam_sa-learn et Ham_sa-learn à la racine de votre compte mail. Vous pouvez changez les noms si vous le souhaitezVous devriez avoir ceci :+Si vous n'utilisez pas de webmail mais préférez utiliser un gestionnaire d'e-mail en local comme Thunderbird, une autre méthode existe.
  
-Sur votre serveur, rendez vous dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/Maildir. Si l’adresse mail rajoutée sur Thunderbird était toto@memodugeek.info, le répertoire où aller serait /var/vmail/memodugeek.info/toto/Maildir.  En tapant la commande ls -lah, vous verrez que deux dossier sont présents, .Spam_sa-learn et .Ham_sa-learn.  Ces deux dossiers vont nous permettre d’indiquer à sa-learn que les mails contenus dans .Spam_sa-learn sont des ham qui aurait dû être classés en spam et que les mails contenus dans .Ham_sa-learn sont des spam qui aurait dû être classés en ham.+=== Méthode Thunderbird ===
  
-Tout d’abord il faut que l’utilisateur amavisqui gère le filtrage des mail en utilisant Spamassassin, puisse avoir accès à ces dossiersPour commencer, on va mettre l’utilisateur amavis dans le groupe de vmaille propriétaire du répertoire /var/vmail ainsi que de ses sous-dossierPour ce faire, tapez la commande addgroup amavis vmail.+Sur votre gestionnaire de mail (Thunderbird ou autre)rajouter votre compte e-mail en utilisant L’IMAPUne fois le compte créévia Thunderbird, créez les dossiers Spam_sa-learn et Ham_sa-learn à la racine de votre compte mailVous pouvez changez les noms si vous le souhaitez
  
-Ensuite, on va modifier les droits du répertoire /var/vmail. De base, ce répertoire est accessible en lecture/écriture pour le propriétaire (vmail) et en lecture seule pour les utilisateurs faisant parti du groupe vmail. On va modifier ça pour que les utilisateurs membre du groupe vmail (donc amavis) puisse écrire dans ce répertoire, avec la commande chmod 775 -R /var/vmail/. +Sur votre serveur, rendez vous dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/Maildir. Si l’adresse mail rajoutée sur Thunderbird était toto@nomdedomaine.fr, le répertoire où aller serait /var/vmail/nomdedomaine.fr/toto/Maildir. En tapant la commande ls -lah, vous verrez que deux dossier sont présents, .Spam_sa-learn et .Ham_sa-learn.  Ces deux dossiers vont nous permettre d’indiquer à sa-learn que les e-mails contenus dans .Spam_sa-learn sont des ham qui aurait dû être classés en spam et que les e-mails contenus dans .Ham_sa-learn sont des spam qui aurait dû être classés en ham. 
-On va également modifier les droits des deux dossiers que nous avons créés pour que tous les utilisateurs puissent écrire dedans. Toujours en étant dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/Maildir tapez la commande chmod 777 -R .Spam_sa_learn/ .Ham_sa_learn/+ 
 +Tout d’abord il faut que l’utilisateur amavis, qui gère le filtrage des mail en utilisant Spamassassin, puisse avoir accès à ces dossiers. Pour commencer, on va mettre l’utilisateur amavis dans le groupe de vmail, le propriétaire du répertoire /var/vmail ainsi que de ses sous-dossier. Pour ce faire, tapez la commande suivante  
 +<code bash>sudo addgroup amavis vmail</code> 
 + 
 +Ensuite, on va modifier les droits du répertoire /var/vmail. De base, ce répertoire est accessible en lecture/écriture pour le propriétaire (vmail) et en lecture seule pour les utilisateurs faisant parti du groupe vmail. On va modifier ça pour que les utilisateurs membre du groupe vmail (donc amavis) puisse écrire dans ce répertoire. Lancez la commande suivante :  
 +<code bash>sudo chmod 775 -R /var/vmail/</code> 
 + 
 +On va également modifier les droits des deux dossiers que nous avons créés pour que tous les utilisateurs puissent écrire dedans. Toujours en étant dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/Maildir tapez la commande suivante : 
 +<code bash>sudo chmod 777 -R .Spam_sa_learn/ .Ham_sa_learn/</code>
  
 Maintenant que ceci est fait, on va modifier le cron de l’utilisateur amavis. Le cron permet de planifier des tâches. Il permet par exemple de lancer une commande ou un script tous les jours à 17h45 (un exemple parmi d’autres). Maintenant que ceci est fait, on va modifier le cron de l’utilisateur amavis. Le cron permet de planifier des tâches. Il permet par exemple de lancer une commande ou un script tous les jours à 17h45 (un exemple parmi d’autres).
-Tapez la commande sudo -u amavis crontab -e et choisissez nano si on vous pose la question. Rajoutez les lignes suivantes :+Tapez la commande :  
 +<code bash>sudo -u amavis crontab -e</code>  
 +Choisissez nano si on vous pose la question et rajoutez les lignes suivantes :
  
-00 00 * * * if [ "$(ls /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/)" ]; then sa-learn -D learn,bayes –spam /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/ >> /var/www/logs/sa-learn.log 2>&1 && rm -R /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/*; fi +<code bash>00 00 * * * if [ "$(ls /var/vmail/nomdedomaine.fr/toto/Maildir/.Spam_sa-learn/cur/)" ]; then sa-learn -D learn,bayes –spam /var/vmail/nomdedomaine.fr/toto/Maildir/.Spam_sa-learn/cur/ >> /var/www/logs/sa-learn.log 2>&1 && rm -R /var/vmail/nomdedomaine.fr/toto/Maildir/.Spam_sa-learn/cur/*; fi 
-01 00 * * * if [ "$(ls /var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/)" ]; then sa-learn -D learn,bayes –ham /var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/ >> /var/www/logs/sa-learn.log 2>&1 && rm -R /var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/*; fi+01 00 * * * if [ "$(ls /var/vmail/nomdedomaine.fr/toto/Maildir/.Ham_sa-learn/cur/)" ]; then sa-learn -D learn,bayes –ham /var/vmail/nomdedomaine.fr/toto/Maildir/.Ham_sa-learn/cur/ >> /var/www/logs/sa-learn.log 2>&1 && rm -R /var/vmail/nomdedomaine.fr/toto/Maildir/.Ham_sa-learn/cur/*; fi</code>
  
-Il faudra évidemment remplacer memodugeek.info et toto par votre nom de domaine et votre utilisateur mail.+Il faudra évidemment remplacer nomdedomaine.fr et toto par votre nom de domaine et votre utilisateur mail.
  
-Si vous n’avez pas suivi la méthode utilisant Roundcube, il vous faut lancer la commande mkdir /var/www/logs puis chown -R www-data:www-data /var/www/logsLa première commande sert à créer le dossier logs dans le répertoire /var/www et la seconde à mettre l’utilisateur www-data, qui exécute toutes les application web comme Roundcube, propriétaire de ce dossier+Si vous n’avez pas suivi la méthode utilisant Roundcube, il vous faut lancer les commandes suivantes pour créer le répertoire de log et configurer les droits :  
-Ensuite, lancez la commande sudo -u www-data touch /var/www/logs/sa-learn.log pour créer le fichier de log.+<code bash> 
 +sudo mkdir /var/www/logs  
 +sudo chown -R www-data:www-data /var/www/logs 
 +</code> 
 +La première commande sert à créer le dossier logs dans le répertoire /var/www et la seconde à mettre l’utilisateur www-data, qui exécute toutes les application web comme Roundcube, propriétaire de ce dossier.
  
-Ensuite, lancez la commande chmod 777 -/var/www/logs/*  afin que les fichiers de logs soient accessibles à tous les utilisateurs. Cette dernière commande doit être lancée même si vous avez suivi la méthode Roundcube.+Ensuite, lancez la commande suivante pour créer le fichier de log : 
 +<code bash>sudo -u www-data touch /var/www/logs/sa-learn.log</code>
  
-Expliquons un peu ces lignes :+Ensuite, lancez la commande suivante afin que les fichiers de logs soient accessibles à tous les utilisateurs  
 +<code bash>sudo chmod 777 -R /var/www/logs/*</code> 
  
-    00 00 * * * et 01 00 * * * signifient que ces lignes vont être exécutées tous les jours à 00:00 et 00:01 +Expliquons un peu ces lignes : 
-    if [ "$(ls /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/)" ]; then est une condition pour que le reste de la commande s’exécute. Cette condition est que le répertoire /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/ ne soit pas vide. Ca évitera les remontées de message d’erreur suite à la tentative de supprimer le contenu d’un répertoire vide. +  * 00 00 * * * et 01 00 * * * signifient que ces lignes vont être exécutées tous les jours à 00:00 et 00:01. 
-    sa-learn correspond au binaire à exécuter. Comme dit précédemment, sa-learn est un outil de Spamassassin qui permet d’apprendre au filtre bayésien quels mails sont des spams et lesquels n’en sont pas +  if [ "$(ls /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/)" ]; then est une condition pour que le reste de la commande s’exécute. Cette condition est que le répertoire /var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/ ne soit pas vide. Ca évitera les remontées de message d’erreur suite à la tentative de supprimer le contenu d’un répertoire vide. 
-    -D learn,bayes : -D active le mode debug de sa-learn et learn,bayes indique quelle partie on veut en mode debug. J’ai seulement activé la partie apprentissage et les messages liés au filtre bayésien. +  sa-learn correspond au binaire à exécuter. Comme dit précédemment, sa-learn est un outil de Spamassassin qui permet d’apprendre au filtre bayésien quels mails sont des spams et lesquels n’en sont pas. 
-    --spam var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/ indique que sa-learn va scanner les mails contenus dans le dossier .Spam_sa-learn (qui sont en fait stockés dans le sous-dossier cur) et rajouter dans sa base de donnée que ses mails doivent être considérés comme du spam. +  -D learn,bayes : -D active le mode debug de sa-learn et learn,bayes indique quelle partie on veut en mode debug. J’ai seulement activé la partie apprentissage et les messages liés au filtre bayésien. 
-    --ham var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/ indique que sa-learn va scanner les mails contenus dans le dossier .Ham_sa-learn (qui sont en fait stockés dans le sous-dossier cur) et rajouter dans sa base de donnée que ses mails doivent être considérés comme des mail légitimes (ham) +  --spam var/vmail/memodugeek.info/toto/Maildir/.Spam_sa-learn/cur/ indique que sa-learn va scanner les mails contenus dans le dossier .Spam_sa-learn (qui sont en fait stockés dans le sous-dossier cur) et rajouter dans sa base de donnée que ses mails doivent être considérés comme du spam. 
-    >> /var/www/logs/sa-learn.log 2>&1 sert à écrire les logs du mode debug dans le fichier /var/www/logs/sa-learn/log. C’est pour ça que je vous ai fait créer ce répertoire. +  --ham var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/ indique que sa-learn va scanner les mails contenus dans le dossier .Ham_sa-learn (qui sont en fait stockés dans le sous-dossier cur) et rajouter dans sa base de donnée que ses mails doivent être considérés comme des mail légitimes (ham). 
-    && rm -R /var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/* (et la seconde avec .Spam_sa-learn) supprime les mails contenu dans les deux dossiers une fois qu’ils ont été analysés par sa-learn.+  >> /var/www/logs/sa-learn.log 2>&1 sert à écrire les logs du mode debug dans le fichier /var/www/logs/sa-learn/log. C’est pour ça que je vous ai fait créer ce répertoire. 
 +  && rm -R /var/vmail/memodugeek.info/toto/Maildir/.Ham_sa-learn/cur/* (et la seconde avec .Spam_sa-learn) supprime les mails contenu dans les deux dossiers une fois qu’ils ont été analysés par sa-learn.
     fi indique la fin de la condition.     fi indique la fin de la condition.
  
  • serveur_hebergement/serveur_mail/partie_6_roundcube.1673614089.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)