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 09:52] 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 d'accéder à vos mail et de pouvoir +===== Installation de RoundCube =====
  
-3) Installation de RoundCube+Pour installer Roundcube, lancez la commande suivante :  
 +<code bash>sudo aptitude install roundcube roundcube-plugins roundcube-plugins-extra</code> 
 +Une fenêtre va apparaître vous demandant si vous voulez configurer la base de donnée pour Roundcube. Répondez oui, puis choisissez “mysql” sur la fenêtre d’après. Il vous sera ensuite demandé un mot de passe de connexion à la base de donnée pour Roundcube. Soit vous en choisissez un, soit vous laissez vide pour qu’un mot de passe soit créé aléatoirement. Perso j’ai pris le second choix. 
 +L'installation est terminée, passons à la configuration.
  
-Pour installer Roundcube, lancez la commande aptitude install roundcube roundcube-plugins. Une fenêtre va apparaître vous demandant si vous voulez configurer la base de donnée pour Roundcube. Répondez oui, puis choisissez “mysql” sur la fenêtre d’après et indiquez le mot de passe de l’administrateur MySQL. Il vous sera ensuite demandé un mot de passe de connexion à la base de donnée pour Roundcube. Soit vous en choisissez un, soit vous laissez vide pour qu’un mot de passe soit créé aléatoirement. Perso j’ai pris le second choix. +===== Configuration ===== 
-4) Configuration Apache+ 
 +==== Apache2 ====
  
 On va maintenant devoir configurer Apache pour pouvoir accéder à l’interface web de Roundcube. Ouvrez le fichier /etc/roundcube/apache.conf. On va maintenant devoir configurer Apache pour pouvoir accéder à l’interface web de Roundcube. Ouvrez le fichier /etc/roundcube/apache.conf.
-Décommentez la ligne Alias /roundcube /var/lib/roundcube (supprimez le # devant la ligne)Cette ligne va permettre d’accéder à l’interface web de Roundcube en tapant votrenomdomaine/roundcube. Pour ma part j’ai modifié la ligne de redirection en remplaçant /roundcube par /webmail car je trouve plus intuitif d’accéder au webmail en tapant nomdomaine/webmail. Mais ce n’est absolument pas obligatoire.+Décommentez la ligne suivante (supprimez le # devant la ligne) :  
 +<code apache2>Alias /roundcube /var/lib/roundcube</code>   
 +Cette ligne va permettre d’accéder à l’interface web de Roundcube en tapant nomdedomaine.fr/roundcube. Pour ma part j’ai modifié la ligne de redirection en remplaçant /roundcube par /webmail car je trouve plus intuitif d’accéder au webmail en tapant nomdedomaine.fr/webmail. Mais ce n’est absolument pas obligatoire. 
  
- +Redémarrez Apache : 
 +<code bash>sudo systemctl restart apache2.service</code>
  
-Il ne reste plus qu’à redémarrer Apache avec la commande systemctl restart apache2.service.+Si vous vous rendez à l’adresse nomdedomaine.fr/roundcube (si vous avez comme moi remplacé /roundcube par /webmail il faut bien évidemment mettre webmail au lieu de roundcube dans l’adresse), l’interface web Roundcube va s’afficher.
  
-Si vous vous rendez à l’adresse nomdedomaine/roundcube ou adresseip/roundcube si votre serveur n’a pas de nom de domaine rattaché (si vous avez comme moi remplacé /roundcube par /webmail il faut bien évidemment mettre webmail au lieu de roundcube dans l’adresse), l’interface web Roundcube va s’afficher. +==== Roundcube ====
-5) Configuration Roundcube+
  
-Après avoir configurer Apache, on va configurer Roundcube. Ouvrez le fichier /etc/roundcube/config.inc.php . Si toutes vos adresses mail utilisent le même nom de domaine, par exemple toto.fr, ça va être chiant de rentrer à chaque fois dans le champ Server de Roundcube le nom de domaine toto.fr afin de se connecter. Pour remédier à ça, remplacez la ligne $config['default_host'] = ''; par $config['default_host'] = 'toto.fr';+Après avoir configuré Apache, on va configurer Roundcube. Ouvrez le fichier /etc/roundcube/config.inc.php . Si toutes vos adresses mail utilisent le même nom de domaine, par exemple nomdedomaine.fr, ça va être chiant de rentrer à chaque fois dans le champ Server de Roundcube le nom de domaine nomdedomaine.fr afin de se connecter. Pour remédier à ça, remplacez la ligne  
 +<code>$config['default_host'] = '';</code>  
 +par  
 +<code>$config['default_host'] = 'nomdedomaine.fr';</code>
  
-C’est tout pour la configuration de Roundcube. Maintenant que nous pouvons accéder à nos mail via Roundcube, on va voir comment alimenter la base de donnée du filtre bayésien de Spamassassin via Roundcube. +Remplacez également la ligne : 
-6) Plugin markasjunk2+<code>$config['smtp_server'] = 'localhost';</code> 
 +par 
 +<code>$config['smtp_server'] = 'ssl://nomdedomaine.fr';</code>
  
-On va utiliser le plugin markasjunk2. Ce plugin permet de marquer des mails en spam ou ham manuellement en utilisant sa-learn et ainsi améliorer la base de donnée du filtre bayésien. +Pour utiliser le port 465 pour envoyer des e-mails, remplacez la ligne : 
-Etant donnée que sur Debian 8 et 9 la version de Roundcube est respectivement la 1.1.5 et 1.2.3, nous allons prendre la version 1.10 du plugin (pour les versions plus récente il faut Roundcube 1.3).+<code>$config['smtp_port'] = 587;</code> 
 +par 
 +<code>$config['smtp_port'] = 465;</code>
  
-Allez dans le répertoire /usr/share/roundcube/plugins et lancez la commande wget https://github.com/JohnDoh/Roundcube-Plugin-Mark-as-Junk-2/archive/1.10.zip. Puis lancez la commande unzip 1.10.zip . +On va également activer le plugin markasjunk pour apprendre à notre serveur à reconnaître les spam. Remplacez la ligne : 
-Enfinlancez la commande mv Roundcube-Plugin-Mark-as-Junk-2-1.10markasjunk2 pour renommer le dossier.+<code> 
 +$config['plugins'] = array( 
 +); 
 +</code> 
 +par 
 +<code> 
 +$config['plugins'] = array( 
 +'markasjunk2', 
 +); 
 +</code>
  
-Lancez la commande ln -s /usr/share/roundcube/plugins/markasjunk2 /var/lib/roundcube/plugins/markasjunk2 afin de créer un lien symbolique nécessaire à RoundCube.+C’est tout pour la configuration de Roundcube. Maintenant que nous pouvons accéder à nos mail via Roundcube, on va voir comment alimenter la base de donnée du filtre bayésien de Spamassassin via Roundcube.
  
-On va maintenant activer le plugin. Ouvrez le fichier /etc/roundcube/config.inc.php et dans la partie+==== Plugin markasjunk ====
  
-[pastacode lang=”bash” manual=”%24config%5B’plugins’%5D%20%3D%20array(%0A’archive’%2C%0A’zipdownload’%2C%0A)%3B” message=”” highlight=”” provider=”manual”/]+On va donc utiliser le plugin markasjunk activé précédemment. Ce plugin permet de marquer des mails en spam ou ham manuellement en utilisant sa-learn et ainsi améliorer la base de donnée du filtre bayésien.
  
-rajoutez “markasjunk2″Vous devez avoir ceci après modification :+Passons à la configuration du pluginLancez la commande suivante pour récupérer le fichier de configuration complet : 
 +<code bash>sudo cp /usr/share/roundcube/plugins/markasjunk/config.inc.php.dist /etc/roundcube/plugins/markasjunk/config.inc.php</code>
  
-[pastacode lang=”bash” manual=”%24config%5B’plugins’%5D%20%3D%20array(%0A’archive’%2C%0A’zipdownload’%2C%0A’markasjunk2’%2C%0A)%3B” message=”” highlight=”” provider=”manual”/]+Ouvrez le fichier /etc/roundcube/plugins/markasjunk/config.inc.php
  
-Passons à la configuration du plugin. Allez dans le répertoire /usr/share/roundcube/plugins/markasjunk2 . Lancez la commande mv config.inc.php.dist config.inc.php pour renommer le fichier de config puis ouvrez-le. 
 C’est là qu’on va configurer le plugin pour qu’il utilise sa-learn, l’outil de Spamassassin servant à améliorer la base de donnée du filtre antispam. Vous allez devoir modifier plusieurs lignes : C’est là qu’on va configurer le plugin pour qu’il utilise sa-learn, l’outil de Spamassassin servant à améliorer la base de donnée du filtre antispam. Vous allez devoir modifier plusieurs lignes :
  
-    Remplacez la ligne $config['markasjunk2_learning_driver'] = null; par $config['markasjunk2_learning_driver'] = cmd_learn; pour activer le lancement de commande+Pour activer le lancement de commande, remplacez la ligne  
-    Remplacez la ligne $config['markasjunk2_debug'] = false; par $config['markasjunk2_debug'] = true; . Cette modification est optionnelle mais c’est conseillé d’activer le mode debug pour pouvoir vérifier que le plugin fonctionne correctement avec Spamassassin +<code>$config['markasjunk_learning_driver'] = null;</code>  
-    Remplacez la ligne $config['markasjunk2_move_spam'] = falsepar $config['markasjunk2_move_spam'] = true; . Cette modif aussi est optionnelle. Passer cette ligne à “true” permet de marquer les mail en tant que spam quand on les déplace du courrier entrant vers le dossier spam. Je trouve ça pratique. +par  
-    Remplacer la ligne $config['markasjunk2_move_ham'] = false; par $config['markasjunk2_move_ham'] = true; . Idem que la ligne précédente mais quand on déplace un mail du dossier spam vers le dossier courrier entrant. +<code>$config['markasjunk_learning_driver'] = cmd_learn;</code>
-    Remplacer la ligne $config['markasjunk2_spam_cmd'] = nullpar[pastacode lang=”bash” manual=”%24config%5B’markasjunk2_spam_cmd’%5D%20%3D%20’sa-learn%20-D%20learn%2Cbayes%20-u%20amavis%20–dbpath%20%2Fvar%2Flib%2Famavis%2F.spamassassin%2F%20–cf%3D%5C’bayes_path%20%2Fvar%2Flib%2Famavis%2F.spamassassin%2Fbayes%5C’%20–prefspath%3D%2Fvar%2Flib%2Famavis%2F.spamassassin%2Fuser_prefs%20–spam%20%25f%20%3E%3E%20%2Fvar%2Fwww%2Flogs%2Fsa-learn.log%202%3E%261’%3B” message=”” highlight=”” provider=”manual”/]+
  
-    J’expliquerai cette ligne plus tard. +Pour activer le mode debug pour pouvoir vérifier que le plugin fonctionne correctement avec Spamassassin, remplacez la ligne :  
-    Remplacer la ligne $config['markasjunk2_ham_cmd'] = null; par[pastacode lang=”bash” manual=”%24config%5B’markasjunk2_ham_cmd’%5D%20%3D%20’sa-learn%20-D%20learn%2Cbayes%20-u%20amavis%20–dbpath%20%2Fvar%2Flib%2Famavis%2F.spamassassin%2F%20–cf%3D%5C’bayes_path%20%2Fvar%2Flib%2Famavis%2F.spamassassin%2Fbayes%5C’%20–prefspath%3D%2Fvar%2Flib%2Famavis%2F.spamassassin%2Fuser_prefs%20–ham%20%25f%20%3E%3E%20%2Fvar%2Fwww%2Flogs%2Fsa-learn.log%202%3E%261’%3B” message=”” highlight=”” provider=”manual”/]+<code>$config['markasjunk_debug'] = false;</code>  
 +par  
 +<code>$config['markasjunk_debug'true;</code>
  
-    J’expliquerai cette ligne plus tard également.+Pour marquer les mail en tant que spam quand on les déplace du courrier entrant vers le dossier spam (c'est optionnel mais je trouve ça pratique), remplacez la ligne : 
 +<code>$config['markasjunk_move_spam'] = false;</code>  
 +par  
 +<code>$config['markasjunk_move_spam'] = true;</code> 
 + 
 +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['markasjunk_move_ham'] = false;</code>  
 +par  
 +<code>$config['markasjunk_move_ham'] = true;</code> 
 + 
 +Remplacez la ligne :  
 +<code>$config['markasjunk_spam_cmd'] = null;</code>  
 +par 
 +<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  
 +<code>$config['markasjunk_ham_cmd'] = null;</code>  
 +par  
 +<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.
  
 C’est tout pour ce fichier. C’est tout pour ce fichier.
  
-Maintenant 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 à rendre l’utilisateur www-data, qui exécute toutes les application web comme Roundcube, propriétaire de ce dossier. +Maintenant lancez la commande 
-Pourquoi créer ce dossier ? C’est lier aux deux lignes que je n’ai pas expliquées. Passons donc aux explications.+<code bash>sudo mkdir /var/www/logs</code>  
 +Puis lancez commande :  
 +<code bash>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 à rendre l’utilisateur www-data, qui exécute toutes les application web comme Roundcube, propriétaire de ce dossier. 
 +Pourquoi créer ce dossier ? C’est lié aux deux lignes que je n’ai pas expliquées. Passons donc aux explications.
  
-$config['markasjunk2_spam_cmd'] et $config['markasjunk2_ham_cmd'] permettent d’indiquer quelle commande lancer quand on marque un mail, respectivement, en tant que spam et en tant que ham. Voyons comment elles sont composées :+$config['markasjunk2_spam_cmd'] et $config['markasjunk2_ham_cmd'] permettent d’indiquer quelle commande lancer quand on marque un e-mail, respectivement, en tant que spam et en tant que ham. Voyons comment elles sont composées : 
 +  * 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. 
 +  * -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. 
 +  * -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. 
 +  * --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. 
 +  * --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.
  
-    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 +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 : 
-    -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. +<code bash> 
-    -u amavis sert à indiquer qu’on veut lancer cette commande avec le profil de lutilisateur amavis (c’est lui qui détient la base de donnée anti-spam) +sudo chmod 770 /var/lib/amavis 
-    --dbpath /var/lib/amavis/.spamassassin/ indique dans quel répertoire se trouve la base de donnée anti-spam +sudo chmod 770 /var/lib/amavis/.spamassassin 
-    --cf=\'bayes_path /var/lib/amavis/.spamassassin/bayes\' indique où se trouve le filtre bayésien qui sert à tester les mails +sudo chmod 770 /var/lib/amavis/.spamassassin/bayes_* 
-    --prefspath=/var/lib/amavis/.spamassassin/user_prefs indique où se trouve le fichier de préférence à utiliser +sudo addgroup www-data amavis 
-    --spam %f et ---ham %f servent à marquer le mail sélectionné en tant que spam ou ham +</code>
-    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. +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 ham, selon 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 ce mail. +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.
-7) Méthode Thunderbird+
  
-Maintenant que la première méthode est traitée, passons à la seconde. Avant de vous lancez dans cette méthode, il faut que vous ayez un serveur mail imap d’activé et configuré. Si vous avez suivi le tuto sur ISPConfigvous 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 n'utilisez pas de webmail mais préférez utiliser un gestionnaire d'e-mail en local comme Thunderbirdune autre méthode existe.
  
-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 souhaitez. Vous devriez avoir ceci :+=== Méthode Thunderbird ===
  
-Sur votre serveurrendez vous dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/Maildir. Si ladresse 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 -lahvous 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.+Sur votre gestionnaire de mail (Thunderbird ou autre)rajouter votre compte e-mail en utilisant LIMAPUne fois le compte créévia Thunderbirdcréez les dossiers Spam_sa-learn et Ham_sa-learn à la racine de votre compte mailVous pouvez changez les noms si vous le souhaitez
  
-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 vmail, le propriétaire du répertoire /var/vmail ainsi que de ses sous-dossierPour ce faire, tapez la commande addgroup amavis vmail.+Sur votre serveurrendez vous dans le répertoire /var/vmail/nomdedomaine/utilisateurmail/MaildirSi 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.
  
-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/. +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  
-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/+<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 :
  
-[pastacode lang=”bash” manual=”00%2000%20*%20*%20*%20if%20%5B%20%22%24(ls%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Spam_sa-learn%2Fcur%2F)%22%20%5D%3B%20then%20sa-learn%20-D%20learn%2Cbayes%20–spam%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Spam_sa-learn%2Fcur%2F%20%3E%3E%20%2Fvar%2Fwww%2Flogs%2Fsa-learn.log%202%3E%261%20%26%26%20rm%20-R%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Spam_sa-learn%2Fcur%2F*%3B%20fi%0A01%2000%20*%20*%20*%20if%20%5B%20%22%24(ls%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Ham_sa-learn%2Fcur%2F)%22%20%5D%3B%20then%20sa-learn%20-D%20learn%2Cbayes%20–ham%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Ham_sa-learn%2Fcur%2F%20%3E%3E%20%2Fvar%2Fwww%2Flogs%2Fsa-learn.log%202%3E%261%20%26%26%20rm%20-R%20%2Fvar%2Fvmail%2Fmemodugeek.info%2Ftoto%2FMaildir%2F.Ham_sa-learn%2Fcur%2F*%3B%20fi” message=”” highlight=”” provider=”manual”/]+<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/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.1673603520.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)