Juris Tyr


La plateforme collaborative, via Nextcloud,
simple, économique et dopée à l’intelligence artificielle
 qui s’adapte à votre entreprise

Juris Tyr rassemble des applications en ligne open-source sélectionnées pour offrir un cloud simple, collaboratif, économique et sécurisé au dirigeant d’une entreprise et à ses collaborateurs et salariés afin de travailler efficacement avec ses partenaires et ses clients, depuis n’importe quel ordinateur, avec un simple navigateur et une connexion à internet .

Juris Tyr regroupe plusieurs applications open source et/ou libres d’accès sélectionnées pour les entreprises ayant une activité de Conseil ou de prestations de services, telles que notamment Nextcloud, InvoiceNinja, Pdfsignature, Jitsi, OnlyOffice, LegiGPT …etc. Ces applications en ligne permettent aux entreprises délivrant des services ou aux cabinets d’avocats en conseil ou contentieux, de remplacer in fine de nombreux logiciels collaboratifs et de gestion d’entreprise.

Cette ensemble d’applications, dont le coeur est Nextcloud, permet aux membres d’une entreprise de collaborer sur des projets communs, d’échanger des informations et des données avec des partenaires, des collaborateurs ou des clients de manière sécurisée, mais également de faciliter le télétravail.

Nextcloud‘ est un logiciel de gestion de fichiers collaboratif utilisé par des millions d’utilisateurs dans des milliers d’organisations à travers le monde, notamment dans les secteurs public, privé et éducatif, ainsi, que sur d’autres applications en ligne Open Source.


Cet ensemble d’applications en ligne permet de reprendre le contrôle de ses taches et de ses données et de travailler à distance en toute simplicité en offrant un accès universel aux fichiers et une synchronisation entre différents appareils, ainsi que des fonctionnalités de communication, de groupware et d’édition collaborative et de génération de textes via les nouveaux programmes en ligne d’intelligence artificielle.


Juris Tyr via Nextcloud a été initialement créé pour la gestion d’un cabinet d’avocat individuel. Cependant, il est adaptable à toute entreprise ou société délivrant des conseils ou des prestations de service en lui facilitant l’organisation des fichiers, des tâches et les relations avec ses clients.

Juris-tyr, via la sélection des applications opensource, permet, notamment, de :

  • partager, collaborer et communiquer avec ses clients et ses Confrères, partenaires et clients au-delà des frontières de son organisation
  • protéger, contrôler et surveiller ses données et ses communications
  • garantir la conformité aux exigences légales et professionnelles
  • conserver ses données sur des serveurs qui lui appartiennent, à tout moment
  • utiliser d’une plateforme entièrement personnalisée avec une excellente expérience utilisateur

Le système est personnalisable, facile d’utilisation, évolutive et intègre également les dernières fonctionnalités des programmes d’intelligence artificielle tels que notamment ‘Open Ai ChatGPT’ pour la génération de textes ex nihilo, ‘Translate’ pour la traduction de textes et ‘Open Ai Whisper’ pour la reconnaissance vocale et la transcription en plusieurs langues.



Applications :
Avocats, entreprises de conseils et de délivrance de prestations de servicesRéunions et négociations | Droit collaboratif | Médiation
Comment la plateforme Juris Tyr peut vous aider dans l’exercice de votre métier ?

Une plateforme comme Juris Tyr peut être extrêmement utile pour un avocat ou une entreprise de conseil, pour plusieurs raisons :

Gestion et synchronisation des dossiers clients : Tous les fichiers relatifs à un dossier client (contrats, courriers, notes, etc.) sont disponibles en un même lieu et synchronisés sur tous les appareils. Aucun risque de perte ou de dissociation de fichiers.
Accès sécurisé et collaborateur : Les avocats peuvent donner un accès sécurisé à leurs collaborateurs ou associés pour gérer certains dossiers et rester en synchronie. Des droits d’accès fins peuvent être définis pour chaque utilisateur.
Communication et notification intégrées : La messagerie, le chat et les notifications de la plateforme permettent une communication fluide avec les clients et entre les équipes.
Agenda et tâches partagés : Un agenda commun facilite la gestion des rendez-vous et réunions à plusieurs. Des listes de tâches partagées permettent de coordonner les actions entre avocats et assistants.
Fonctionnalités de productivité : Les outils de traduction automatique, génération de texte, signature électronique, etc. optimisent la rédaction de courriers et actes. Vous pouver éditer et visualiser des fichiers Office et PDF, La reconnaissance vocale via Open AI ‘Whispper’ permet des gains de temps considérables pour la rédaction de procédures ou de notes.
Facturation électronique : La plateforme peut intégrer un module de facturation pour générer et envoyer les factures clients de manière électronique, simplifiée et sécurisée.
Alternatives aux GAFAM : En choisissant une solution souveraine comme Juris Tyr, les avocats conservant le contrôle de leurs données et de leur indépendance numérique. Ils ne dépendent d’aucun géant du numérique.
Personnalisation et paramétrage : La plateforme peut être personnalisée en profondeur grâce à de nombreux paramètres et réglages pour correspondre parfaitement aux processus métier de chaque cabinet.
Comment la plateforme Juris Tyr peut vous aider pour la pratique du droit collaboratif et de la médiation ?

La plateforme Juris Tyr peut être très utile pour la pratique du droit collaboratif et de la médiation pour plusieurs raisons:

Espace de collaboration sécurisé : La plateforme offre un espace de collaboration sécurisé où avocats, médiateurs, clients et leurs conseils respectifs peuvent échanger en toute confidentialité. Des droits d’accès précis peuvent être définis pour chaque participant.
Outils de communication intégrés : La messagerie instantanée, le chat vidéo, l’appel vidéo et les notifications assurent une communication fluide entre tous les acteurs d’un dossier collaboratif ou d’une médiation.
Partage sécurisé de documents : L’ensemble des fichiers relatifs à une procédure (contrats, comptes-rendus de réunion, projets d’accord, etc.) sont disponibles en un même espace de stockage sécurisé et accessibles à l’équipe dans son intégralité.
Agenda commun : Un agenda partagé permet de voir disponibilités et emplois du temps de chacun pour optimiser l’organisation des réunions en présentiel ou à distance. Des disponibilités peuttent être publiées pour coordonner l’agenda des équipes.
Espace de co-rédaction : La plateforme propose des espaces de co-rédaction simultanée où plusieurs participants peuvent éditer et commenter un même document en temps réel.
Fonctionnalités de productivité : Les outils d’intelligence artificielle intégrés (traduction, synthèse vocale, etc.) accélèrent la rédaction de comptes-rendus, de projets d’accord ou de toute autre production écrite collaborative.
Alternative aux solutions propriétaires : En choisissant une plateforme souveraine comme Juris Tyr, les acteurs du droit collaboratif et de la médiation conservent le contrôle de leurs données, de leurs échanges et de leur pratique. Ils ne dépendent d’aucun éditeur de solutions collaboratives.
Paramétrage fin : La plateforme peut être entièrement paramétrée et customisée pour correspondre aux processus métier spécifiques de la pratique du droit collaboratif et de la médiation.
La plateforme collaborative Juris Tyr apporte des réponses concrètes aux problématiques du quotidien des avocats et cabinets pour gagner en productivité, collaboration, gestion et souveraineté numérique.La plateforme Juris Tyr offre des fonctionnalités concrètes pour faciliter la communication, la collaboration et la gestion des dossiers entre tous les acteurs du droit collaboratif et de la médiation.
Data room | Espace d’échange de fichiers et messagerie sécurisée
La plateforme Juris Tyr via Nextcloud peut être utilisée comme une solution de stockage et de partage de fichiers en ligne qui permet de créer et d’organiser une data room. Une data room est un espace sécurisé où l’on peut partager des documents confidentiels avec des tiers, par exemple lors d’une transaction financière ou juridique.

La plateforme Juris Tyr dans le cadre d’une Data room :
• est installée sur un serveur ou utiliser un service hébergé sécurisé,
• vous permet de créer un compte administrateur et des comptes utilisateurs pour les participants à la data room, puis de créer un dossier partagé pour la data room et y déposer les documents à partager,
• vous permet de définir les permissions d’accès au dossier partagé selon le rôle de chaque utilisateur (lecture seule, lecture-écriture, etc.),
• d’envoyer les invitations par e-mail aux utilisateurs avec le lien vers le dossier partagé.
• de suivre l’activité de la data room grâce aux notifications et aux rapports,
• d’organiser les échanges via la messagerie interne,
• de lister les fichiers et dossiers présents dans la dataroom et de visualiser les activités des membres.
La plateforme collaborative Juris Tyr, via Nextcloud, vous permet d’installer rapidement et de gérer une data room pour vos opérations en respectant les niveaux de sécurité requis.

Nos offres :

Pourquoi le nom de Juris-Tyr ?

Dans la mythologie nordique, Týr est le dieu du ciel, de la guerre juste, de la justice, de la victoire et de la stratégie.

Týr est considéré comme un dieu de l’ordre et de la justice, car il symbolise l’assemblée du « thing », qui est l’organe législatif de la société viking.

En offrant sa main droite en sacrifice pour enchaîner le loup Fenrir, Týr a contenu les forces du chaos et du désordre.

Dans la culture germanique, le fait d’être le représentant de l’assemblée juridique est une responsabilité importante, car la loi et le droit sont considérés comme sacrés et essentiels pour résoudre les conflits.

En effet, nombre de professionnels du droit et dirigeants d’entreprises ou de Sociétés ne sont pas familiarisés avec les nouveaux outils numériques libres et accessibles pour certains en Open Source qui leur permettraient pourtant de gagner du temps et de se focaliser sur leur coeur de métier.


Que propose Juris-Tyr ?

Juris Tyr propose aux professionnels du secteur juridique (Avocat individuel, Directeur juridique…), l’installation d’un ensemble d’applications en ligne et de services numériques, installés soit en ligne via un serveur dédié (« VPS »), soit en auto-hébergement, ayant pour objectifs de faciliter la gestion et le développement d’une entreprise libérale ou commerciale, et aux entreprises et sociétés, ainsi que des services de création et de gestion de Data Room dans le cadre de la réalisation d’opérations administratives ou juridiques (tenue du secrétariat juridique d’une société, opérations d’acquisition, cession, fusion, restructuration de société…etc.).

Nos services :


Fonctionnalités

Le cloud Juris Tyr vous permet d’accéder à une plateforme de type Nextcloud personnalisée pour les entreprises et/ou les professionnels libéraux, accessible soit en auto-hébergement, soit via un VPS en cloud, offrant de nombreuses applications et outils en ligne de gestion de fichiers, d’agenda, de tâches, de collaboration en visioconférence et de facturation…


Liste des applications en ligne :

Les applications préinstallées de la plateforme Juris Tyr sont les suivantes :


Tableaux (Sharepoint)

L’app Tables est une alternative open source à Microsoft SharePoint.

Avec cette application, vous pouvez créer vos propres tableaux avec des colonnes individuelles. Vous pouvez commencer avec un modèle ou partir de zéro et ajouter les colonnes souhaitées pour l’adapter parfaitement à l’activité de votre cabinet ou de votre entreprise.

Vous pous l’utiliser pour gérer les dates des congés des salariés ou des collaborateurs au sein de la société, créer un fichier client récapitulant la liste des clients et l’état des relations ou créer un table récapitulant les caractéristiques des dossiers et le gestionnaire en fonction de chaque dossier, en l’adaptant à votre cabinet ou entreprise, selon ses services juridiques, administratifs ou judiciaires, ou encore, gérer une liste de taches ou de projets entre les membres de l’équipe…etc.

Vous gardez l’entière maîtrise des données qui ne sont jamais communiquées à une société GAFAM (GAFAM : Google (Alphabet), Apple, Facebook (Meta), Amazon et Microsoft).


Fichiers et dossiers :

App « Fichiers » | Application permettant de gérer et partager des fichiers ou des dossiers

Vous créez, modifiez ,comme à votre habitude, les dossiers et fichiers de votre cabinet ou étude enregistrés et utilisez votre suite bureautique installée sur votre ordinateur (Office 365, Word, OnlyOffice, Libre Office…etc.) avec votre système d’exploitation Windows 11, MacOS, ou Ubuntu /linux….

Les documents et dossiers du cabinet que vous créés sur votre poste informatique dans le cadre de votre activité sont synchronisés en temps réel sur le cloud en temps réel que votre ordinateur sous Windows, MacOs ou Ubuntu (Linux) :

Depuis la barre des tâches de votre système d’exploitation, vous recevez des notifications vous informant par exemple, si un autre utilisateur du cloud vous a envoyé un message sur le chat en ligne du cloud, si votre client ou votre collaborateur a effectué des modifications sur un document, si des pièces sont téléchargées depuis le cloud par un client ou un avocat d’une partie adverse, ou si un sondage sur le prochain repas du cabinet est envoyé sur le cloud.

Bref, vous continuez à utiliser comme d’habitude votre ordinateur avec son système d’exploitation à la différence près que vous avez accès à tous vos fichiers et dossiers et à des applications en ligne vous permettant de gérer votre entreprise ou cabinet d’avocats peu importe votre lieu (au cabinet ou à l’extérieur) ou votre moyen de connexion (ordinateur, smartphone, Iphone…).


Agenda :

App « Agenda » | Application d’agenda en ligne et de prise de rendez-vous

Un service de gestion de fichiers, de contacts et d’agenda , sécurisé, confidentiel et efficace avec Nextcloud.

Les services en ligne Juris Tyr se basent sur des applications open source installées soit sur un VPS, soit au sein d’un ordinateur serveur de type Raspberry ou OrangePi au sein de votre entreprise ou de votre cabinet.

Les applications en ligne sont multiples : gestion de fichiers, suite bureautique, data room, devis et facturation, application de comptabilité en ligne.

Elles ont été sélectionnées pour faciliter vos opérations et in fine, vous faire gagner du temps.


Deck – Tableau kanban :

App « Deck » | Application de type Tableau Kanban

Discussion en ligne :

App « Discussion » | Application pour permettant de discuter et de travailler en collaboration sur des dossiers

Suite Office :

CollaboraOffice
App « Office » | Suite bureautique via CollaboraOnline ou OnlyOffice

Signature de contrats en ligne (nécessite un abonnement Docusign) :

App « esign » | Application permettant la signature électronique de documents (sous réserve de la souscription aux services de signature électronique de la société Docusign)

Nextcloud Assistant :

Cette application apporte une interface utilisateur pour utiliser des fonctions d’intelligence artificielle pour le traitement de texte sur Nextcloud (via OpenAi ou les modèles d’ia dérivés de Llama 2. OpenAi/LocalAi uniquement).

Il permet aux utilisateurs de lancer des tâches de traitement de texte via un programme d’intelligence artificielle telles que : Résumer un texte, extraire des sujets, générer un titre, obtenir une réponse à partir d’une invite ou de Reformuler puis d’être avertis lorsqu’elles ont terminé et de voir les résultats.

L’assistant apparaît également dans d’autres applications comme ‘Notes’, Mail ou ‘CollaboraOnline’ (via le ‘Sélecteur intelligent’) pour traiter facilement des parties d’un document.

Comment l’utiliser ?
Une nouvelle entrée de menu d’en-tête droit apparaît. Une fois cliqué dessus, l’assistant s’affiche et vous pouvez sélectionner un type de tâche et définir le texte d’entrée que vous souhaitez traiter (résumer, reformuler…etc.). Une fois qu’une tâche est planifiée, elle s’exécutera en arrière-plan.
Une fois terminé, vous recevrez une notification à partir de laquelle les résultats pourront être affichés. D’autres applications peuvent s’intégrer à l’assistant.
Par exemple, Text affichera un bouton en ligne à côté de chaque paragraphe pour sélectionner directement un type de tâche pour traiter ce paragraphe.
La sélection d’une tâche de cette manière ouvrira l’assistant avec la tâche présélectionnée et le texte d’entrée défini.

Outils de traitement de texte :
Dans l’assistant, la liste des tâches disponibles dépend des fournisseurs disponibles installés via d’autres applications. Cela signifie que vous avez une totale liberté sur le service/logiciel qui exécutera réellement vos tâches de traitement de texte.

Jusqu’à présent, le modèle de langage Large et les applications d’intégration OpenAi/LocalAI incluent des outils de traitement de texte pour :
-Résumer un texte ;
– Extraire des sujets ;
– Générer un titre ;
– Obtenir une réponse à partir d’une requête ;
– Reformuler.


Client e-mail – Webmail :

App « Mail » | Application vous permettant de gérer vos comptes e-mail
App « SnappyMail » | Application e-mail secondaire vous permettant de classer vos e-mails dans un dossier déterminée en fonction de l’expéditeur ou du l’objet de l’e-mail | https://webmail.juris-tyr.com

Annotation, signature et organisation des pages de fichiers PDF :

https://pdf.juris-tyr.com

Visioconference :

App « Jitsi » by Nextcloud | Application de visioconférence sécurisée intégrée via Jitsi
App visio Jitsi standalone | https://visio.juris-tyr.com

Notes (avec l’intégration des services d’intelligence artificielle : OpenAi ChatGPT, Whisper, Replicate Dall-e …etc.) :

Prise de notes – Idées :

App « Carnet » | Application de prise de note et d’idées sur ordinateur et/ou smartphone Android ou Apple

Facturation | Devis :

App « Gestion » | Application de facturation et de création de devis
App Invoiceninja | https://facturation.juris-tyr.com

Intégration de LegiGPT (OpenAI) :


Phone track | Géolocalisation et suivi de téléphone :

📱 PhoneTrack est une application Nextcloud pour suivre et stocker la position d’appareils mobiles.

🗺 Elle reçoit des informations provenant d’applications de logging des téléphones mobiles et les affiche en direct sur une carte.

Comment utiliser PhoneTrack :

(N’oubliez pas de définir le nom de l’appareil dans le lien (plutôt que dans les paramètres de l’application de logging). Remplacez ‘yourname’ par le nom d’appareil désiré. Définir le nom de l’appareil dans les paramètres de l’application de journalisation ne fonctionne qu’avec Owntracks, Traccar et OpenGTS.

Sur la page principale de PhoneTrack, quand vous regardez une session, vous pouvez :

Il est possible d’envoyer le tracé d’un téléphone, à une personne en particulier. Dans ce cas, les pages ‘publiques’ et les ‘pages publiques filtrées’ envoyées fonctionnent comme la page principale de l’administrateur (admin), sauf qu’il n’y a qu’une seule session affichée, tout est en lecture seule et il n’y a pas besoin d’être connecté.

Rappels juridiques concernant la géolocatisation de salariés (règlementation française) :

Avant tout, il faut savoir que la géolocalisation permet de déterminer instantanément la position géographique d’un téléphone ou plus souvent d’un véhicule.

Il y a trois conditions à respecter pour utiliser la géolocalisation : 1 -La Cour de cassation rappelle que la géolocalisation ne doit être utilisée que si aucun autre moyen de contrôle du temps de travail des salariés n’est possible. 2 – Le Conseil d’Etat précise que, même si la géolocalisation est plus efficace, un autre moyen de contrôle du temps de travail doit être utilisé, s’il est possible. 3 – Enfin, un employeur ne peut pas utiliser ce système pour surveiller un employé qui a une certaine liberté ou autonomie dans l’organisation de son travail (comme par exemple un salarié occupant un poste de cadre commercial).

Si l’employeur souhaite mettre en place un système de géolocalisation, il doit respecter plusieurs points. Premièrement, il doit s’assurer que la géolocalisation est le seul moyen possible pour contrôler le temps de travail de ses salariés. Deuxièmement, il doit réaliser une analyse d’impact en fonction du projet de l’entreprise. Cela implique une description détaillée du traitement utilisé, une évaluation de la nécessité et de la proportionnalité du dispositif, ainsi qu’une étude technique concernant les risques liés à la sécurité des données. Enfin, l’employeur a l’obligation d’informer ses salariés de la mise en place d’un système de géolocalisation.

Pour informer les salariés, l’employeur peut utiliser un support unique, comme une note, un e-mail ou une notice lors de l’embauche. Il n’est plus obligatoire de procéder à une déclaration auprès de la CNIL depuis le 25 mai 2018.


Tableau de bord personnalisable :

App « Sites externes » | Application permettant d’accéder à des sites internet et services tiers, tels que notamment Open AI ChatGPT, Dalloz, Lexis360...etc.

Ou sont stockées les données ?

Concernant le service Cloud, vos données sont stockées :

Dans tous les cas, Juris-Tyr et/ou les tiers, n’auront jamais accès à vos données, sans autorisation de votre part puisque que nous nous chargeons uniquement de la mise en place du cloud et de vous fournir, si vous le souhaitez, une assistance technique en cas de difficultés ou d’une mise à jour.


Professionnels du droit, Avocats, Notaires, Directeurs juridiques…

Avec les identifiants de Login : ‘DEMO’ et mot de passe de démonstration : ‘DEMO8888TEST »


Principaux avantages du cloud Juris-Tyr :

Service cloud Juris Tyr | Gestion de fichiers et accès aux applications en ligne :


Installer gratuitement les applications utilisées sur la plateforme Juris-Tyr, sur son serveur :

Tarifs :

Tarifs des services proposés :


Service 1. Abonnement VPS géré :

La souscription à un abonnement vous permet de bénéficier d’une installation et d’une configuration adaptés votre entreprise ou cabinet (par exemple avec une adresse cloud.avocats-dupont.fr) de mises à jour et des ajouts réguliers et de bénéficier de nouvelles fonctionnalités au fil du temps sans vous préoccuper de l’installation et des sauvegardes.

Le choix de l’abonnement vous permet de ne plus vous préoccuper des problématiques d’installation, de configuration, de sauvegarde du serveur ou d’installation des mises à jour de sécurité, tout en conservant vos fichiers tant sur le cloud que sur votre ordinateur personnel, même en cas de coupure d’accès à internet ou de fin de l’abonnement.

Nous proposons deux formules d’abonnement :

Quelque soit la formule choisie, la durée de préavis à respecter pour la résiliation de l’abonnement est d’un (1) mois en envoyant un e-mail à l’adresse de contact.

Tarif de l’abonnement : 49,00 € HT par mois | engagement de durée de 12 mois | préavis de résiliation d’un mois
ou : 79,00 € HT par mois | sans engagement de durée | préavis de résiliation d’un mois

Qu’est ce qui est inclut dans l’abonnement ?


Service 2. Installation sur votre serveur ou sur VPS :

Option : Abonnement assistance technique installation / mise à jour : 39,00 € HT (46,80 € TTC | TVA 20,00%) par mois, quel que soit le nombre d’utilisateurs.
Ce service optionnel vous permet de bénéficier d’une assistance technique concernant le fonctionnement du système, les mise à jours, le nettoyage du cache, l’information sur les nouvelles fonctionnalités ajoutées lors des mises à jours… (par exemple via l’intégration d’OpenAI ChatGPT ou l’ajout d’une application de traduction automatique…etc.


Pour information | Budget des frais à prévoir en cas d’installation et de gestion ‘en interne’
(hors souscription à une offre ‘Juris-tyr’)

Pour information : Montant total des frais de gestion à prévoir en cas d’installation du cloud Juris Tyr sur votre ordinateur serveur en mode auto-hébergé.

Frais de gestion à prévoir en cas d’installation de la solution Juris-Tyr sur un ordinateur serveur situé au sein des locaux du cabinet ou de l’entreprise :

Frais de gestion à prévoir en cas d’installation de la solution de type Juris-Tyr sur un serveur dédié (VPS OVH / Hostsinger / Nuxit …etc.) :



Service 3. Data room :



Installation

Documentation – Tutoriel | Juris-Tyr©


| Serveur Apache | Nextcloud | InvoiceNinja | CollaboraOnline | OnlyOffice | Serveur de mail Postfix – Dovecot | Pdf-Signature | Firefly-IIII + module import des relevés bancaires | WordPress | Jitsi Meet |

L’objectif de ce tutoriel est de vous apprendre à installer une plateforme similaire à celle de « Juris-Tyr » selon mais avec le nom, le logo et le nom de domaine de votre entreprise ou de votre cabinet d’avocats.

Concrètement, il s’agit d’installer un ensemble d’applications open source en ligne et des ‘sites internet’ sur votre serveur informatique ou « VPS », dont vous pouvez visualiser un exemple en cliquant sur le bouton ci-dessous (version de démonstration) :

Le compte de démonstration ‘DEMO’ est configuré comme étant celui de ‘Maître Camille DEMONSTRATION’, avocat (e) fictif (ve) exerçant en entreprise individuelle / profession libérale, inscrit (e) au Barreau de LYON en France et ayant un collaborateur dévoué et très efficace… Il s’agit d’un exemple de configuration de la plateforme pour un cabinet d’avocats.


Ces logiciels sont tous open-source, donc ils sont « gratuits » et peuvent être modifiés pour répondre aux besoins spécifiques de votre entreprise ou cabinet d’avocat(s). Cependant, il est important de noter que la mise en place et la configuration de ces logiciels peuvent nécessiter des compétences techniques, donc il est possible que vous deviez recourir à des prestataires de services informatiques d’intégration pour les installer et les utiliser efficacement.

Les applications préinstallées sur la plateforme Juris Tyr sont les suivantes :

-> Se rendre au sommaire
-> Poster un commentaire


La plateforme “Juris-tyr” se base sur une sélection d’applications en ligne Open-Source qui peuvent être installés indépendamment et gratuitement sur un serveur informatique. 

Ce tutoriel permet d’installer sur un serveur ces applications pour ensuite les adapter au fonctionnement de votre cabinet et votre entreprise, avec le nom, le nom de domaine et le logo de votre entreprise ou cabinet d’avocats .

Vous accèderez aux applications et aux services en tapant les adresses suivantes dans la barre d’adresse de votre navigateur :
(remplacer exemple.com par le nom de domaine que vous aurez choisi)

Les sociétés américaines telles que Google et Microsoft proposent des services et applications en ligne similaires à celles présentes sur la plateforme Juris-Tyr à travers Google Workspace ou Microsoft Offce 360 par exemple, ou ‘Notion’. Cependant ces services ne sont pas réellement ‘gratuits’. En effet, le prix à payer est parfois un abonnement mensuel par utilisateur pour avoir une capacité de stockage décente et en tout état de cause vos données et celles de vos clients peuvent être exploitées par ces sociétés et souvent enregistrées sur des serveurs situés à l’étranger. Or le fait de gérer ‘en interne’ ces services et applications vous permet de retrouver une certaine maîtrise de vos données tout en économisant par rapport aux prix de leurs abonnements aux différents services en ligne qui sont souvent fixés selon le nombre d’utilisateurs.
En effet, avec une plateforme telle que celle proposée par Juris-Tyr, et l’installation de ces applications sur un serveur qui vous appartient, le coût mensuel ou annuel est identique quel que soit le nombre d’utilisateurs de votre plateforme.
Enfin, il serait un peu tendancieux pour un avocat français (ou européen) en droit des affaires et/ou en droit du numérique d’utiliser professionnellement une adresse gmail ou les serveurs de Microsoft ou d’Amazon pour gérer ses données et celle de ces clients…

Ainsi, avec ce didacticiel , vous allez apprendre comment installer sur un serveur, plusieurs logiciels collaboratifs et de gestion utilisés sur la plateforme Juris-tyr, tel que par exemple Nextcloud, ainsi que d’autres applications en ligne ‘auto-hébergées’ (InvoiceNinjaOnlyOffice…) que vous pourrez personnaliser selon le fonctionnement de votre cabinet ou de votre entreprise.

Ce tutoriel /didacticiel est complet et il peut sembler un peu complexe… car il détaille toutes les étapes nécessaires en expliquant sommairement ce que vous faites, pour que vous puissiez comprendre comment fonctionne un serveur sur lequel sont installées des applications en ligne et le cas échéant intervenir vous-même en cas de ‘problème’ (…Souvent ‘intervenir’ en informatique consiste, soit à supprimer le logiciel défaillant avec la commande ‘sudo apt purge [nom du logiciel]’, puis le résinstaller avec la commande ‘sudo apt install [nom du logiciel ]’ , ou à supprimer le répertoire / dossier concerné avec la commande ‘sudo rm -R /var/www/html/[nom-du-dossier]’ puis enfin à reprendre, étape par étape, les explications de ce tutoriel, soit à redémarrer, l’ordinateur serveur, …soit à tout simplement réinstaller la sauvegarde de la veille du serveur ou du VPS …(ie. via le service optionnel de sauvegardes automatiques du VPS de la société OVHCloud).

Ces différentes applications en ligne, mises ensemble, peuvent remplacer un logiciel de gestion d’entreprise ou de cabinet d’avocats pour leurs fonctionnalités principales (à l’exception de la fusion de modèles de documents et l’accès au RPVA via la plateforme pour les avocats français). Elle facilitent le télétravail en étant accessibles depuis n’importe quel ordinateur avec un navigateur et ayant un accès à internet.

Par exemple, pour le cabinet Avocats Rainio, nous utilisons des adresses et applications en ligne telles que :

Cet ensemble d’applications en ligne installées sur un serveur peut être reproduit pour tout autre entreprise ou cabinet d’avocats en suivant les instructions de ce didacticiel.


L’installation, pour votre cabinet ou pour votre entreprise, nécessite de disposer :

Bref, vous aurez compris notre message peu subtil… Nous recommandons, en pratique, de souscrire à un abonnement à un serveur privé / dédié ‘VPS’ auprès d’un prestataire tel que OVHCloud, Hostsinger, MagicOnline, Nuxit…etc. plutôt que de procéder à une installation sur un ordinateur serveur installé dans vos locaux ou à votre domicile. Le choix d’un ordinateur-serveur installé au sein de vos locaux peut par contre se justifier si vos besoins de stockage sont plus importants que ceux offerts par un prestataire d’un VPS (plus de 200 Go), ou en du tarif de l’abonnement au VPS et/ou si vous disposez d’une connexion et de matériels performants (la fibre) dans vos locaux. Dans ce cas, l’assistance d’un prestataire informatique peut également permettre de mieux sécuriser ce type d’installation…


Installation de Nextcloud sur un serveur
avec d’autres applications de gestion open-source plutôt cool

L’installation se déroule en plusieurs ‘phases’ ou ‘chapitres’, elles-mêmes décomposées en différentes ‘étapes’.
Une fois que vous avez accompli les phases 1, 2 et 3, vous pouvez choisir d’installer, ou non, dans l’ordre ou dans le désordre, les applications en ligne des phases suivantes 4 à 12.

-> Se rendre au sommaire
-> Poster un commentaire


L’installation vous semble un peu trop complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

Let’s go !


Phase 1 : Souscrire à un abonnement à serveur dédié / VPS, ou configurer son ordinateur-serveur

-> Se rendre au sommaire
-> Poster un commentaire

Etape 1 : Avoir un serveur.

Pour installer les mêmes logiciels et applications en ligne utilisés sur la plateforme Juris-Tyr, vous devez avoir un ‘serveur’.

A cette fin, vous pouvez ;

Choix n°1 – installer/souscrire à un abonnement à un serveur dédié / VPS (recommandé) :

Vous pouvez faire le choix de souscrire à un abonnement à un serveur dédié ou ‘VPS’ auprès d’OVH par exemple.

Cette solution avec un abonnement mensuel à régler à un prestataire pour l’accès à un serveur dédié (VPS) (OVH, Nuxit, Hostsinger …etc.) est certes plus coûteuse à moyen ou long terme qu’utiliser son propre ordinateur serveur mais cela présente l’avantage de la sécurisation de vos données en cas d’événement grave survenant dans les locaux du cabinet du domicile ou de l’étude (incendie, d’innondation, cambriolage…etc.) et d’une mise à jour régulière de l’offre et du matériel VPS mis à disposition par le prestataire.

L’incendie du datacenter de la société OVHcloud il y a quelques années a été un événement exceptionnel dont on peut d’ailleurs regretter que ladite société n’ait pas pris à l’époque les mesures de sécurité nécessaires et pourtant évidentes pour éviter que les sauvegardes soient réalisées au même endroit que les serveurs…

Cependant, d’une part cet événement est exceptionnel et d’autre part OVH semble avoir pris les mesures pour limiter que ce type de dommage ne se reproduise à l’avenir tout en gardant des prix relativement intéressants

C’est la raison pour laquelle, malgré cet événement, nous préconisons une solution d’installation sur un serveur privé virtuel / VPS que ce soit via la société OVHCloud ou via d’autres prestataires similaires pour des questions de sécurité, de performance du système, de mise à jour régulières du matériel / serveur et in fine, de tranquillité d’esprit…

Si vous recherchez un serveur privé virtuel (VPS), nous vous recommandons ceux d’OVH dont le montant des abonnements est raisonnable et avec des serveurs situés en France, ce qui est une obligation pour les cabinets d’avocats français ou pour d’autres professions réglementés (le secteur médical par exemple).

Il existe toutefois d’autres prestataires avec des offres tout aussi valables.

Souscrire à un abonnement et installer un serveur virtuel privé / VPS sur OVHCloud ou auprès d’un autre prestataire (Nuxit, Hostsinger…):

Cliquez sur le lien suivant, pour souscrire à un abonnement à un VPS auprès du prestataire OVHCloud :

https://www.ovhcloud.com/fr/vps/

et/Ou consultez ce didacticiel pour comprendre comment acheter et utiliser un VPS :

https://www.malekal.com/quest-ce-quun-vps-et-comment-installer-debuter-et-se-servir-de-son-vps-ovh/

Concernant les offres d’abonnement de la société OVHcloud, l’offre « Starter » à 3,50 € HT par mois permet de faire des tests et d’intaller les logiciels et applications. Cette offre permet d’installer les applications de la plateforme Juris-Tyr et de la tester. Toutefois pour une utilisation quotidienne, le VPS avec cette offre, risque de manquer de réactivité, notamment s’il y a plusieurs utilisateurs connectés en même temps.

Ainsi, sauf pour une installation de test, si vous souhaitez une utilisation plus ‘confortable’ (rapide) de la plateforme, nous vous recommandons de privilégier la souscription à une offre d’abonnement « Essential » à 11,50€ HT par mois ou « Comfort » à 21,62 € HT par mois.

Lors de votre souscription à un VPS, vous devez choisir l’installation du système d’exploitation ‘Ubuntu 22.04’.

L’abonnement à OVHCloud peut être résilié selon le respect d’un préavis d’un mois (hors engagement annuel).
Il convient de cocher la case ‘sans engagement’ le cas échéant.

Nous vous recommandons également de souscrire à l’option de sauvegarde automatique du serveur du Prestataire (OVHCloud ou autres).

Une fois que vous avez souscrit à une des offres d’abonnement à un VPS auprès du prestataire OVHCloud (par exemple…), l’espace client de gestion de votre VPS s’affichera ainsi :

Vous recevrez également par e-mail les codes de connexion à votre VPS (le login et le mot de passe). En général le login est ‘ubuntu’ si vous avez choisi de faire installer une distribution (OS) « Ubuntu 22.04 » sur votre VPS lors de votre souscription à un abonnement.
Veuillez conserver ces login et mot de passe car vous allez les utiliser prochainement pour vos connecter à votre serveur VPS, via le logiciel Putty (sous Windows).

Vous venez de souscrire à une offfre d’abonnement à un VPS.

-> Passer à l’étape 2 : l’achat d’un nom de domaine…


Choix n°2 – Configurer son modem et son propre ordinateur serveur installé dans vos locaux :

Vous pouvez faire le choix d’utiliser un ordinateur faisant office de serveur, installé dans votre cabinet ou à votre domicile, sur lequel est installé une distribution linux ‘Ubuntu Server’ ou ‘Debian’.

Cette solution est relativement économique et vous gérez en interne 100% toutes vos données et celles de vos clients.

Par contre, cette solution est un peu plus complexe à installer et les risques inhérents aux cas de force majeure, aux pannes…etc. peuvent être une source de stress.

URL 1 : https://www.raspberrypi-france.fr/comment-creer-un-serveur-performant-avec-un-raspberry-pi-guide-complet/

URL 2 : https://www.frandroid.com/produits-android/ordinateurs/626093_test-du-raspberry-pi-4

Achat d’un ordinateur-serveur (selon un budget minimal de l’ordre de 400 € TTC ) :

Si vous avez et/ou souhaitez utiliser plutôt un ordinateur-serveur installé à votre domicile au cabinet/étude avec une connexion à internet via votre fournisseur d’accès Internet (SFR, Free, Orange…etc.), vous devrez préalablement vous connecter via votre navigateur internet sur votre modem/routeur (http://192.168.0.1) pour le configurer afin d’ouvrir certains « ports » (80, 443, 143, 25, 110, 587, 465, 993, 995 …etc) depuis l’adresse IP locale de votre serveur (192.168.0.xx).

Cette démarche est nécessaire pour que votre ordinateur-serveur soit accessible depuis Internet.

À cette fin, vous devrez en premier lieu configurer votre ordinateur-serveur pour lui attribuer une adresse IP locale fixe (192.168.00.xx) qui ne change pas à chaque fois que vous le redémarrez ou que vous redémarrer votre modem.

Pour attribuer une adresse IP fixe à une ordinateur, vous pouvez suivre ce didacticiel :

URL : https://raspberry-pi.fr/ip-locale-fixe/

Puis, une fois que votre ordinateur serveur a une adresse IP ‘locale’ fixe (192.0.168.xx), vous devrez suivre le tutoriel suivant pour lui permettre d’être « visible » sur internet depuis l’adresse IP ‘publique’ (246.xxx.xxx.xxx).

Ce tutoriel a été réalisé avec un modem du fournisseur d’accès « Red by SFR » sur un micro ordinateur Raspberry 4B :

URL : https://raspberry-pi.fr/nom-domaine/

Ce tutoriel décrit les étapes de configuration du modem avec un abonnement à internet avec le fournisseur d’accès à internet « RedBySFR » mais ces étapes sont similaires pour configurer les modems d’autres fournisseurs d’accès à internet.

Quasiment tous les fournisseurs d’accès Internet permettent d’ouvrir (presque tous) les ports du modem pour héberger vos sites Internet depuis l’ordinateur serveur de votre domicile ou de votre cabinet (attention à effecteur régulièrement des sauvegardes !).

Cette solution d’auto hébergement est manifestement la plus économique à moyen ou à long terme mais présente un risque en cas d’événement grave survenant dans les locaux du cabinet ou de l’étude (incendie, d’inondation, cambriolage…etc.).

Une sauvegarde journalière du serveur entier sur un deuxième ordinateur situé dans un autre lieu (à la maison…etc.) ou à tout le moins une synchronisation des fichiers Nextcloud depuis un autre ordinateur situé à un autre endroit que les locaux du cabinet ou de l’entreprise est recommandée.

La sauvegarde du serveur entier (dont le serveur de mails), dont les données sont cryptées, peut également être effectuée ‘manuellement’ sur un disque dur portable que vous conserverez dans un lieu différent du cabinet ou du domicile.


Pour suivre ce didacticiel, vous avez donc besoin d’un serveur fonctionnant sous un système d’exploitation Ubuntu 22.04 ou Débian, exécuté sur votre ordinateur serveur local accessible depuis ‘l’extérieur (internet) ou sur un serveur dédié de type VPS.

Une fois que vous avez souscrit à un abonnement à un serveur dédié/privé VPS exécutant ‘Ubuntu 22.04′, ou que vous avez un ordinateur-serveur sous Ubuntu 22.04’, configuré pour avoir une adresse IP locale fixe et avec votre modem également configuré pour que votre ordinateur-serveur soit accessible depuis l’extérieur, suivez les instructions ci-dessous.

Vous aurez besoin de configurer la pile logicielle ‘LAMP’ avec un nom de domaine que vous aurez préalablement acheté, ainsi nous vous invitons à acheter un nom de domaine auprès d’un prestataire tel d’OVHcloud, de NameCheap ou d’un autre gestionnaire de noms de domaine. (Etape 2)

-> Se rendre au sommaire
-> Poster un commentaire


Etape 2 : Achetez un nom de domaine

Après avoir un serveur ou un VPS, vous devrez choisir, puis acheter ,un nom de domaine auprès d’un prestataire (auprès d’un gestionnaire de nom de domaine).

Nous vous recommandons de vérifier que le nom de domaine choisi est disponible et qu’il ne contrevient pas aux droits d’une autre entreprise ou d’une personne (par une confusion entre des noms similaires).

Par exemple : pour une entreprise ou cabinet s’appelant Dupont ou Michel, le nom de domaine à acquérir peut être : cabinetdupont.fr ou avocat-michel.com …etc. sauf si une entreprise a déjà choisi ce nom de domaine.

Dans ce didacticiel, nous utilisons le nom de domaine ‘ exemple.com’ (ou « votre-domaine.com » ou « example.com ») que vous devez remplacer par le nom de domaine que vous avez acheté (cabinetdupont.fr ; avocat-michel.com …etc.).

Nous configurerons ce nom de domaine et ses sous domaines au sein du serveur à la phase 4 (lors de l’installation de Nextcloud) et aux phases suivantes.

Didacticiel – Comment acheter un nom de domaine :

Connectez-vous sur le site internet d’un prestataire gestionnaire de noms de domaine, par exemple sur le site de la société OVHCloud.

https://www.ovhcloud.com/fr/

Cliquez sur l’onglet « Hébergements web et Domaines » puis sur « Noms de domaine »

Choisissez un nom de domain et indiquez le dans la barre de recheche puis cliquez sur le bouton « Rechercher ».
Par exemple dans l’exemple ci-dessous : « cabinetdupond.com »

Choisissez l’extension du nom de domaine (en .com, .fr …etc.), puis cliquez sur le bouton « Continuez la commande »
Dans l’exemple ci-dessous, nous avons choisi une extension de nom de domaine en « .com ».

Eventuellement, ajoutez l’option « DNS Anycast » pour améliorer le chargement de votre site internet (facultatif).
Cliquez sur le bouton « Continuez la commande ».

Dans le cadre ddu suivi de ce tutoriel, il est inutile de choisir une option d’hébergement.
Cliquez sur le bouton « Continuez la commande ».

Connectez vous à votre compte client ou créez un compte client, puis réglez le montant demandé pour l’achat de votre nom de domaine.

Une fois que vous disposez d’un serveur ou d’un abonnement à un VPS et d’un nom de domaine pour un site internet, passez à la phase 2…
Nous allons utilisez un logiciel spécifique (« Putty ») pour se connecter au serveur ou au VPS, puis pour entrer des lignes de commande.


Phase 2 : Installer et utiliser le logiciel putty sous Windows pour se connecter au serveur

-> Se rendre au sommaire
-> Poster un commentaire

Vous avez désormais un serveur informatique ou un VPS et vous avez acheté un nom de domaine. ..

Désormais, pour l’installation, vous aurez besoin d’utiliser un logiciel spécifique (‘Putty’ sous Windows) pour accéder à votre ordinateur-serveur ou au VPS, puis à rentrer les ‘commandes’ mentionnées dans ce tutoriel, en les copiant /collant via ce logiciel (qui utilise une connexion dite ‘ssh’ pour se connecter à votre serveur ou VPS.)

Par exemple pour la commande « sudo apt update’, le résultat suivant s’affiche :

Si votre ordinateur principal est sous le système Windows le logiciel souvent utilisé pour se connecter en ssh à un serveur est ‘Putty‘.

Ce didactitiel a été rédigé selon le principe que votre ordinateur de travail est sous le système d’exploitation Windows, que vous utilisez dessus le Logiciel Putty et que votre serveur est sous le système d’exploitation Ubuntu 22.04 (en version Server ou Bureau). Cependant il existe des logiciels similaires à Putty sur MacOs, et sur Linux, vous pouvez vous connecter à un serveur en SSH depuis un simple terminal.

Comment installer et utiliser le logiciel Putty sous Windows pour se connecter au serveur :

Si votre ordinateur est sous le système Windows, installez puis lancez le logiciel ‘Putty‘.

La fenêtre de connexion suivante s’affiche.

Connectez-vous à votre serveur via le logiciel Putty, en complétant l’adresse IP du serveur (par exemple 51.124.56.789) et s’il n’est pas affiché, le port ’22’ :

Une fois le logiciel Putty installé et que vous êtes connecté à votre serveur via le logiciel putty, vous compléterez les commandes des phases 1 et suivantes.


Comment utiliser les logiciels ‘Putty’ sous Windows et ‘Nano’ sous Linux :

Le logiciel ‘Nano’ est un logiciel fonctionnant sous Linux (Ubuntu) utilisé pour éditer des fichiers texte. Nous allons nous en servir dans le cadre de ce tutoriel pour créer ou modifier des fichiers de configuration, sur votre serveur ou votre VPS fonctionnant avec le système d’exploitation Linux – Ubuntu 22.04..


Astuce : Pour exécuter les commandes de ce tutoriel plus rapidement, nous vous suggérons de placer la fenêtre de votre navigateur internet avec la page web de ce tutoriel sur un coté de votre écran et la fenêtre du logiciel Putty sur l’autre coté de l’écran, puis de copier / coller les différentes commandes linux entre les deux fenêtres, au fur et à mesure que vous avancez dans ce tutoriel

-> Se rendre au sommaire
-> Poster un commentaire


Phase 3 : Installer la pile LAMP (Stack LAMP) sur Ubuntu

Ce didacticiel va vous montrer comment installer la pile LAMP sur Ubuntu 22.04 LTS.

Une pile logicielle est un ensemble d’outils logiciels regroupés.

« LAMP » signifie Linux, Apache, MariaDB/MySQL et PHP, qui sont tous open source et gratuits. Il s’agit de la pile logicielle la plus courante qui alimente les sites Web dynamiques et les applications Web.

Il existe d’autres piles logicielles pour installer des serveurs et notamment la pile  »LEMP’ avec un un serveur « Nginx », qui un peu plus rapide et performant qu’un serveur « Apache ». Cependant un serveur Nginx est plus complexe à configurer et nous souhaitons privilégier la simplicité dans le cadre de ce didacticiel déja suffisamment complexe.


Étape 1 : Mettre à jour les progiciels

Avant d’installer la pile LAMP, il est recommandé mettre à jour le référentiel et les packages logiciels.

Exécutez les commandes suivantes sur votre système d’exploitation Ubuntu 22.04 afin de vérifier (« apt update »), puis installer ( » apt upgrade ») les dernières mises à jour du système d’exploitation  :

sudo apt update
sudo apt upgrade

« sudo » est la commande et l’abréviation de « superuser do », en anglais ou de « super utilisateur fait » en français. C’est une commande et un utilitaire informatique utilisé dans les systèmes d’exploitations de type Unix et Linux tels que FreeBSD, MacOS, Solaris, Ubuntu…etc et qui permet d’autoriser l’utilisateur à effectuer des commandes importantes dans le système d’exploitation (par exemple, installer ou supprimer des logiciels, des fichiers ou des dossiers…etc.).

En tapant ou collant la commande ‘sudo’, le système d’exploitation vous demandera d’entrer votre mot de passe (le mot de passe de votre VPS ou de votre ordinateur serveur). Il vous le demandera en principe seulement une première fois lors de votre connexion à votre serveur. Pour éviter d’utiliser à chaque fois la commande « sudo », vous pouvez préalablement taper la commande « sudo su ». Cependant attention à ne pas commettre d’erreur en tapant/collant vos commandes par la suite !

Lorsque vous taperez votre mot de passe dans le logiciel Putty (ou n’importe quel mot de passe sur un terminal Linux), vous remarquerez que rien ne s’affiche lorsque vous le tapez au clavier : c’est normal ! Il s’agit d’une sécurité afin d’éviter les regards indiscrets. Tapez votre mot de passe et appuyez sur la touche « Entrée » de votre clavier.

La première mise à jour du système peut parfois prendre un peu de temps (entre 2 et 5 minutes).


Etape 2 : Installer le serveur Web Apache et le par-feu UFW

Une fois votre système d’exploitation mis à jour, entrez la commande suivante pour installer le serveur Web Apache.

Le package apache2-utils installera des utilitaires utiles tels que l’outil d’analyse comparative du serveur HTTP Apache.

sudo apt install -y apache2 apache2-utils

Sortie :

apache2.service - The Apache HTTP Server     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)     Active: active (running) since Sat 2020-04-11 11:31:31 CST; 2s ago       Docs: https://httpd.apache.org/docs/2.4/    Process: 53003 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)   Main PID: 53011 (apache2)      Tasks: 55 (limit: 19072)     Memory: 6.4M     CGroup: /system.slice/apache2.service             ├─3011 /usr/sbin/apache2 -k start
             ├─53012 /usr/sbin/apache2 -k start
             └─53013 /usr/sbin/apache2 -k start

Si la commande ci-dessus ne se ferme pas immédiatement, vous pouvez appuyer sur la touche Q pour reprendre le contrôle du terminal.

S’il ne fonctionne pas, utilisez systemctl pour le démarrer :

sudo systemctl start apache2

C’est aussi une bonne idée de permettre à Apache de démarrer automatiquement au démarrage du système.

sudo systemctl enable apache2

Vérifiez la version d’Apache :

apache2 -v

Résultat :

Server version: Apache/2.4.41 (Ubuntu)Server built:   2020-03-05T18:51:00

Si la connexion est refusée ou échoue, il se peut qu’un pare-feu empêche les requêtes entrantes sur le port TCP 80.

Appuyez sur les touches Control + C

Si vous utilisez le pare-feu iptables, vous devez exécuter la commande suivante pour ouvrir le port TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Cependant, nous utiliserons le logiciel de pare-feu « UFW ». sous linux

Exécutez ces commandes pour l’installer, puis pour ouvrir le port TCP 80 de votre serveur ou VPS et d’autres ports.

Exécutez à la suite les commandes suivantes :

sudo apt install ufw
sudo ufw allow ssh
sudo ufw enable
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 25
sudo ufw allow 110
sudo ufw allow 143
sudo ufw allow 465
sudo ufw allow 587
sudo ufw allow 993
sudo ufw allow 995
sudo ufw allow 22
sudo ufw allow 21
sudo ufw allow 8000
sudo ufw allow 8080
sudo ufw allow 8892
sudo ufw allow 9200
sudo ufw allow 9300
sudo ufw allow 9980
sudo ufw allow 9981
sudo ufw reload

Chaque port indiqué dans ces lignes de commande correspond à un type de connexion autorisée vers votre serveur. Par exemple le port 80 concerne les connexion vers les pages web non sécurisées (http) et le port 443 concerne les connexions vers les pages web sécurisées (https) (avec un certificat YTLS).

Si vous utilisez un ordinateur serveur depuis vos locaux par une connexion à internet via votre propre modem-routeur, et non un serveur dédié VPS par OVH (ou un autre prestataire) , vérifiez que les ports 80, 443, 25,110, 587, 465, 993, 995, 22 et 21 …etc. dans l’interface de configuration de votre modem-routeur (en vous connectant à l’adresse locale http://192.0.0.1 ou http //192.168.1.1 – login : admin / votre mot de passe à votre fournisseur d’accès à internet) sont ouverts sur l’adresse ip locale de l’ordinateur serveur (192.168.0.xx)

Maintenant, nous devons définir l’utilisateur système  ‘www-data’ (utilisateur par défaut du serveur ‘Apache’) en tant que propriétaire de la racine des documents dans le dossier ‘html’, lui-même placé dans le dossier ‘www’, lui-même placé dans le dossier ‘var’ du système d’exploitation sous Linux (autrement appelée racine Web).

Par défaut, il appartient à l’utilisateur ‘root’, il faut donc changer le ‘propriétaire du dossier par l’utilisateur ‘www-data’ :

sudo chown www-data:www-data /var/www/html/ -R
sudo chown www-data:www-data /var/www/ -R

Par défaut, Apache utilise le nom d’hôte du système (« ubuntu et parfois « localhost ») comme « ServerName » global.

D’ailleurs, si le nom d’hôte du système ne peut pas être résolu dans le serveur DNS, vous verrez probablement l’erreur suivante après avoir exécuté la commande :

sudo apache2ctl -t.

L’erreur qui peut s’afficher est :

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Pour résoudre ce problème, nous pouvons définir un ServerName global dans Apache en utilisant le logiciel d’édition de texte ‘Nano’. sous Linux

« Nano est un logiciel d’édition de fichier texte en ligne de commandes, sous Linux. En principe, il est déjà installé dans la distribution Linux Ubuntu 22.04. Cependant, s’il n’est pas déjà installé, installez le en tapant/collant la commande suivante via le logiciel Putty :

sudo apt install nano

Utilisez l’éditeur de texte de ligne de commande « Nano » pour créer un nouveau fichier de configuration :

sudo nano /etc/apache2/conf-available/servername.conf

Ajoutez dans le fichier /etc/apache2/conf-available/servername.conf la ligne suivante :

ServerName localhost

Enregistrez et fermez le fichier : Pour enregistrer un fichier dans l’éditeur de texte « Nano », appuyez sur les touches Ctrl + O (pour ‘Oui’) ou sur Ctrl + Y (pour ‘Yes), puis appuyez sur Entrée pour confirmer.

Pour quitter l’éditeur de texte ‘Nano’, appuyez sur les touches : Ctrl + X.

Activez ensuite ce fichier de configuration sous le serveur Apache avec la commande suivante :

sudo a2enconf servername.conf

Rechargez Apache pour que la modification prenne effet :

sudo systemctl reload apache2

Maintenant, si vous exécutez à nouveau la commande sudo apache2ctl -t , vous ne verrez pas le message d’erreur ci-dessus


Etape 3 : Installer le serveur de base de données MariaDB

« MariaDB » est un remplacement direct de « MySQL » à savoir un logiciel de gestion de base de données plus anciens.

Il est développé par d’anciens membres de l’équipe MySQL qui craignent qu’Oracle ne transforme MySQL en un produit à source fermée.

Entrez la commande suivante pour installer MariaDB sur Ubuntu 22.04 :

sudo apt install mariadb-server mariadb-client

Une fois installé, le serveur MariaDB devrait être automatiquement démarré. Utilisez systemctl pour vérifier son statut :

systemctl status mariadb

Sortie :

mariadb.service - MariaDB 10.3.22 database server     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled ; vendor preset: enabled)     Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago       Docs: man:mysqld(8)             https://mariadb.com/kb/en/library/systemd/  Main PID: 9161 (mysqld)     Status: "Taking your SQL requests now..."      Tasks: 31 (limit: 9451)     Memory: 64.7M     CGroup: /system.slice/mariadb.service             └─9161 /usr/sbin/mysqld

S’il ne fonctionne pas, démarrez-le avec cette commande :

sudo systemctl start mariadb

Pour permettre à MariaDB de démarrer automatiquement au démarrage de Ubuntu 22.04, exécutez :

sudo systemctl enable mariadb

Exécutez maintenant le script de sécurité post-installation.

sudo mysql_secure_installation

Lorsqu’il vous demande d’entrer le mot de passe root MariaDB, appuyez sur la touche Entrée car le mot de passe root n’est pas encore défini.

Entrez ensuite y pour définir le mot de passe root du serveur MariaDB.

Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l’utilisateur anonyme, désactivera la connexion root à distance et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que Y est en majuscule, ce qui signifie qu’il s’agit de la réponse par défaut.)

Puis choisissez un mot de passe sécurisé.

Par défaut, le package MariaDB sur Ubuntu utilise unix_socket pour authentifier la connexion de l’utilisateur, ce qui signifie essentiellement que vous pouvez utiliser le nom d’utilisateur et le mot de passe du système d’exploitation pour vous connecter à la console MariaDB.

Vous pouvez donc exécuter la commande suivante pour vous connecter sans fournir le mot de passe root MariaDB :

sudo mariadb -u root

Pour quitter mariadb, exécuter :

exit;

Vérifiez les informations de version du serveur MariaDB :

mariadb --version

Comme vous pouvez le voir, nous avons installé MariaDB 10.3.22.

Sortie :

mariadb  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Etape 4 : Installez PHP8.2

PHP 8.2 est une version du langage de programmation PHP publiée vers la fin de l’année 2022 qui permet d’afficher des pages web ‘dynamiques’ (une page web dynamique est une page dont le contenu peut changer automatique lorsque vous cliquez sur un bouton ou un lien présent sur la page web).

Il s’agit d’une version majeure de PHP qui contient de nombreuses nouvelles fonctionnalités, notamment des classes en lecture seule, null, false et true en tant que types autonomes, des propriétés dynamiques obsolètes , des améliorations de performances et plus encore. PHP 8.2 inclut également des corrections de bugs et des améliorations de performances par rapport aux versions précédentes de la version 8.2.

Étape 4.1 : Ajouter le référentiel PHP APT

Installez quelques packages de dépendance avant d’ajouter le référentiel :

sudo apt update

sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

Exécutez les commandes suivantes dans votre terminal pour ajouter Surý PPA à votre système :

sudo add-apt-repository ppa:ondrej/php

Sortie :

PPA publishes dbgsym, you may need to include 'main/debug' componentRepository: 'deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu/ jammy main'Description:Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpaYou can get more information about the packages at https://deb.sury.orgIMPORTANT: The <foo>-backports is now required on older Ubuntu releases.BUGS&FEATURES: This PPA now has a issue tracker:https://deb.sury.org/#bug-reportingCAVEATS:1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman2. If you are using apache2, you are advised to add ppa:ondrej/apache23. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline   or ppa:ondrej/nginxPLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/WARNING: add-apt-repository is broken with non-UTF-8 locales, seehttps://github.com/oerdnj/deb.sury.org/issues/56 for workaround:# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpMore info: https://launchpad.net/~ondrej/+archive/ubuntu/phpAdding repository.Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.listAdding disabled deb-src entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.listAdding key to /etc/apt/trusted.gpg.d/ondrej-ubuntu-php.gpg with fingerprint 14AA40EC0831756756D7F66C4F4EA0AAE5267A6CHit:1 https://mirror.hetzner.com/ubuntu/packages jammy InReleaseHit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InReleaseHit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InReleaseHit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InReleaseGet:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [23.9 kB]Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [108 kB]Get:7 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main Translation-en [33.3 kB]Fetched 166 kB in 1s (120 kB/s)Reading package lists... Done

Appuyez sur la touche Entrée de votre clavier.

Vous pouvez confirmer manuellement si le référentiel fonctionne en exécutant la commande ‘sudo apt update’.

sudo apt update
Étape 4.2 : Installez PHP 8.2 sur Ubuntu

Une fois le PPA ajouté, utilisez la commande apt pour installer PHP 8.2 et tout autre module PHP associé sur le serveur Ubuntu :

sudo apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php-common php8.2-cli php8.2-common php-fpm php8.2-json php8.2-opcache php8.2-readline

Pour vérifier la version de PHP actuellement installée sur le système, exécutez la commande suivante :

php --version

Activez le module Apache php8.2 puis redémarrez le serveur Web Apache :

sudo a2enmod php8.2

sudo systemctl restart apache2

Vérifiez les informations de version de PHP :

php --version

Pour tester les scripts PHP avec le serveur Apache, nous devons créer un fichier info.php dans le répertoire racine du document :

sudo nano /var/www/html/info.php

Collez le code PHP suivant dans le fichier :

<?php phpinfo(); ?>

Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X.

Maintenant, dans la barre d’adresse du navigateur, saisissez : server-ip-address/info.php.

Par exemple : 51.xx.xxx.xx/info.php

Remplacez server-ip-address par votre adresse IP réelle de votre serveur ou de votre VPS.

Si vous suivez ce didacticiel sur directement depuis l’ordinateur serveur, saisissez l’adresse suivante dans le navigateur internet: 127.0.0.1/info.php ou localhost/info.php.

Vous devriez voir les informations PHP de votre serveur.

Cela signifie que les scripts PHP peuvent s’exécuter correctement avec le serveur Web Apache ! Cela signifie également que vous êtes désormais « à ça » de pouvoir vous reconvertir en ‘ingénieur réseaux’ à Marseille en France…


Etape 4.3 : Comment exécuter PHP-FPM avec Apache

Dans les étapes ci-dessus, le module Apache PHP8.2 est utilisé pour gérer le code PHP, ce qui est généralement correct. Mais dans certains cas, vous devez exécuter du code PHP avec PHP-FPM à la place. Voici comment.

Désactivez le module Apache PHP 8.2 :

sudo a2dismod php8.2
Étape 4.4 : Installer PHP-FPM :
sudo apt install php8.2-fpm

Activer les modules proxy_fcgi et setenvif :

sudo a2enmod proxy_fcgi setenvif

Activer le fichier de configuration /etc/apache2/conf-available/php8.2-fpm.conf file :

sudo a2enconf php8.2-fpm

Redémarrez Apache pour que les modifications prennent effet :

sudo systemctl restart apache2

Maintenant, si vous actualisez la page info.php dans votre navigateur, vous constaterez que l’API du serveur est passée du gestionnaire Apache 2.0 à FPM/FastCGI, ce qui signifie que le serveur Web Apache transmettra les requêtes PHP à PHP-FPM.

Vous avez installé la pile LAMP (Apache, MariaDB et PHP8.2) sur Ubuntu 20.04.

Pour la sécurité de votre serveur, vous devez supprimer le fichier info.php maintenant pour éviter les regards indiscrets.

sudo rm /var/www/html/info.php

-> Se rendre au sommaire
-> Poster un commentaire


Passer à la phase 4 : Installation de Nextcloud

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions.

Vous avez un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?

On continue !


Phase 4 : Installer Nextcloud

Nous allons installer et configurer NextCloud 27 sur Ubuntu 22.04 avec un serveur web Apache et PostgreSQL

Qu’est-ce que NextCloud ?

NextCloud est une solution de stockage en cloud gratuite et open-source auto-hébergée.

Son fonctionnement est similaire à celui de Dropbox.

Les solutions de stockage en cloud propriétaires (Dropbox, Google Drive, Microsoft Office 360 / Onedrive, wetranfert …etc.) sont pratiques, mais elles ont un prix : elles peuvent être utilisées pour collecter des données personnelles à des fins publicitaires ou d’autres fins commerciales moins avouables, vos données et celles de vos clients parce que vos fichiers sont stockés sur leurs ordinateurs serveurs /cloud , avec une politique de confidentialité très relative et installés dans des Etats qui ont une autre réglementation que les pays européens pour la protection des données personnelles (Etats-Unis d’Amérique, Patriot act…etc.). ou qui n’en ont tout simplement pas (Chine…).

Si vous craignez pour votre vie privée, vous pouvez passer à un logiciel tel que NextCloud (ou Filerun), que vous pouvez installer sur votre ordinateur-serveur privé ou sur un serveur privé virtuel (VPS).

Vous pouvez télécharger vos fichiers sur votre serveur via NextCloud, partager certains avec vos clients ou collaborateurs, puis synchroniser ces fichiers avec votre ordinateur de bureau, votre ordinateur portable ou votre smartphone. C’est un logiciel très complet et très efficace mais avec une installation un peu complexe.

De cette façon, vous avez le contrôle total de vos données.

Vous accèderez à votre Nextcloud en tapant l’adresse https://cloud.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.

Caractéristiques de NextCloud :
Conditions préalables :

NextCloud est écrit en langage de programmation PHP. Pour suivre ce tutoriel, vous devez d’abord installer la pile LAMP sur Ubuntu 22.04.

Vous pouvez installer NextCloud sur votre serveur domestique ou sur un VPS (virtual private server).

En suivant ce tutoriel, vous accéderez à Nextcloud via un sous-domaine « cloud.’ du nom de domaine ‘exemple.com’, (cloud. »exemple.com du nom de domaine ‘exemple.com’).

Il faut donc commencer par paramétrer le nom de domaine et un sous domaine pour qu’ils renvoient vers l’adresse IP de votre serveur.

Étape 1 : Paramétrer le nom de domaine « exemple.com » et un sous-domaine « cloud.exemple.com » pour les relier à l’adresse IP de votre serveur ou de votre VPS

Vous devez paramétrer le nom de domaine et le sous-domaine pour les relier à l’adresse IP de votre serveur.

Vous venez d’acheter le nom de domaine exemple.com. Or le sous-domaine que nous allons utiliser pour l’accès à Nextcloud sera : cloud.exemple.com

Il faut donc procéder à enregistrement d’une adresse DNS ‘A’ pour le domaine ‘exemble.com et pour ce sous-domaine : cloud.exemple.com

Un enregistrement ‘DNS’ consiste à indiquer que le nom de domaine (ou le sous domaine) doit renvoyer vers telle ou telle adresse IP d’un serveur.

Vous pouvez soit consulter le tutoriel suivant pour savoir comment rattacher un nom de domaine à un serveur / VPS (OVHcloud) : https://digitalboxweb.wordpress.com/2020/03/31/vps-comment-mettre-en-place-son-nom-de-domaine/
Soit suivre notre tutoriel.

Le cas échéant, connectez-vous sur votre espace de gestion de votre nom de domaine de votre prestataire puis effectuez les réglages pour que votre nom de domaine (exemple.com) et tous les sous-domaines (cloud.exemple.com) renvoient vers l’adresse IP publique de votre serveur ou VPS.

Par exemple, si vous avez souscrit un nom de domaine auprès d’OVHCloud, les démarches sont les suivantes :

Recommencez la même opération pour ajouter un sous-domaine intitulé « cloud » au nom de domaine principal exemple.com (le sous domaine sera du type : « cloud.cabinetdupont.com » ) :

Félicitations ! vous venez d’effectuer un enregistrement DNS A et de paramétrer votre nom de domaine et le sous domaine !


Étape 2 : Télécharger Nextcloud sur Ubuntu 22.04

Connectez-vous à votre serveur sous Ubuntu 22.04 via le logiciel Putty.

Nous allons maintenant téléchargez l’archive zip du logiciel NextCloud(server) sur votre serveur. La dernière version stable est la 27.1.0 au moment où nous écrivons ces lignes.

Il se peut que vous deviez changer le numéro de version.

Allez sur https://nextcloud.com/install et cliquez sur le bouton download for server pour voir la dernière version.

Après avoir lancé le logiciel Putty, et vous être connecté sur le serveur ou VPS, exécuter la commande suivante pour télécharger Nextcloud :

sudo wget https://download.nextcloud.com/server/releases/nextcloud-27.1.0.zip

Vous pouvez toujours utiliser le format d’URL ci-dessus pour télécharger Nextcloud. Si une nouvelle version sort, remplacez simplement 27.0.2 par le nouveau numéro de version (27.1).
La commande « sudo » signifit que vous exécutez une commande sous linux en tant que super utilisateur (root) et la commande ‘wget’ permet de télécharger un fichier.

Une fois téléchargée, extrayez l’archive avec le logiciel unzip :
S’il n’est pas déjà installé, installez-le avec la commande ‘sudo apt install unzip’.

sudo apt install unzip
sudo unzip nextcloud-27.1.0.zip -d /var/www/html/

L’option -d spécifie le répertoire cible. Les fichiers web de NextCloud seront extraits dans le dossier du serveur apache ‘html’, situé dans le dossier ‘www’, situé dans le dossier ‘var’.

Nous devons ensuite changer le ‘propriétaire’ de ce répertoire par l’utilisateur système ‘www-data’ afin que le serveur web (Apache) puisse écrire dans ce répertoire / dossier :

sudo chown www-data:www-data /var/www/html/nextcloud/ -R

Étape 3 : Créer une base de données et un utilisateur pour Nextcloud dans PostgreSQL

 Nextcloud est compatible avec les logiciels de bases de données PostgreSQL, MariaDB/MySQL et SQLite.

Cependant, par expérience Nextcloud est beaucoup plus rapide avec PostgreSQL, nous utiliserons donc PostgreSQL dans ce tutoriel.

 Si vous avez déjà installé Nextcloud avec le serveur de base de données MariaDB/MySQL, vous pouvez également migrer vers PostgreSQL.

Exécutez la commande suivante pour installer Postgresql (PostgreSQL et MariaDB peuvent fonctionner sur le même serveur. Il n’est pas nécessaire de supprimer MariaDB) :

sudo apt install -y postgresql postgresql-contrib

 Connectez-vous à PostgreSQL en tant qu’utilisateur postgres :

sudo -u postgres psql

 Créer la base de données nextcloud :

CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UNICODE';

 Créez un utilisateur (nextclouduser) et définissez un mot de passe de votre choix :

CREATE USER nextclouduser WITH PASSWORD 'nextclouduser_password';

 Accorder des permissions à l’utilisateur de la base de données :

ALTER DATABASE nextcloud OWNER TO nextclouduser; 
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextclouduser;

Appuyez sur les touches Ctrl+D pour vous déconnecter de la console PostgreSQL.

Ensuite, exécutez la commande suivante pour tester si vous pouvez vous connecter à PostgreSQL en tant qu’utilisateur Nextcloud.

psql -h 127.0.0.1 -d nextcloud -U nextclouduser -W

Pour vous déconnecter., appuyer sur les touches du clavier :

Control+D


Etape 4 : Créer un hôte virtuel Apache pour Nextcloud et activer le module HTTP/2

Nous allons d’abord Activer le module HTTP/2 :

sudo a2enmod http2

Créez un fichier nextcloud.conf dans le dossier /etc/apache2/sites-available/, avec un éditeur de texte en ligne de commande comme Nano :

sudo nano /etc/apache2/sites-available/nextcloud.conf

Copiez et collez le texte suivant dans le fichier ;

Remplacez le texte « cloud.exemple.com » par votre propre sous-domaine (‘cloud.’exemple.com …par exemple) :

<VirtualHost *:80>
        <IfModule mod_http2.c>
           Protocols h2 http/1.1               
           # Solves slow upload speeds caused by http2
           H2WindowSize 5242880
        </IfModule>
        <IfModule pagespeed_module>
           ModPagespeed off
        </IfModule>
           <IfModule mod_security.c>
           SecFilterEngine Off
           SecFilterScanPOST Off
        </IfModule>
        DocumentRoot "/var/www/html/nextcloud"
        ServerName cloud.exemple.com
        ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
        CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
        <Directory /var/www/html/nextcloud/>
            Require all granted
            Options FollowSymlinks MultiViews
            AllowOverride All
           <IfModule mod_dav.c>
               Dav off
           </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
        Satisfy Any
    # Disable HTTP TRACE method.
    TraceEnable off
    <Files ".ht*">
        Require all denied
    </Files>
       </Directory>
</VirtualHost>

Si ce n’est pas déjà fait, créez un enregistrement DNS ‘A’ pour votre nom de domaine vers l’adresse IP de votre serveur ou l’adresse IP de votre VPS ou l’adresse IP de votre fournisseur d’accès à internet pour ce sous-domaine (consultez l’étape 1 de la phase 4).

(Rappel des étapes si vous avez acheté votre nom de domaine via OVH : «Connexion à l’ Espace client d’OVH » -> Onglet « WebCloud» -> Lien « Noms de domaines » -> « avocats-dupond.com » -> Bouton « Zone DNS » -> Bouton « Créer un nouvel enregistrement » -> Bouton «  A » -> Bouton « Suivant » -> « cloud » -> compléter l’adresse IP de votre VPS « 51.xx.xxx.xx » -> « Bouton Suivant » -> « Bouton Valider »).

Enregistrez et fermez le fichier.

(Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur les touches ‘Ctrl+o’, puis sur ‘Entrer’ pour confirmer. Pour quitter, appuyez sur ‘Ctrl+X’).

Activez ensuite ce nouveau fichier de configuration du serveur Apache ‘hôte virtuel’ :

sudo a2ensite nextcloud.conf

Exécutez la commande suivante pour activer les modules Apache requis :

sudo a2enmod rewrite headers env dir mime setenvif ssl

Testez ensuite la configuration d’Apache :

sudo apache2ctl -t

Si la syntaxe est correcte, rechargez Apache pour que les modifications soient prises en compte :

sudo systemctl restart apache2

Le module Mod_http2 ne prend pas en charge le préfork. Vous pouvez utiliser le module event MPM afin de prendre en charge HTTP/2 et cela vous oblige à exécuter PHP avec FastCGI car event MPM n’est pas compatible avec mod_php.

Suivez les étapes ci-dessous pour passer de prefork à event MPM.

Désactiver le module PHP8.

sudo a2dismod php8.2

Désactiver le module MPM préfork.

sudo a2dismod mpm_prefork

Activez Event MPM, Fast_CGI et le module setenvif.

sudo a2enmod mpm_event proxy_fcgi setenvif

 Recharger Apache et les modules PHP :

sudo systemctl restart apache2 php8.2-fpm

Étape 5 : Installer et activer les modules PHP

La dernière version de Nextcloud est compatible avec PHP8.2.

Exécutez les commandes suivantes pour installer les modules PHP requis ou recommandés par NextCloud :

sudo apt install imagemagick libapache2-mod-php php-imagick php8.2-common php8.2-pgsql php8.2-fpm php8.2-gd php8.2-curl php8.2-imagick php8.2-zip php8.2-xml php8.2-mbstring php8.2-bz2 php8.2-intl php8.2-bcmath php8.2-gmp

 Recharger Apache et les modules PHP :

sudo systemctl reload apache2 php8.2-fpm

Étape 6 : Activer HTTPS :

Vous pouvez maintenant accéder à l’assistant d’installation web de Nextcloud dans votre navigateur web en entrant le nom de domaine de votre installation Nextcloud dans un navigateur internet :

http://cloud.exemple.com

Si la page web ne se charge pas, vous devez probablement ouvrir le port 80 dans le pare-feu :

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Et le port 443 également :

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Avant d’entrer toute information sensible, nous devons activer la connexion sécurisée HTTPS sur Nextcloud.

Nous pouvons obtenir un certificat TLS gratuit auprès de Let’s Encrypt.

Installer le client Let’s Encrypt (certbot) depuis le dépôt Ubuntu 22.04 :

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache est le plugin Apache. Ensuite, exécutez la commande suivante pour obtenir un certificat TLS gratuit en utilisant le plugin Apache :

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email e-mail@gmail.com -d cloud.exemple.com

Où :

Il vous sera demandé si vous souhaitez recevoir des courriels de l’EFF (Electronic Frontier Foundation). Après avoir choisi Y ou N, votre certificat TLS sera automatiquement obtenu et configuré pour vous.

Certbot ne peut pas ajouter automatiquement l’en-tête HSTS dans le fichier de configuration d’Apache pour Nextcloud.

Si vous souhaitez activer HSTS (HTTP Strict Transport Security), modifiez le fichier.

sudo nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf

Nous pouvons alors ajouter la ligne suivante dans le bloc du serveur SSL pour activer l’en-tête HSTS :

Header always set Strict-Transport-Security "max-age=31536000"

Comme ci-dessous :

Sauvegardez et fermez le fichier. Testez ensuite les configurations d’Apache :

sudo apache2ctl -t

Si le test est réussi, rechargez Apache pour que les modifications soient prises en compte.

sudo systemctl reload apache2

La configuration ci-dessus permettra d’obtenir un score A+ au test SSL.


Étape 7 : Lancer l’assistant d’installation Web dans votre navigateur Web

Vous pouvez maintenant accéder à l’assistant d’installation web de Nextcloud en utilisant une connexion sécurisée HTTPS.

Pour terminer l’installation, vous devez

– Créer un compte administrateur

– Saisir le chemin du dossier de données Nextcloud

– Entrer les détails de la base de données que vous avez créée à l’étape 2. Vous pouvez utiliser localhost:5432 comme adresse d’hôte, car PostgreSQL écoute sur le port 5432.

Le dossier de données est l’endroit où les fichiers des utilisateurs sont stockés. Pour des raisons de sécurité, il est préférable de placer le répertoire de données en dehors du répertoire webroot de Nextcloud.

Ainsi, au lieu de stocker les fichiers des utilisateurs sous /var/www/html/nextcloud/data/, nous pouvons le changer en /var/www/html/nextcloud-data. qui peut être créé avec la commande suivante:

sudo mkdir /var/www/nextcloud-data

Assurez-vous ensuite que l’utilisateur apache2 (www-data) dispose des droits d’écriture sur le répertoire data.

sudo chown www-data:www-data /var/www/nextcloud-data -R

Cliquez sur le bouton Installer, et dans quelques secondes vous verrez l’interface Web de Nextcloud.

Félicitations ! Vous pouvez commencer à l’utiliser comme stockage privé dans le cloud.


Comment configurer la notification par e-mail de NextCloud:

Si votre instance NextCloud est utilisée par plus d’une personne, il est important que votre serveur NextCloud puisse envoyer des emails transactionnels, tels que des emails de réinitialisation de mot de passe. Tout d’abord, vous devez définir une adresse email pour votre propre compte. Allez dans Settings -> Personal Info et définissez une adresse email pour votre compte.

Allez ensuite dans Paramètres -> Paramètres de base. Vous y trouverez les paramètres du serveur de messagerie. Il existe deux modes d’envoi : sendmail et smtp.

Choisissez le mode sendmail.

Vous pouvez également suivre le tutoriel ci-dessous pour configurer le relais SMTP sur Ubuntu.

How to Set Up Postfix SMTP Relay on Ubuntu with Sendinblue

Une fois le relais SMTP configuré, cliquez sur le bouton d’envoi d’email dans Nextcloud pour tester si l’email fonctionne.


Comment réinitialiser le mot de passe de l’utilisateur Nextcloud à partir de la ligne de commande :

Si vous avez perdu le mot de passe de votre compte administrateur, et que vous n’avez pas configuré l’envoi d’email dans Nextcloud, alors vous devez réinitialiser le mot de passe en lançant la commande suivante sur votre serveur.

Remplacez par votre vrai nom d’utilisateur :

sudo -u www-data php /var/www/html/nextcloud/occ user:resetpassword nextcloud_username

Il existe également d’autres commandes qui peuvent s’avérer utiles. Liste des commandes disponibles avec :

sudo -u www-data php /var/www/html/nextcloud/occ

ou :

sudo -u www-data php /var/www/html/nextcloud/console.php

Comment déplacer le répertoire de données (facultatif) :

Si vous avez besoin de déplacer le répertoire de données NextCloud, il y a 4 étapes pour y parvenir.

Tout d’abord, vous devez utiliser la commande ‘cp’ pour copier le répertoire de données dans le nouveau répertoire.

Par exemple, le point de montage du disque dur externe peut être par exemple : /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731.

On crée le nouveau répertoire de données sur le disque dur externe ;

sudo mkdir /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Ensuite, on copie le répertoire de données d’origine dans le nouveau répertoire de données. L’indicateur -R signifie que l’opération de copie est récursive.

sudo cp /var/www/html/nextcloud-data/* /juristyr/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Vous devez également copier le fichier .ocdata ;

sudo cp /var/www/nextcloud-data/.ocdata /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Ensuite, vous devez définir www-data (utilisateur apache2) en tant que propriétaire ;

sudo chown www-data:www-data /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Enfin, vous devez modifier le fichier config.php;

sudo nano /var/www/html/nextcloud/config/config.php

Recherchez la ligne suivante et modifiez la valeur de datadirectory.

'datadirectory' => '/var/www/html/nextcloud-data',

Par :

'datadirectory' => '/media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/’,

Enregistrez et fermez le fichier (Touches Control + O puis Control + X).

Rechargez la page Web NextCloud et vous avez terminé.


Étape 8 : Augmenter la limite de mémoire PHP

La limite de mémoire PHP par défaut est de 128 Mo. NextCloud recommande 512 Mo pour de meilleures performances.

Pour modifier la limite de mémoire PHP, modifiez le fichier php.ini.

sudo nano /etc/php/8.2/fpm/php.ini

Trouvez la ligne suivante. (ligne 409) ;

Astuce : Pour accéder directement à une ligne dans le logiciel ‘Putty’, appuyer simultanément sur les touches ‘Control + _’ .

Astuce : Pour rechercher un texte dans le logiciel ‘Putty’, appuyer simultanément sur les touches ‘Control + w’.

memory_limit = 128M

Modifiez la valeur.

memory_limit = 512M

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.2/fpm/php.ini

Rechargez ensuite le service PHP-FPM pour que les modifications prennent effet.

sudo systemctl reload php8.2-fpm

Étape 9 : Configurer PHP pour interroger correctement les variables d’environnement système

Modifiez le fichier www.conf.

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Si on utilise une installation par défaut de php-fpm, on peut parfois remarquer des temps de chargement excessifs sur l’interface Web ou même des problèmes de synchronisation. Cela est dû au fait que chaque demande simultanée d’un élément est gérée par un processus PHP-FPM distinct. Ainsi, même sur une petite installation, nous devons autoriser davantage de processus à s’exécuter. Par exemple, sur un serveur avec 4 Go de RAM et 1 Go de cache MySQL, les valeurs suivantes dans votre fichier devraient fonctionner :

Trouver (en appuyant sur les touches ‘Control + w’) et modifier certaines lignes de code du fichier de la manière suivante :

pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18

Le site internet suivant permet d’affiner les réglages des valeurs de ces lignes code en fonction de la mémoire RAM disponible sur le serveur ;

URL : https://spot13.com/pmcalculator/

Trouvez la ligne suivante (ligne 396).

;clear_env = no

Supprimez le point-virgule pour décommenter cette ligne.

clear_env = no

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour décommenter cette ligne sans ouvrir manuellement le fichier.

sudo sed -i 's/;clear_env = no/clear_env = no/g' /etc/php/8.2/fpm/pool.d/www.conf

Rechargez ensuite le service PHP-FPM pour que les modifications prennent effet.

sudo systemctl reload php8.2-fpm


Étape 10 : Augmentez la limite de taille des fichiers téléchargés

La limite de taille de fichier de téléchargement maximale par défaut définie par apache2 est de 1 Mo. Pour autoriser le téléchargement de fichiers volumineux sur votre serveur NextCloud, modifiez le fichier de configuration apache2 pour NextCloud.

sudo nano /etc/apache2/conf.d/nextcloud.conf

Nous avons déjà défini la taille de fichier maximale dans ce fichier, comme indiqué par :

client_max_body_size 512M;

Vous pouvez le changer si vous préférez, comme 1G.

client_max_body_size 1024M;

Enregistrez et fermez le fichier. Rechargez ensuite Apache2 pour que les modifications prennent effet.

sudo systemctl reload apache2

PHP définit également une limite de taille de fichier de téléchargement. La taille de fichier maximale par défaut pour le téléchargement est de 2 Mo. Pour augmenter la taille limite de téléchargement, modifiez le fichier de configuration PHP.

sudo nano /etc/php/8.2/fpm/php.ini

Trouvez la ligne suivante (ligne 846).

upload_max_filesize = 2M

Modifiez la valeur comme ci-dessous :

upload_max_filesize = 1024M

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 1024M/g' /etc/php/8.2/fpm/php.ini

Dans ce fichier assurez-vous que les lignes suivantes reflètent les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Effectuez les mêmes modifications dans le fichier /etc/php/8.2/apache2/php.ini

sudo nano /etc/php/8.2/apache2/php.ini

Dans ce fichier , assurez-vous que les lignes suivantes reflètent également les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1 
opcache.revalidate_freq=1

Une fois que vous avez apporté les modifications, enregistrez et fermez le fichier. (touches ‘Control + o’ puis ‘Control +x’) Pour que les modifications prennent effet, redémarrez ensuite PHP-FPM et apache2.

sudo systemctl restart php8.2-fpm apache2

Étape 11 : Configurer le cache Redis pour NextCloud

Si vous accédez à vos paramètres NextCloud -> page de présentation, l’avertissement suivant peut s’afficher :

« Aucun cache mémoire n’a été configuré. Pour améliorer vos performances, veuillez configurer un cache mémoire si disponible. »

Nous allons activer la mise en cache de la mémoire pour nextCloud en utilisant Redis.

Exécutez la commande suivante pour installer le serveur Redis à partir du référentiel Ubuntu.

sudo apt install redis-server

Vous pouvez vérifier la version avec :

redis-server -v

Sortie :

Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=a3fdef44459b3ad6

Nous pouvons maintenant vérifier si le serveur Redis est en cours d’exécution.

systemctl status redis

Astuce : Si la commande ci-dessus ne s’est pas arrêtée immédiatement, vous pouvez appuyer sur la touche Q pour reprendre le contrôle du terminal.

À partir de la capture d’écran ci-dessus, nous pouvons voir qu’il est en cours d’exécution et que le démarrage automatique est activé. Si, pour une raison quelconque, il ne fonctionne pas, exécutez la commande suivante :

sudo systemctl start redis-server

Et si le démarrage automatique au démarrage n’est pas activé, vous pouvez utiliser la commande suivante pour l’activer :

sudo systemctl enable redis-server

Afin de configurer Redis comme cache pour nextCloud, nous devons installer l’extension PHP pour l’interface avec Redis.

sudo apt install php8.2-redis php-redis

Vérifiez si l’extension est activée.

php8.2 --ri redis

Nous pouvons voir que l’extension Redis est activée. S’il n’est pas activé, exécutez la commande suivante :

sudo phpenmod redis

Ensuite, modifiez le fichier de configuration NextCloud .

sudo nano /var/www/html/nextcloud/config/config.php

Ajoutez les lignes suivantes juste avant la fin du fichier.

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
 'host' => 'localhost',
 'port' => 6379,
),

L’insertion de ces lignes de code dans le fichier doit s’afficher de la manière suivante :

Enregistrez et fermez le fichier. Redémarrez ensuite apache2 et PHP-FPM.

sudo systemctl restart apache2 php8.2-fpm

Maintenant, allez à nouveau dans les paramètres NextCloud -> page de présentation et actualisez la page Web, l’avertissement concernant la mise en cache de la mémoire devrait avoir disparu.


Étape 12 : paramétrer la configuration de Nextcloud

Si vous voyez le message suivant dans la page Paramètres NextCloud -> Présentation ou Aperçu,

« La base de données manque certains index. En raison du fait que l’ajout d’index sur de grandes tables pouvait prendre un certain temps, ils n’étaient pas ajoutés automatiquement. »

Vous devez ajouter manuellement ces index.

Accédez au répertoire Webroot de Nextcloud.

cd /var/www/html/nextcloud/

Exécutez la commande suivante pour ajouter des index à la base de données Nextcloud.

sudo -u www-data php occ db:add-missing-indices

Maintenant, si vous actualisez la page Paramètres NextCloud -> Présentation / Aperçu, l’avertissement concernant les index manquants devrait disparaître.

Conversion vers Big Int :

Si vous voyez le message suivant dans la page Paramètres NextCloud -> Présentation,

« Il manque à certaines colonnes de la base de données une conversion en grand int. En raison du fait que la modification des types de colonnes sur les grandes tables pouvait prendre un certain temps, elles n’étaient pas modifiées automatiquement.

Vous devez modifier manuellement le type de colonne ».

Accédez au répertoire Webroot Nextcloud :

cd /var/www/html/nextcloud/

Mettez votre Nextcloud en mode maintenance pour empêcher les utilisateurs de se connecter et d’apporter des modifications :

sudo -u www-data php occ maintenance:mode --on

Exécutez ensuite la commande suivante pour modifier le type de colonne :

sudo -u www-data php occ db:convert-filecache-bigint

Une fois que c’est fait, désactivez le mode maintenance :

sudo -u www-data php occ maintenance:mode --off

Maintenant, si vous actualisez la page Paramètres NextCloud -> Présentation, l’avertissement concernant le Big int devrait disparaître.


Comment installer le client NextCloud sur le bureau Ubuntu 22.04 de votre système d’exploitation

Si vous utilisez un ordinateur sous linux, exécutez les commandes suivantes sur le bureau Ubuntu 22.04 pour installer le client à partir du référentiel par défaut.

sudo apt install nextcloud-client

NextCloud Client on Ubuntu 22.04 :

Sinon installez le logiciel client pour MacOS, Windows, Android et iOS qui est disponible sur la page de téléchargement de Nextcloud.

Vous pourrez accéder à vos fichiers même en état hors ligne.

Il se synchroniseront avec le serveur Nextcloud dès que votre connexion à internet sera rétablie.


Comment activer OnlyOffice/Collabora Online :

Par défaut, Nextcloud est livré avec la prise en charge de OnlyOffice, une suite bureautique en ligne qui vous permet de modifier vos fichiers doc, ppt, xls directement depuis NextCloud.

Nous avons seulement besoin d’installer une application pour utiliser cette fonctionnalité.

Allez dans Nextcloud Apps -> Office & Text. Recherchez et activez l’application de serveur de documents de la communauté.

Désormais, lorsque vous cliquez sur le bouton Ajouter (+) dans Nextcloud, vous pourrez créer des documents Word, des feuilles de calcul et des présentations directement depuis votre serveur Nextcloud.

Cependant, cette application n’est parfois pas très fiable.

De plus, l’édition communautaire n’autorise que 20 utilisateurs au maximum. Vous devez acheter une édition entreprise si vous avez plus de 20 utilisateurs.

Il existe une autre suite bureautique en ligne open source basée sur LibreOffice appelée NextcloudOffice ou CollaboraOnline qui a la même fonctionnalité, mais sans la limitation du nombre d’utilisateurs.

Vous pouvez lire l’article suivant pour intégrer CollaboraOnline à Nextcloud (en anglais) :


Ajout d’une entrée DNS locale :

Il est recommandé de modifier le fichier /etc/hosts sur votre serveur Nextcloud et d’ajouter l’entrée suivante, afin que Nextcloud lui-même n’ait pas à interroger le DNS public, ce qui peut améliorer la stabilité globale.

Si votre serveur Nextcloud ne parvient pas à résoudre le nom d’hôte , vous pouvez rencontrer une erreur de dépassement de délai de passerelle 504.

sudo nano /etc/hosts

Sortie :

127.0.0.1   localhost cloud.exemple.com

Une adresse IP dans le fichier /etc/hosts peut avoir plusieurs noms d’hôte, donc si vous avez d’autres applications installées sur la même boîte, vous pouvez également ajouter d’autres noms d’hôte ou sous-domaines sur la même ligne comme ceci :

127.0.0.1   localhost focal ubuntu cloud.exemple.com collabora.exemple.com

Utiliser Cron pour exécuter des tâches en arrière-plan :

Par défaut, Nextcloud utilise AJAX pour exécuter une tâche à chaque chargement de page.

Vous pouvez utiliser le service cron système plus efficace pour exécuter des tâches en arrière-plan.

Allez dans Paramètres Nextcloud -> Paramètres de base et sélectionnez Cron.

Ensuite, modifiez le fichier crontab de l’utilisateur www-data.

sudo -u www-data crontab -e

Ajoutez la ligne suivante dans ce fichier, afin que la tâche cron s’exécute toutes les 5 minutes.

*/5 * * * * php8.2 -f /var/www/html/nextcloud/cron.php

Enregistrez et fermez le fichier.


Installez les applications Nextcloud recommandées pour la plateforme Juris-Tyr :

Nous vous recommandons d’installer les applications Nextcloud suivantes. Ces applications se sont avérées bien utiles pour une activité de conseil juridique en permettant notamment de collaborer avec le client ou avec d’autres confères sur des documents. ou dé gérer les taches et e-mails du cabinet.

Placez vous dans le répertoire d’installation de Nextcloud :

cd /var/www/html/nextcloud

Exécutez les commandes suivantes :

sudo -u www-data php occ app:install approval
sudo -u www-data php occ app:install bookmarks
sudo -u www-data php occ app:install certificate24
sudo -u www-data php occ app:install cfg_share_links
sudo -u www-data php occ app:install collectives
sudo -u www-data php occ app:install data_request
sudo -u www-data php occ app:install deck
sudo -u www-data php occ app:install emlviewer
sudo -u www-data php occ app:install external
sudo -u www-data php occ app:install externalportal
sudo -u www-data php occ app:install extract
sudo -u www-data php occ app:install federatedfilesharing
sudo -u www-data php occ app:install federation
sudo -u www-data php occ app:install files_accesscontrol
sudo -u www-data php occ app:install files_automatedtagging
sudo -u www-data php occ app:install files_confidential
sudo -u www-data php occ app:install files_downloadactivity
sudo -u www-data php occ app:install files_downloadlimit
sudo -u www-data php occ app:install files_external
sudo -u www-data php occ app:install files_fulltextsearch
sudo -u www-data php occ app:install fulltextsearch_elasticsearch
sudo -u www-data php occ app:install files_fulltextsearch_tesseract
sudo -u www-data php occ app:install files_linkeditor
sudo -u www-data php occ app:install files_rightclick
sudo -u www-data php occ app:install files_scripts
sudo -u www-data php occ app:install files_sharing
sudo -u www-data php occ app:install files_versions
sudo -u www-data php occ app:install flow_notifications
sudo -u www-data php occ app:install forms
sudo -u www-data php occ app:install fulltextsearch
sudo -u www-data php occ app:install fulltextsearch
sudo -u www-data php occ app:install integration_openai
sudo -u www-data php occ app:install integration_replicate
sudo -u www-data php occ app:install logreader
sudo -u www-data php occ app:install notes
sudo -u www-data php occ app:install onlyoffice
sudo -u www-data php occ app:install provisioning_api
sudo -u www-data php occ app:install recommendations
sudo -u www-data php occ app:install registration
sudo -u www-data php occ app:install sharebymail
sudo -u www-data php occ app:install side_menu
sudo -u www-data php occ app:install socialsharing_email
sudo -u www-data php occ app:install stt_whisper
sudo -u www-data php occ app:install tables
sudo -u www-data php occ app:install text_templates
sudo -u www-data php occ app:install translate
sudo -u www-data php occ app:install unsplash
sudo -u www-data php occ app:install workflow_ocr
sudo -u www-data php occ app:install workflowengine
sudo -u www-data php occ app:install workflow_pdf_converter
sudo -u www-data php occ app:install calendar
sudo -u www-data php occ app:install contacts
sudo -u www-data php occ app:install contactsinteraction
sudo -u www-data php occ app:install richdocuments
sudo -u www-data php occ app:install activity
sudo -u www-data php occ stt_whisper:download-models medium
sudo -u www-data php occ stt_whisper:download-models large
sudo -u www-data php occ translate:download-models

Il est possible que certains lignes de commande renvoient des erreurs si l’application est déjà installée. Ne pas en tenir compte et passer à la ligne suivante.

Enfin, on installe ffmpeg pour permettre à la reconnaissance vocale Whispper de fonctionner :

sudo apt install ffmpeg

Installer Elasticsearch (facultatif)

Elasticsearch est un programme qui permet d’effectuer au sein de Nextcloud des recherches dans le contenu de vos documents .doc et .pdf. (et non simplement par le nom du fichier).

Son installation est facultative dans la mesure où il peut consommer beaucoup de mémoire.

Afin de simplifier son installation, nous allons installer et utiliser ‘Docker.’

Cependant cette installation via docker ne fonctionnera pas si votre serveur fonctionne sous un processeur autre que x86-amd64, tels que le processeur arm64 comme sont notamment équipés les Raspberry 4B ou les Orangepi 5. Pour ces micro ordinateurs il convient de procéder à une installation ‘classique’. Il faut alors se reporter à la documentation officielle pour cela.

Exécuter les commandes suivantes :

cd ~
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-cache policy docker-ce
sudo apt install docker-ce

Installons Docker compose :

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Installons désormais Elasticsearch avec Docker compose avec les lignes de commande suivantes:

sudo wget https://raw.githubusercontent.com/R0Wi/elasticsearch-nextcloud-docker/master/docker-compose.yml

sudo echo "DOCKER_TAG=8.6.1" > .env

sudo docker-compose up -d

Astuce – comment lister et supprimer un conteneur Docker :

Il peut arriver que le conteneur docker soit mal installé et/ou qu’on veuille le supprimer.
En premier lieu, listons les conteneurs docker avec la commande suivante :

sudo docker ps -a

Une liste de conteneurs apparaît avec des numéros attribués, par exemple l’un avec le numéro 5235654 pour le docker Elasticsearch.
Arretons puis supprimons le conteneur numéro 5235654.

sudo docker stop 5235654
sudo docker rm 5235654

Listons les images de docker. Les images sont, en résumé, les dossiers contenant les données des logiciels installés par Docker.

sudo docker images

Supprimons les images concernées. Par exemple l’image numéro 677654.

sudo docker rmi 677654

Puis enfin supprimons les volumes docker inutilisés avec la commande suivante.

sudo docker system prune 

Une fois Elasticsearch installé, allez dans les paramètres d’administration de Nextcloud, à l’onglet ‘Recherche intégrale’, indiquez les informations suivantes :

Plateforme de recherche : Elasticsearch
Adresse du Servlet : http://localhost:9200/
Index : myindex

Enable OCR : X (cochez la case)
Languages : eng,fra

Installez également Tesseract qui est un programme de reconnaissance de caractères dans les fichiers PDF et dans les images :

sudo add-apt-repository ppa:alex-p/tesseract-ocr5
sudo apt update
sudo apt install tesseract-ocr
sudo apt-get install tesseract-ocr-fra
sudo apt-get install tesseract-ocr-deu

Revenez dans le dossier root de Nextcloud :

cd /var/www/html/nextcloud

Exécutez la commande suivante pour indexer le contenu des dossiers :

sudo -u www-data php occ fulltextsearch:stop
sudo -u www-data php occ fulltextsearch:reset
sudo -u www-data php occ fulltextsearch:index

Félicitations ! Elasticsearch et Nextcloud sont installés sur votre serveur.

-> Se rendre au sommaire
-> Poster un commentaire

Passer à la phase 5 : Installation de CollaboraOnline (Suite office Open soursource et gratuite)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?

On continue !


Phase 5 : Installer CollaboraOnline (facultatif)

-> Retour au sommaire

Ce tutoriel va vous montrer comment installer Collabora Online sur Ubuntu, puis l’intégrer à un serveur Nextcloud existant sans utiliser Docker.

Collabora Online est une suite bureautique en ligne open source auto-hébergée et basée sur LibreOffice.

Ses fonctionnalités incluent :

Collabora est un grand contributeur au projet LibreOffice. Tous les codes Collabora Online seront éventuellement inclus dans LibreOffice.

Conditions préalables :

Il est supposé que vous avez déjà configuré un serveur Nextcloud.

Le serveur Collabora Online et le serveur Nextcloud peuvent être sur la même machine ou sur deux machines différentes.

Ce tutoriel montre comment installer le serveur en ligne Collabora sur Ubuntu 22.04, sans utiliser Docker.

Étape 1 : Installez Collabora Online sur Ubuntu à partir du référentiel officiel

Collabora dispose d’un référentiel de packages officiel pour Ubuntu 22.04.

Exécutez la commande suivante pour l’ajouter à votre système Ubuntu. Ubuntu 22.04

echo deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204 ./ | sudo tee /etc/apt/sources.list.d/collabora.list

Exécutez ensuite la commande suivante pour télécharger et importer la clé publique Collabora, ce qui permet au gestionnaire de packages APT de vérifier l’intégrité des packages téléchargés à partir de ce référentiel.

sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 0C54D189F4BA284D ubuntu Collabora public key

Si vous ne pouvez pas importer la clé publique avec la commande ci-dessus, vous pouvez utiliser la commande suivante pour télécharger et importer la clé.

sudo wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key && sudo apt-key add repomd.xml.key

Étant donné que ce référentiel utilise une connexion HTTPS, nous devons installer les packages apt-transport-https et ca-certificates, afin que le gestionnaire de packages APT puisse établir une connexion sécurisée au référentiel.

sudo apt install apt-transport-https ca-certificates

Maintenant, mettez à jour l’index des packages locaux et installez Collabora Online. coolwsd est le service Collabora Online WebSocket.

sudo apt update
sudo apt install coolwsd code-brand

Étape 2 : Configurer le service WebSocket de Collabora Online

Après leur installation, vous pouvez vérifier l’état de coolwsd.

systemctl status coolwsd

Sortie :

Astuce: Si la commande ci-dessus ne s’est pas arrêtée immédiatement, vous pouvez appuyer sur la touche Q pour la faire s’arrêter.

Comme vous pouvez le voir, il n’a pas pu démarrer. Nous pouvons consulter le journal pour voir pourquoi cela s’est produit.

sudo journalctl -eu coolwsd

Sortie :

Apr 21 16:13:06 ubuntu coolwsd[13842]: File not found: /etc/coolwsd/ca-chain.cert.pem
Apr 21 16:13:06 ubuntu systemd[1]: coolwsd.service: Main process exited, code=exited, status
Apr 21 16:13:06 ubuntu systemd[1]: coolwsd.service: Failed with result ‘exit-code’.
Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Service hold-off time over, scheduling r
Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Scheduled restart job, restart counter i
Apr 21 16:13:07 ubuntu systemd[1]: Stopped LibreOffice Online WebSocket Daemon.
Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Start request repeated too quickly.
Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Failed with result ‘exit-code’.
Apr 21 16:13:07 ubuntu systemd[1]: Failed to start LibreOffice Online WebSocket Daemon.

Par défaut, coolwsd active la connexion TLS.

Cependant, il n’a pas trouvé de fichier de certificat TLS, d’où l’échec du démarrage. Il est préférable de désactiver TLS dans coolwsd et de terminer TLS sur un proxy inverse.

Le fichier de configuration coolwsd se trouve dans

Cependant, il s’agit d’un fichier XML, qui n’est pas facile à lire et à modifier.

Nous pouvons utiliser l’outil coolconfig pour modifier les configurations.

Exécutez la commande suivante pour désactiver TLS dans coolwsd.

sudo coolconfig set ssl.enable false

Et activez la terminaison TLS au niveau du proxy inverse.

sudo coolconfig set ssl.termination true

Par défaut, coolwsd n’autorise que les hôtes connus à accéder à son service.

Pour autoriser Nextcloud à accéder au service, exécutez la commande suivante pour ajouter votre nom d’hôte Nextcloud à la liste blanche.

sudo coolconfig set storage.wopi.host cloud.exemple.com

Vous pouvez également activer le compte administrateur pour coolwsd avec la commande suivante.

Vous devrez définir un nom d’utilisateur et un mot de passe pour le compte administrateur.

sudo coolconfig set-admin-password

Redémarrez coolwsd pour que les modifications prennent effet.

sudo systemctl restart coolwsd

Maintenant, il devrait fonctionner sans erreur.

systemctl status coolwsd

Sortie :


Étape 3 : Configurer le Reverse proxy

Le serveur Nextcloud nécessite un certificat TLS sur Collabora Online, nous devrons donc créer un hôte virtuel, donner un nom de domaine à l’hôte virtuel, configurer un proxy ‘inverse’ (Reverse proxy) et installer le certificat TLS. Nous pouvons utiliser Apache pour y parvenir.

Créons un fichier de configuration pour le serveur Apache :

sudo nano /etc/apache2/sites-available/collabora.conf

Mettez le texte suivant dans le fichier.

Remplacez le nom de domaine par votre nom de domaine réel pour Collabora Online.

Le sous-domaine utilisé pour l’accès à Collabora Online sera « collabora.exemple.com » . Ainsi, n’oubliez pas de créer également un nouvel enregistrement DNS ‘A’ pour ce sous-domaine « collabora.exemple.com » –> Consulter l’étape 1 de la phase 4 pour se rappeler des démarches.

Installez le serveur Web Apache avec la commande suivante :

sudo apt install apache2

Exécutez la commande suivante pour créer un fichier hôte virtuel Apache pour Collabora Online.

sudo nano /etc/apache2/sites-available/collabora.conf

Collez le texte suivant dans le fichier. Remplacez le nom de domaine par votre nom de domaine réel pour Collabora Online. N’oubliez pas de créer un enregistrement DNS A pour ce sous-domaine : collabora.exemple.com.

<VirtualHost *:80>
  Protocols h2 http/1.1
  ServerName collabora.exemple.com
  Options -Indexes

  ErrorLog “/var/log/apache2/collabora_error”

  # Encoded slashes need to be allowed
    AllowEncodedSlashes NoDecode

  # keep the host
    ProxyPreserveHost On

  # static html, js, images, etc. served from coolwsd
  # loleaflet/browser is the client part of Collabora Online
    ProxyPass /loleaflet http://127.0.0.1:9980/loleaflet retry=0
    ProxyPassReverse /loleaflet http://127.0.0.1:9980/loleaflet
    ProxyPass /browser http://127.0.0.1:9980/browser retry=0
    ProxyPassReverse /browser http://127.0.0.1:9980/browser

  # WOPI discovery URL
    ProxyPass /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
    ProxyPassReverse /hosting/discovery http://127.0.0.1:9980/hosting/discovery

  # Capabilities
    ProxyPass /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
    ProxyPassReverse /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities

  # Main websocket
    ProxyPassMatch “/cool/(.*)/ws$” ws://127.0.0.1:9980/cool/$1/ws nocanon
  
  # Admin Console websocket
    ProxyPass /cool/adminws ws://127.0.0.1:9980/cool/adminws

  # Download as, Fullscreen presentation and Image upload operations
    ProxyPass /cool http://127.0.0.1:9980/cool
    ProxyPassReverse /cool http://127.0.0.1:9980/cool

</VirtualHost>


Enregistrez et fermez le fichier avec les touches : [control] + [X] puis [o] (ou {y]).

Pour pouvoir relayer proxy à l’aide d’Apache, nous devons activer certains modules Apache.

sudo a2enmod proxy proxy_wstunnel proxy_http

Activez cet hôte virtuel avec la commande suivante :

sudo a2ensite collabora.conf

Redémarrez ensuite Apache.

sudo systemctl restart apache2

Étape 4 : Obtenir et installer le certificat TLS

Maintenant, obtenons un certificat TLS gratuit de Let’s encrypt.

Exécutez les commandes suivantes pour installer le client Let’s Encrypt (certbot) à partir du référentiel de logiciels par défaut.

sudo apt install certbot

Si vous utilisez le serveur Web Apache, vous devez également installer le plug-in Certbot Apache.

sudo apt install python3-certbot-apache

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d collabora.example.com

Dernière étape : connecter Nextcloud à Collabora Online

Dans votre tableau de bord Nextcloud, rendez-vous sur la page ‘Applications’.

(https://nextcloud.example.com/settings/apps).

Ensuite, accédez à la section Office & Text, recherchez l’application Nextcloud Office, puis cliquez sur le bouton Télécharger et activer. (Remarque : l’application Collabora Online a été renommée Nextcloud Office.

Une fois cette application activée, accédez à la page Paramètres de Nextcloud -> Administration -> Cliquez sur l’onglet Nextcloud Office à gauche.

Par défaut, il utilise le serveur CODE intégré, qui n’est pas adapté à une utilisation en production.

Nous devons sélectionner Utiliser votre propre serveur et saisir le nom de domaine de votre Collabora Online, y compris le préfixe https://, puis cliquer sur le bouton Enregistrer.

Dans les paramètres avancés, vous pouvez également définir OOXML comme format par défaut, afin que les fichiers soient compatibles avec le logiciel Microsoft Office.

Désormais, lorsque vous cliquez sur le bouton Ajouter (+) dans Nextcloud, vous pourrez créer des documents Word, des feuilles de calcul et des présentations directement depuis votre serveur Nextcloud. (Remarque : Firefox a un problème pour charger les fichiers .docx dans Nextcloud car Firefox n’autorise pas le fichier image SVG à charger les fichiers CSS. Vous pouvez utiliser le navigateur Google Chrome ou Chromium.)

La console d’administration coolwsd est disponible à l’adresse

https://collabora.example.com/browser/dist/admin/admin.html.

Vous devez entrer le nom d’utilisateur et le mot de passe, qui ont été créés à l’étape 2.

Dépannage Vous pouvez consulter les journaux de coolwsd pour trouver des indices car peut-être qu’il ne tourne pas.

sudo journalctl -eu coolwsd

Et vérifiez les journaux du serveur Web.

nano /var/log/apache2/collabora_error

Comment mettre à jour Collabora Online ?

Exécutez simplement les commandes puis pour mettre à jour Collabora Online.

Au cours du processus de mise à jour, il se peut que l’on vous demande si vous souhaitez utiliser le nouveau fichier de configuration coolwsd.xml.

Si vous choisissez Oui, vous devez suivre à nouveau l’étape 2 de la phase 5 pour reconfigurer Collabora Online WebSocket Daemon.

-> Se rendre au sommaire
-> Poster un commentaire

Passer à la phase 6 : Installation de OnlyOffice (Suite office)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?


Phase 6 : Installer OnlyOffice (facultatif)

-> Retour au sommaire

Ce tutoriel vous montrera comment intégrer OnlyOffice à Nextcloud, vous pourrez ainsi éditer des documents bureautiques (DOCX, XLSX, PPTX, etc.) directement depuis l’interface Web de NextCloud.

OnlyOffice est une suite bureautique avec des fonctionnalité quasi équivalentes à Microsoft Office.

Vous accèderez à Onlyoffice (sans devoir vous connecter préalablement à Nextcloud) en tapant l’adresse https://onlyoffice.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.

Conditions préalables
Le serveur de documents OnlyOffice nécessite au moins un serveur avec processeur à 2 cœurs et 2 Go de RAM. Pour le faire fonctionner correctement avec Nextcloud, on recommande d’utiliser un serveur avec un processeur 4 cœurs et 4 Go de RAM.

Nous allons cette fois passer par l’installation d’un docker OnlyOffice avec Apache comme proxy inverse pour l’édition de documents Nextcloud.

Pour commencer l’installation, la première chose que nous ferons est de pointer un domaine ou un sous-domaine vers l’adresse IP du serveur. Le système d’exploitation utilisé dans cette configuration est Ubuntu 22.04.

Il convient de créer un sous domaine ‘exemple.com’ dans votre espace de gestion de nom de domaine de votre prestataire. Reportez-vous à l’étape 1 de la phase 4.

Installez certains packages de base requis.

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Ajouter un référentiel docker pour Ubuntu 22.04. La commande ci-dessous est une ligne.

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Mettez à jour le système et installez Docker et d’autres packages.

sudo apt update
sudo apt install apache2 vim docker-ce

Après l’installation des packages, nous activerons certains modules Apache.

sudo a2enmod ssl rewrite headers proxy proxy_http deflate cache proxy_wstunnel

Redémarrer Apache.

sudo systemctl restart apache2

Créez un fichier d’hôte virtuel OnlyOffice pour Apache .

sudo nano /etc/apache2/sites-available/onlyoffice.conf

Collez les lignes de code ci-dessous en remplaçant exemple.com par votre nom de domaine (avocats-dupond.com) :

<VirtualHost *:80>
  ServerName onlyoffice.exemple.com
  
  ErrorLog ${APACHE_LOG_DIR}/onlyoffice.exemple.com.error.log
  CustomLog ${APACHE_LOG_DIR}/onlyoffice.exemple.com.access.log combined
  
  SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS

  SSLHonorCipherOrder on
  SSLCompression off

  SetEnvIf Host "^(.*)$" THE_HOST=$1

  RequestHeader setifempty X-Forwarded-Proto https
  RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e

  ProxyAddHeaders Off

  ProxyPassMatch (.*)(\/websocket)$ "ws://127.0.0.1:9981/$1$2"
  ProxyPass / "http://127.0.0.1:9981/"
  ProxyPassReverse / "http://127.0.0.1:9981/"

</VirtualHost>

Activez ce nouvel hôte virtuel et redémarrez Apache.

sudo a2ensite onlyoffice.conf
sudo systemctl restart apache2

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit.

sudo certbot –apache –agree-tos –redirect –hsts –staple-ocsp –email you@exemple.com -d onlyoffice.exemple.com

Résultat :

Redémarrer Apache.

sudo systemctl restart apache2

Démarrer le serveur de documents

Nous allons maintenant démarrer le conteneur Docker OnlyOffice en arrière-plan.

Prenez note du mot de passe à la ligne JWT_SECRET qui sera utilisé ultérieurement dans l’application Nextcloud.

Vous pouvez changer le mot de passe par défaut « itisntthatsecure’ en un autre mot de passe de votre choix.

sudo docker run -i -t -d --restart=always -e JWT_ENABLED=true -e JWT_SECRET=itisntthatsecure -p 9981:80 \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/rabbitmq:/var/lib/rabbitmq \
    -v /app/onlyoffice/DocumentServer/redis:/var/lib/redis \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql  onlyoffice/documentserver:latest

Attendez que le processus se termine car il téléchargera le conteneur Docker du serveur de documents.

Connectez-vous via votre navigateur à l’adresse :

https://onlyoffice.exemple.com

en remplaçant exemple.com par votre nom de domaine.

La page suivante s’affiche :

Suivez les indications de cette page, entrez dans votre terminal les commandes indiqués en remplaçant le texte de couleur par le bon numéro affcié sur votre page :

sudo docker exec CONTAINER_ID sudo supervisorctl ds:example

et

sudo docker exec CONTAINER_ID sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/example.conf

Vous pouvez lister les conteneurs Docker, les arrêter et les démarrer.

sudo docker ps -a

Une liste de conteneurs apparaît avec à chaque ligne un numéro affiché qui correspond au .

Vous pouvez les démarrer ou les stopper avec la commande sudo docker stop

sudo docker stop CONTAINER_ID
sudo docker start CONTAINER_ID

Pour entrer dans un conteneur Docker et modifier ou vérifier des éléments à l’intérieur du conteneur.

sudo docker exec -it CONTAINER_ID bash

Accédez à votre instance Nextcloud et installez l’application OnlyOffice

Assurez-vous simplement de ne pas installer l’application intégrée de Nextcloud.

Après l’installation, accédez aux paramètres de l’application et entrez les détails requis tels que l’URL, le jeton, etc :

Adresse du serveur OnlyOffice : https://onlyoffice.exemple.com

Mot de passe :

Félicitations ! Vous pouvez utiliser la suite OnlyOffice dans Nextcloud ou directement en vous connectant à l’adresse : https://onlyoffice.exemple

Passer à la phase 7 : Installation d’un serveur de mail (Postfix)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?


Phase 7 : Installer un serveur d’e-mails sécurisé avec Postfix et dovecot

-> Retour au sommaire

Pourquoi utiliser votre propre serveur de messagerie ?

Peut-être avez-vous un site Web qui doit envoyer des e-mails aux utilisateurs, ou peut-être souhaitez-vous stocker vos e-mails sur votre propre serveur pour protéger votre vie privée et le sécuriser.

La création de votre propre serveur de messagerie e-mails implique d’installer de nombreux composants logiciels. C’est la partie la plus longue et complexe de ce didacticiel.

En suivant ce didacticiel, non seulement vous aurez un serveur de messagerie fonctionnel, mais vous aurez également une bien meilleure compréhension du fonctionnement de la messagerie.

Une fois que vous aurez terminé cette phase, vous devriez pouvoir envoyer et recevoir des e-mails avec votre propre domaine de messagerie sur votre propre serveur de messagerie.

À propos de Postfix :

Postfix est un agent de transport de messages (MTA) à la pointe de la technologie, alias serveur SMTP, qui remplit deux fonctions.

Postfix a été construit par Wietse Venema qui est un expert Unix et de la sécurité. Il est facile à utiliser, conçu dans un souci de sécurité et de modularité, chaque module fonctionnant au niveau de privilège le plus bas possible requis pour faire le travail. Postfix s’intègre étroitement à Unix/Linux et ne fournit pas les fonctionnalités qu’Unix/Linux fournit déjà. Il est fiable dans des conditions simples et stressantes.

Postfix a été conçu à l’origine pour remplacer Sendmail, le serveur SMTP traditionnel sous Unix. En comparaison, Postfix est plus sécurisé et plus facile à configurer. Il est compatible avec Sendmail, donc si vous désinstallez Sendmail et le remplacez par Postfix, vos scripts et programmes existants continueront à fonctionner de manière transparente.

Dans ce tutoriel, vous apprendrez à configurer Postfix pour un seul domaine : exemple.com.

Choses à faire avant d’installer Postfix :

Pour améliorer les performances de Postfix et tirer le meilleur parti de Postfix, vous devez configurer correctement votre serveur Ubuntu.

Définir un nom d’hôte pour le serveur Ubuntu :

Par défaut, Postfix utilise le nom d’hôte de votre serveur pour s’identifier lors de la communication avec d’autres MTA. Le nom d’hôte peut avoir deux formes : un seul mot et FQDN.

La forme de mot unique est principalement utilisée sur les ordinateurs personnels. Votre ordinateur personnel Linux peut être nommé linux, debian, ubuntu etc.

Le FQDN (nom de domaine complet) est couramment utilisé sur les serveurs connectés à Internet et nous devons utiliser le FQDN sur nos serveurs de messagerie.

Il se compose de deux parties : un nom de nœud et un nom de domaine.

Par exemple:

mail.exemple.com

est un FQDN. mail est le nom du nœud et exemple.com est le nom de domaine.

FQDN apparaîtra dans la bannière smtpd.

Certains MTA rejettent les messages si votre Postfix ne fournit pas de FQDN dans la bannière smtpd. Certains MTA interrogent même le DNS pour voir si le FQDN dans la bannière smtpd correspond à l’adresse IP de votre serveur de messagerie.

Entrez la commande suivante pour voir la forme FQDN de votre nom d’hôte.

hostname -f

Si votre serveur Ubuntu n’a pas encore de nom de domaine complet, vous pouvez utiliser hostnamectl pour en définir un.

sudo hostnamectl set-hostname your-fqdn

Un nom de domaine complet courant pour le serveur de messagerie est mail.votredomaine.com.

Vous devez vous déconnecter et vous reconnecter pour voir ce changement à l’invite de commande.

Configurer les enregistrements DNS pour votre serveur de messagerie

Vous devez vous rendre sur votre service d’hébergement DNS (généralement votre registraire de domaine comme NameCheap) pour configurer les enregistrements DNS

Créer un enregistrement ‘MX’ avec votre domaine

Un enregistrement MX indique aux autres MTA que votre serveur de messagerie mail.votredomaine.com est responsable de la distribution des e-mails pour votre nom de domaine.

MX record    @           mail.exemple.com

Un nom commun pour l’hôte MX est mail.votredomaine.com. Vous pouvez spécifier plusieurs enregistrements MX et définir la priorité de vos serveurs de messagerie. Un nombre inférieur signifie une priorité plus élevée. Ici, nous n’utilisons qu’un seul enregistrement MX et définissons 0 comme valeur de priorité. (0 – 65535)

Notez que lorsque vous créez l’enregistrement MX, vous devez saisir @ ou votre nom de domaine apex dans le champ du nom, comme ci-dessous. Un nom de domaine apex est un nom de domaine sans sous-domaine.

Créer un enregistrement ‘A’ avec un sous domaine mail :

Un enregistrement A relie un nom de domaine complet à une adresse IPv4.

Créer un sous domaine « mail.exemple.com » depuis l’interface de gestion de nom de domaine de votre prestataire (reportez-vous à l’étape 1 de la phase 4 de ce tutoriel).

mail.exemple.com        <IP-address>
Créer un enregistrement ‘AAAA’ avec un sous domaine mail :

Si votre serveur utilise une adresse IPv6, il est également judicieux d’ajouter un enregistrement DNS AAAA pour  mail.exemple.com.

mail.exemple.com        <IPv6-address>

Astuce : Si vous utilisez le service DNS Cloudflare, vous ne devez pas activer la fonctionnalité CDN (proxy) lors de la création d’un enregistrement A et AAAA pour mail.exemple.com. Cloudflare ne prend pas en charge le proxy SMTP ou IMAP.

Cas particulier, créer un enregistrement PTR :

Un enregistrement de pointeur, ou enregistrement PTR, mappe une adresse IP à un FQDN. Il s’agit de l’équivalent de l’enregistrement A et est utilisé pour la recherche DNS inversé (rDNS).

La résolution inverse de l’adresse IP avec enregistrement PTR peut aider à bloquer les spammeurs. De nombreux MTA n’acceptent les e-mails que si le serveur est réellement responsable d’un certain domaine. Vous devez donc définir un enregistrement PTR pour votre serveur de messagerie afin que vos e-mails aient une meilleure chance d’atterrir dans la boîte de réception du destinataire au lieu du dossier spam.

Pour vérifier l’enregistrement PTR d’une adresse IP, vous pouvez utiliser la commande suivante.

dig -x <IP> +short

ou

host <IP>

L’enregistrement PTR n’est pas géré par votre bureau d’enregistrement de domaine. Il est géré par l’organisation qui vous donne une adresse IP. Vous obtenez l’adresse IP de votre fournisseur d’hébergement, et non de votre registraire de domaine, vous devez donc définir un enregistrement PTR pour votre adresse IP dans le panneau de configuration de votre fournisseur d’hébergement. Sa valeur doit être le nom d’hôte de votre serveur de messagerie : mail.votre-domaine.com. Si votre serveur utilise une adresse IPv6, ajoutez également un enregistrement PTR pour votre adresse IPv6.

Remarque : Gmail vérifiera en fait l’enregistrement A du nom d’hôte spécifié dans l’enregistrement PTR. Si le nom d’hôte correspond à la même adresse IP, Gmail acceptera votre e-mail. Sinon, il rejettera votre e-mail.

Une fois tout ce qui précède terminé, allons-y avec Postfix.

Etape 1 : Installation de Postfix

-> Retour au sommaire

Sur votre serveur Ubuntu, exécutez les deux commandes suivantes.

sudo apt-get update

sudo apt-get install postfix -y

YVous serez invité à sélectionner un type pour la configuration du courrier. Normalement, vous voudrez sélectionner le deuxième type : Internet Site.

Ensuite, entrez votre nom de domaine pour le nom de messagerie système, c’est-à-dire le nom de domaine après le symbole @. Par exemple, l’adresse e-mail du cabinet Avocat-Rainio est contact@avocat-rainio.com, on a donc saisi avocat-rainio.com pour le nom de messagerie du système. Ce nom de domaine sera ajouté aux adresses qui n’ont pas de nom de domaine spécifié.

Notez que si vous saisissez un sous-domaine tel que mail.exemple.com, vous pourrez recevoir des e-mails destinés aux adresses toto@mail.exemple.com, mais pas les e-mails destinés à toto@exemple.com.

Vous devez donc choisir : Internet Site

puis indiquer votre nom de domaine :
exemple.com

Une fois installé, Postfix sera automatiquement démarré et un fichier /etc/postfix/main.cf sera généré. Nous pouvons maintenant vérifier la version de Postfix avec cette commande :

postconf mail_version

Sur Ubuntu 22.04, la version Postfix est 3.6.4 et Ubuntu 20.04 est livré avec la version 3.4.10.

mail_version = 3.6.4

L’utilitaire ss (Socket Statistics) nous indique que le processus maître de Postfix écoute sur le port TCP 25.

sudo ss -lnpt | grep master

Postfix est livré avec de nombreux fichiers binaires sous le répertoire /usr/sbin/ , comme on peut le voir avec la commande suivante.

dpkg -L postfix | grep /usr/sbin/

Sortie :

/usr/sbin/postalias
/usr/sbin/postcat
/usr/sbin/postconf
/usr/sbin/postdrop
/usr/sbin/postfix
/usr/sbin/postfix-add-filter
/usr/sbin/postfix-add-policy
/usr/sbin/postkick
/usr/sbin/postlock
/usr/sbin/postlog
/usr/sbin/postmap
/usr/sbin/postmulti
/usr/sbin/postqueue
/usr/sbin/postsuper
/usr/sbin/posttls-finger
/usr/sbin/qmqp-sink
/usr/sbin/qmqp-source
/usr/sbin/qshape
/usr/sbin/rmail
/usr/sbin/sendmail
/usr/sbin/smtp-sink
/usr/sbin/smtp-source
Ouvrir le port TCP 25 (entrant) dans le pare-feu :

Le port TCP entrant 25 doit être ouvert, afin que Postfix puisse recevoir des emails d’autres serveurs SMTP. Ubuntu n’active pas de pare-feu par défaut. Si vous avez activé le pare-feu UFW, vous devez ouvrir le port 25 (entrant) avec la commande suivante.

sudo ufw allow 25/tcp

Nous pouvons ensuite analyser les ports ouverts sur le serveur de messagerie à l’aide d’un analyseur de ports en ligne. Entrez l’adresse IP publique de votre serveur de messagerie et sélectionnez analyser tous les ports communs.

Vous pouvez voir sur la capture d’écran ci-dessus que le port TCP 25 est ouvert sur le serveur de messagerie.

Vérifier si le port TCP 25 (sortant) est bloqué :

Le port 25 TCP sortant doit être ouvert, afin que Postfix puisse envoyer des e-mails à d’autres serveurs SMTP. Le port TCP 25 sortant est contrôlé par votre hébergeur. Nous pouvons installer l’utilitaire telnet pour vérifier s’il est ouvert ou bloqué.

sudo apt install telnet

Exécutez la commande suivante sur votre serveur de messagerie.

telnet gmail-smtp-in.l.google.com 25

S’il n’est pas bloqué, vous verrez des messages comme ci-dessous, qui indiquent qu’une connexion est établie avec succès. (Astuce : saisissez le mot ‘quit’ et appuyez sur Entrée pour fermer la connexion.)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Si le port 25 (sortant) est bloqué, vous verrez quelque chose comme :

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

Dans ce cas, votre Postfix ne peut pas envoyer d’emails vers d’autres serveurs SMTP. Demandez à votre FAI/fournisseur d’hébergement d’ouvrir le port sortant 25 pour vous. S’ils refusent votre demande, vous devez configurer un relais SMTP pour contourner le blocage du port 25 ou utiliser un VPS comme Kamatera qui ne bloque pas le port 25.

Certaines personnes pourraient se demander : « Puis-je changer le port 25 en un autre port pour contourner le blocage » ?

La réponse est non.

Envoi d’e-mails de test :

En fait, nous pouvons désormais envoyer et recevoir des e-mails depuis la ligne de commande. Si votre serveur Ubuntu dispose d’un compte utilisateur appelé utilisateur1, l’adresse e-mail de cet utilisateur est utilisateur1@votredomaine.com. Vous pouvez envoyer un e-mail à l’utilisateur racine root@votredomaine.com. Vous pouvez également envoyer des e-mails à Gmail, Yahoo Mail ou tout autre service de messagerie.

Lors de l’installation de Postfix, un binaire sendmail est placé dans /usr/sbin/sendmail, qui est compatible avec le serveur SMTP Sendmail traditionnel. Vous pouvez utiliser le binaire sendmail de Postfix pour envoyer un e-mail de test à votre compte Gmail comme ceci :

echo "test email" | sendmail your-account@gmail.com

Dans cette commande simple, sendmail lit un message à partir de l’entrée standard et définit « test email » comme corps du message, puis envoie ce message à votre compte Gmail. Vous devriez pouvoir recevoir cet e-mail de test dans votre boîte de réception Gmail (ou dossier spam). Vous pouvez voir que bien que nous n’ayons pas spécifié l’adresse d’expédition, Postfix ajoute automatiquement un nom de domaine pour l’adresse d’expédition. C’est parce que nous avons ajouté notre nom de domaine dans le nom de messagerie système lors de l’installation de Postfix.

Remarque : Le nom de domaine De : est déterminé par le paramètre myorigin dans Postfix, et non par le paramètre myhostname .

Vous pouvez essayer de répondre à cet e-mail de test pour voir si Postfix peut recevoir des e-mails. Il est probable que les e-mails envoyés depuis votre domaine soient étiquetés comme spam. Ne vous inquiétez pas maintenant. Nous allons résoudre ce problème dans les parties ultérieures de cette série de didacticiels.

La boîte de réception de chaque utilisateur se trouve dans le fichier /var/spool/mail/<username> ou /var/mail/<username>. Si vous ne savez pas où chercher la boîte de réception, utilisez cette commande.

postconf mail_spool_directory

Le journal des e-mails de Postfix est stocké dans /var/log/mail.log.

Vous ne pouvez toujours pas envoyer d’e-mail ?

Si le port 25 (sortant) n’est pas bloqué, mais que vous ne pouvez toujours pas envoyer d’e-mails depuis votre propre serveur de messagerie vers votre autre adresse e-mail telle que Gmail, vous devez ouvrir le journal des e-mails (/var/log/mail.log) avec un éditeur de texte en ligne de commande, tel que Nano.

sudo nano /var/log/mail.log

Par exemple, certaines personnes peuvent voir les lignes suivantes dans le fichier.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Cela signifie que votre serveur de messagerie utilise IPv6 pour envoyer l’e-mail, mais que vous n’avez pas configuré d’enregistrements IPv6. Vous devez vous rendre dans votre gestionnaire DNS, définir l’enregistrement AAAA pour mail.votre-domaine.com, puis vous devez également définir l’enregistrement PTR pour votre adresse IPv6. (L’enregistrement PTR est géré par l’organisation qui vous donne une adresse IP.)

Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl + X.

Utilisation d’un programme de messagerie pour envoyer et lire des e-mails :

Installons maintenant un MUA (mail user agent) en ligne de commande.

sudo apt-get install mailutils

Pour envoyer un e-mail, tapez :

mail -a FROM:your-account@yourdomain.com username@gmail.com
user@mail:~$ mail -a FROM:xiao@linuxbabe.com username@gmail.com
Cc: 
Subject: 2nd test email
I'm sending this email using the mail program.

Entrez la ligne d’objet et le corps du texte. Pour indiquer à mail que vous avez fini d’écrire, appuyez sur Ctrl+D et mail enverra cet e-mail pour vous.

Pour lire les e-mails entrants, saisissez simplement mail.

mail

Voici comment utiliser le programme de messagerie pour gérer votre boîte aux lettres.

Les messages qui ont été ouverts seront déplacés de /var/mail/<username> vers /home/<username>/mbox file. Cela signifie que les autres clients de messagerie ne peuvent pas lire ces messages. Pour éviter que cela ne se produise, tapez x au lieu de q pour quitter le courrier.

Comment augmenter la limite de taille des pièces jointes :

Par défaut, la pièce jointe ne peut pas dépasser 10 Mo, ce qui est indiqué par le paramètre message_size_limit .

postconf | grep message_size_limit

Sortie :

message_size_limit = 10240000

Ce paramètre définit la taille limite des e-mails provenant de votre propre serveur de messagerie et des e-mails arrivant sur votre serveur de messagerie.

Pour autoriser une pièce jointe d’une taille de 50 Mo, exécutez la commande suivante.

sudo postconf -e message_size_limit=52428800

Lorsque la commande postconf est invoquée avec l’option -e (edit), elle essaiera de trouver le paramètre (message_size_limit) dans le fichier de configuration principal de Postfix (/etc/postfix/main.cf) et de modifier la valeur. Si le paramètre est introuvable, il ajoute le paramètre à la fin du fichier.

Notez que message_size_limit ne doit pas être supérieur à mailbox_size_limit, sinon Postfix pourrait ne pas être en mesure de recevoir des e-mails. La valeur par défaut de mailbox_size_limit est de 5 120 000 octets (environ 48 Mo) dans le package Postfix en amont. Sur Ubuntu, la valeur par défaut est définie sur 0, comme on peut le voir avec

postconf | grep mailbox_size_limit

Sortie :

mailbox_size_limit = 0

Cela signifie que la boîte aux lettres n’a pas de limite de taille…

Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Lorsque vous envoyez un e-mail avec des pièces jointes volumineuses à partir de votre serveur de messagerie, vous devez également faire attention à la limite de taille des pièces jointes du serveur de réception. Par exemple, vous ne pouvez pas envoyer une pièce jointe de plus de 25 Mo à une adresse Gmail.

Définition du nom d’hôte Postfix :

Par défaut, le serveur SMTP de Postfix utilise le nom d’hôte du système d’exploitation. Cependant, le nom d’hôte du système d’exploitation peut changer, c’est donc une bonne pratique de définir le nom d’hôte directement dans le fichier de configuration de Postfix. Ouvrez le fichier de configuration principal de Postfix avec un éditeur de texte en ligne de commande, tel que Nano.

sudo nano /etc/postfix/main.cf

Recherchez le paramètre myhostname et définissez mail.yourdomain.com comme valeur. Il n’est pas recommandé d’utiliser le domaine apex votredomaine.com comme monnomd’hôte. Techniquement, vous pouvez utiliser le domaine apex, mais cela créera des problèmes dans les parties ultérieures de cette série de didacticiels.

myhostname = mail.exemple.com

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X.) Redémarrez Postfix pour que la modification prenne effet.

sudo systemctl restart postfix
Création d’un alias d’e-mail :

Il existe certains alias obligatoires que vous devez configurer lorsque vous utilisez votre serveur de messagerie dans un environnement de production. Vous pouvez ajouter un alias d’adresse e-mail dans le fichier /etc/aliases , qui est un fichier de table de recherche spécial de Postfix utilisant un format compatible Sendmail.

sudo nano /etc/aliases

Par défaut, il n’y a que deux lignes dans ce fichier.

# See man 5 aliases for format
postmaster: root

La première ligne est un commentaire. La deuxième ligne est la seule définition d’un alias dans ce fichier. Le côté gauche est le nom d’alias. Le côté droit est la destination finale du message électronique. Ainsi, les e-mails pour postmaster@exemple.com seront envoyés à root@your-domain.com. L’adresse e-mail du postmaster est requise par la RFC 2142.

Normalement, nous n’utilisons pas l’adresse e-mail racine. Au lieu de cela, le ‘postmaster’ peut utiliser un nom de connexion normal pour accéder aux e-mails. Vous pouvez donc ajouter la ligne suivante. Remplacez nom d’utilisateur par votre vrai nom d’utilisateur si votre système d’exploitation est Ubuntu, ce sera probablement ubuntu, sinon, indiquez votre nom d’utilisateur).

root:   ubuntu

De cette façon, les e-mails pour postmaster@your-domain.com seront envoyés à username@your-domain.com. Vous pouvez maintenant enregistrer et fermer le fichier. Ensuite, reconstruisez la base de données d’alias avec la commande newaliases 

sudo newaliases
Utilisation d’une adresse IPv4 uniquement :

Par défaut, Postfix utilise à la fois les protocoles IPv4 et IPv6, comme on peut le voir avec :

postconf inet_protocols

Sortie :

inet_protocols = all

Si votre serveur de messagerie n’a pas d’adresse IPv6 publique, il est préférable de désactiver IPv6 dans Postfix pour éviter les connexions IPv6 inutiles. Exécutez simplement la commande suivante pour désactiver IPv6 dans Postfix.

sudo postconf -e "inet_protocols = ipv4"

Redémarrez ensuite Postfix.

sudo systemctl restart postfix
Mettre à jour de Postfix :

Si vous exécutez sudo apt update, puis sudo apt upgrade et que le système va mettre à niveau Postfix, vous serez peut-être invité à choisir à nouveau un type de configuration pour Postfix. Cette fois, vous devez choisir Aucune configuration pour ne pas toucher à votre fichier de configuration actuel.

Félicitations ! Vous avez maintenant un serveur de messagerie Postfix de base opérationnel. Vous pouvez envoyer des e-mails en texte brut et lire les e-mails entrants à l’aide de la ligne de commande. Dans la prochaine partie de cette série de didacticiels, nous apprendrons comment installer le serveur Dovecot IMAP et activer le cryptage TLS, ce qui nous permettra d’utiliser un client de messagerie de bureau comme Mozilla Thunderbird pour envoyer et recevoir des e-mails.

Etape 2 : Installer le serveur Dovecot IMAP sur Ubuntu et activer le cryptage TLS

-> Retour au sommaire

Il s’agit de l’étape 2 de la création de votre propre serveur de messagerie sécurisé sur Ubuntu à partir de zéro série de didacticiels. Dans la partie 1, nous vous avons montré comment configurer un serveur SMTP de base pour Postfix. Dans ce didacticiel, nous allons configurer notre serveur de messagerie afin de pouvoir recevoir et envoyer des e-mails à l’aide d’un client de messagerie de bureau tel que Mozilla Thunderbird ou Microsoft Outlook.

Pour pouvoir envoyer des e-mails à l’aide d’un client de messagerie de bureau, nous devons activer le service de soumission dans Postfix. Pour recevoir des e-mails à l’aide d’un client de messagerie de bureau, nous pouvons installer un serveur IMAP open source nommé Dovecot sur le serveur Ubuntu. Et pour chiffrer nos communications, nous avons besoin d’un certificat TLS.

Ouvrir les ports dans le pare-feu :

Ubuntu n’active pas le pare-feu par défaut. Si vous avez activé le pare-feu UFW, vous devez exécuter la commande suivante pour ouvrir les ports liés aux e-mails dans le pare-feu.

sudo ufw allow 80,443,587,465,143,993/tcp

Si vous utilisez POP3 pour récupérer des e-mails (afin de les sauvegarder sur le disque du de votre ordinateur), ouvrez également les ports 110 et 995.

sudo ufw allow 110,995/tcp
Sécurisation du trafic du serveur de messagerie avec un certificat TLS

Lorsque nous configurons nos clients de messagerie de bureau, c’est toujours une bonne idée d’activer le cryptage TLS pour empêcher les pirates d’espionner nos e-mails. Nous pouvons facilement obtenir un certificat TLS gratuit auprès de Let’s Encrypt. Exécutez les commandes suivantes pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu à partir du référentiel de logiciels par défaut.

sudo apt update

sudo apt dist-upgrade

sudo apt install certbot

Si vous n’avez pas encore de serveur Web en cours d’exécution, on vous recommande d’en installer un (Apache ou Nginx), car il est plus facile d’obtenir et d’installer un certificat TLS avec un serveur Web qu’en utilisant d’autres méthodes. Et dans un tutoriel ultérieur, on vous montrera comment configurer la messagerie Web, ce qui nécessite l’exécution d’un serveur Web.

Si vous utilisez le serveur Web Apache, vous devez installer le plugin Apache. (La commande suivante installera le serveur Web Apache s’il n’est pas déjà installé sur votre système.)

sudo apt install python3-certbot-apache
Obtention d’un certificat TLS avec un serveur Apache :

Vous devez disposer d’un hôte virtuel Apache pour mail.exemple.com avant d’obtenir le certificat Let’s Encrypt TLS. Créez le fichier d’hôte virtuel :

sudo nano /etc/apache2/sites-available/mail.exemple.com.conf

Collez ensuite le texte suivant dans le fichier.

<VirtualHost *:80>        
        ServerName mail.exemple.com

        DocumentRoot /var/www/html/
</VirtualHost>

Enregistrez et fermez le fichier. Activez cet hôte virtuel.

sudo a2ensite mail.exemple.conf

Désactivez ensuite l’hôte virtuel par défaut, car il pourrait interférer avec d’autres hôtes virtuels.

sudo a2dissite 000-default

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Une fois l’hôte virtuel créé et activé, exécutez la commande suivante pour obtenir le certificat Let’s Encrypt TLS.

sudo certbot certonly -a apache --agree-tos --no-eff-email --staple-ocsp --email you@example.com -d mail.exemple.com

Définitions :

Remplacez le texte rouge par vos données réelles. Vous devriez voir ce qui suit, ce qui signifie que le certificat a été obtenu avec succès. Vous pouvez également voir le répertoire dans lequel votre certificat est stocké.

Activer le service de soumission dans Postfix :

Pour envoyer des e-mails à partir d’un client de messagerie de bureau, nous devons activer le service de soumission de Postfix afin que le client de messagerie puisse soumettre des e-mails au serveur SMTP de Postfix. Modifiez le fichier master.cf.

sudo nano /etc/postfix/master.cf

Dans la section de soumission, décommentez ou ajoutez les lignes suivantes. Veuillez autoriser au moins un espace (tabulation ou barre d’espace) avant -o. Dans les configurations postfixées, un caractère d’espacement précédent signifie que cette ligne est la continuation de la ligne précédente. (Par défaut, la section de soumission est commentée. Vous pouvez copier les lignes suivantes et les coller dans le fichier, de sorte que vous n’ayez pas à décommenter manuellement ou à ajouter du nouveau texte.)

submission     inet     n    -    y    -    -    smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_tls_wrappermode=no
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth

La configuration ci-dessus active le service de soumission de Postfix et nécessite un chiffrement TLS. Ainsi, plus tard, notre client de messagerie de bureau pourra se connecter au service de soumission dans le cryptage TLS. Le service de soumission écoute sur le port TCP 587. STARTTLS est utilisé pour chiffrer les communications entre le client de messagerie et le service de soumission.

Le client de messagerie Microsoft Outlook ne prend en charge que la soumission sur le port 465. Si vous comptez utiliser Microsoft Outlook, vous devez également activer le service de soumission sur le port 465 en ajoutant les lignes suivantes dans le fichier.

smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth

Enregistrez et fermez le fichier.

Conseil : Le protocole SMTP est utilisé lorsqu’un client de messagerie envoie des e-mails à un serveur SMTP.

Ensuite, nous devons spécifier l’emplacement du certificat TLS et de la clé privée dans le fichier de configuration de Postfix. Modifiez le fichier main.cf.

sudo nano /etc/postfix/main.cf

Modifiez le paramètre TLS comme suit. N’oubliez pas de remplacer  mail.votre-domaine.com par votre véritable nom d’hôte.

#Enable TLS Encryption when Postfix receives incoming emails
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_security_level=may 
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

#Enable TLS Encryption when Postfix sends outgoing emails
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

#Enforce TLSv1.3 or TLSv1.2
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

Votre certificat et votre clé privée Let’s Encrypt sont stockés dans le répertoire /etc/letsencrypt/live/mail.your-domain.com/ .

Enregistrez et fermez le fichier. Redémarrez ensuite Postfix.

sudo systemctl restart postfix

Si vous exécutez la commande suivante, vous verrez que Postfix écoute maintenant sur les ports 587 et 465.

sudo ss -lnpt | grep master

Etape 2 : Installation du serveur Dovecot IMAP

-> Retour au sommaire

Entrez la commande suivante pour installer le package Dovecot core et le package service IMAP sur le serveur Ubuntu.

sudo apt install dovecot-core dovecot-imapd

Si vous utilisez POP3 pour récupérer des e-mails, installez également le package dovecot-pop3d.

sudo apt install dovecot-pop3d

Vérifier la version de dovecot

dovecot --version

Sortie :

2.3.16 (7e2e900c1a)
Activation du protocole IMAP/POP3 :

Modifiez le fichier de configuration principal.

sudo nano/etc/dovecot/dovecot.conf

Ajoutez la ligne suivante pour activer le protocole IMAP.

protocols = imap

Si vous utilisez POP3 pour récupérer des e-mails, ajoutez également le protocole POP3.

protocols = imap pop3

Save and close the file.

Configuration de l’emplacement de la boîte aux lettres :

Par défaut, Postfix et Dovecot utilisent le format mbox pour stocker les e-mails. Les e-mails de chaque utilisateur sont stockés dans un seul fichier /var/mail/username. Vous pouvez exécuter la commande suivante pour trouver le répertoire du spouleur de courrier.

postconf mail_spool_directory

Sortie :

mail_spool_directory = /var/mail

Cependant, en général on souhaite presque toujours utiliser le format Maildir pour stocker les e-mails. Le fichier de configuration pour l’emplacement de la boîte aux lettres est /etc/dovecot/conf.d/10-mail.conf.

sudo nano /etc/dovecot/conf.d/10-mail.conf

La configuration par défaut utilise le format de messagerie mbox.

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Remplacez-le par ce qui suit pour que Dovecot utilise le format Maildir. Les e-mails seront stockés dans le répertoire Maildir sous le répertoire personnel de chaque utilisateur.

mail_location = maildir:~/Maildir

Nous devons ajouter la ligne suivante dans le fichier. (Sur Ubuntu 18.04 et 20.04, cette ligne est déjà dans le fichier.)

mail_privileged_group = mail

Enregistrez et fermez le fichier. Ajoutez ensuite Dovecot au groupe de messagerie afin que Dovecot puisse lire la BOÎTE DE RÉCEPTION.

sudo adduser dovecot mail
Utilisation de Dovecot pour envoyer des e-mails :

Bien que nous ayons configuré Dovecot pour stocker les e-mails au format Maildir, par défaut, Postfix utilise son agent de distribution local (LDA) intégré pour déplacer les e-mails entrants vers la banque de messages (boîte de réception, envoyés, corbeille, courrier indésirable, etc.), et il sera enregistré au format mbox.

Nous devons configurer Postfix pour transmettre les e-mails entrants à Dovecot, via le protocole LMTP, qui est une version simplifiée de SMTP, afin que les e-mails entrants soient enregistrés au format Maildir par Dovecot. LMTP permet un système de messagerie hautement évolutif et fiable. Cela nous permet également d’utiliser le plug-in sieve pour filtrer les messages entrants dans différents dossiers.

Installez le serveur Dovecot LMTP.

sudo apt install dovecot-lmtpd

Modifiez le fichier de configuration principal de Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Ajoutez lmtp aux protocoles pris en charge.

protocols = imap lmtp

Enregistrez et fermez le fichier. Modifiez ensuite le fichier Dovecot 10-master.conf .

sudo nano /etc/dovecot/conf.d/10-master.conf

Remplacez la définition du service lmtp par ce qui suit.

service lmtp {
 unix_listener /var/spool/postfix/private/dovecot-lmtp {
   mode = 0600
   user = postfix
   group = postfix
  }
}

Ensuite, éditez le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin du fichier. La première ligne indique à Postfix de livrer les e-mails entrants au magasin de messages local via le serveur Dovecot LMTP. La deuxième ligne désactive SMTPUTF8 dans Postfix, car Dovecot-LMTP ne prend pas en charge cette extension de messagerie.

mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no

Enregistrez et fermez le fichier.

Configuration du mécanisme d’authentification :

Edit the authentication config file.

sudo nano/etc/dovecot/conf.d/10-auth.conf

Décommentez la ligne suivante.

disable_plaintext_auth = yes

Il désactivera l’authentification en clair lorsqu’il n’y a pas de cryptage SSL/TLS. Trouvez ensuite la ligne suivante,

#auth_username_format = %Lu

Décommentez-le et remplacez sa valeur par %n.

auth_username_format = %n

Par défaut, lorsque Dovecot essaie de trouver ou de livrer des e-mails pour un utilisateur, il utilise l’adresse e-mail complète. Étant donné que dans cette partie, nous configurons uniquement les utilisateurs de boîte aux lettres canoniques (en utilisant les utilisateurs du système d’exploitation comme utilisateurs de boîte aux lettres), Dovecot ne peut pas trouver l’utilisateur de la boîte aux lettres au format de domaine complet (nom d’utilisateur@votre-domaine.com), nous devons donc définir auth_username_format = %n pour supprimer la partie domaine, Dovecot devrait pouvoir trouver l’utilisateur de la boîte aux lettres. Cela nous permet également d’utiliser l’adresse e-mail complète (nom d’utilisateur@votre-domaine.com) pour vous connecter.

Ensuite, trouvez la ligne suivante.

auth_mechanisms = plain

Cette ligne active uniquement le mécanisme d’authentification PLAIN. LOGIN est un autre mécanisme d’authentification que vous souhaiterez probablement ajouter pour prendre en charge les anciens clients de messagerie.

auth_mechanisms = plain login

Enregistrez et fermez le fichier.

Configuration du chiffrement SSL/TLS :

Ensuite, modifiez le fichier de configuration SSL/TLS.

sudo nano/etc/dovecot/conf.d/10-ssl.conf

Remplacez ssl = yes par ssl = required pour appliquer le chiffrement.

ssl = required

Trouvez ensuite les lignes suivantes.

ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key

Par défaut, Dovecot utilise un certificat TLS auto-signé. Remplacez-les par les valeurs suivantes, qui spécifient l’emplacement de votre certificat TLS et de votre clé privée Let’s Encrypt. N’oubliez pas le < caractère. Il est nécessaire.

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Trouvez la ligne suivante.

#ssl_prefer_server_ciphers = no

C’est une bonne pratique de préférer l’ordre des chiffrements du serveur à celui du client. Décommentez donc cette ligne et remplacez la valeur par « yes ».

ssl_prefer_server_ciphers = yes

Si vous utilisez Ubuntu 20.04 ou Ubuntu 22.04, désactivez SSLv3, TLSv1 et TLSv1.1 non sécurisés en ajoutant la ligne suivante.

ssl_min_protocol = TLSv1.2

Si vous utilisez la version 2.2.x de Dovecot (comme dans Ubuntu 18.04), vous devez ajouter la ligne suivante pour désactiver le protocole TLS non sécurisé.

ssl_protocols = !SSLv3 !TLSv1 !TLSv1.1

Enregistrez et fermez le fichier.

Désactiver les fournisseurs FIPS dans OpenSSL sur Ubuntu 22.04

Ubuntu 22.04 est livré avec OpenSSL 3.0, qui comprend un fournisseur FIPS. Cependant, cela ne fonctionnera pas avec Dovecot. Nous devons désactiver le fournisseur FIPS.

sudo nano /etc/ssl/openssl.cnf

Trouvez la ligne suivante (ligne 54).

providers = provider_sect

Ajoutez un # caractère pour le commenter.

#providers = provider_sect

Enregistrez et fermez le fichier.

Si vous ne désactivez pas le fournisseur FIPS dans OpenSSL, Dovecot produirait l’erreur suivante.

imap-login: Error: Failed to initialize SSL server context: Can't load SSL certificate: error:25066067:DSO support routines:dlfcn_load:could not load the shared library: filename(libproviders.so)
Configuration de l’authentification SASL :

Modifiez le fichier suivant.

sudo nano /etc/dovecot/conf.d/10-master.conf

Modifiez la section d’authentification du service comme suit afin que Postfix puisse trouver le serveur d’authentification Dovecot. Veuillez faire attention à la syntaxe. Chaque parenthèse ouvrante doit se terminer par une parenthèse fermante.

service auth {
  unix_listener /var/spool/postfix/private/auth {
   mode = 0660
   user = postfix
      group = postfix
  }
}

Enregistrez et fermez le fichier.

Créer automatiquement un dossier Envoyé et Corbeille :

Modifiez le fichier de configuration ci-dessous.

sudo nano/etc/dovecot/conf.d/15-mailboxes.conf

Pour créer automatiquement un dossier, ajoutez simplement la ligne suivante dans la section boîte aux lettres.

auto = create

Par exemple:

 mailbox Trash {
  auto = create
  special_use = \Trash
 }

Certains dossiers courants que vous souhaiterez créer incluent : Brouillons, Junk, Corbeille et Envoyé. Le dossier Envoyé sera créé sous le répertoire personnel de l’utilisateur lorsque celui-ci enverra le premier e-mail. Le dossier Corbeille sera créé lorsque l’utilisateur supprimera un e-mail pour la première fois, etc. Après avoir enregistré et fermé tous les fichiers de configuration ci-dessus, redémarrez Postfix et Dovecot.

sudo systemctl restart postfix dovecot

Dovecot écoutera sur le port 143 (IMAP) et 993 (IMAPS), comme on peut le voir avec :

sudo ss -lnpt | grep dovecot

S’il y a une erreur de configuration, dovecot ne redémarrera pas, c’est donc une bonne idée de vérifier si Dovecot est en cours d’exécution avec la commande suivante.

systemctl status dovecot
Configurer le client de messagerie de bureau

Ouvrez maintenant votre client de messagerie de bureau tel que Mozilla Thunderbird. Accédez à Modifier -> Paramètres du compte -> Actions du compte -> Ajouter un compte de messagerie pour ajouter un compte de messagerie.

Conseil 1 : Vous pouvez également utiliser le port 993 avec le cryptage SSL/TLS pour IMAP et le port 465 avec le cryptage SSL/TLS pour SMTP. Vous ne devez PAS utiliser le port 25 comme port SMTP dans les clients de messagerie pour envoyer des e-mails sortants.

Astuce 2 : Si vous utilisez le client de messagerie Microsoft 365 Outlook, vous ne devez pas activer l’authentification par mot de passe sécurisé (SPA), qui est un protocole propriétaire de Microsoft. Votre mot de passe est déjà crypté par TLS.

Vous devriez maintenant pouvoir vous connecter à votre propre serveur de messagerie et également envoyer et recevoir des e-mails avec votre client de messagerie de bureau !

Nous utilisons des comptes Unix locaux comme adresses e-mail, comme nous l’avons fait dans la partie 1. Par exemple, si vous avez un utilisateur appelé utilisateur1 sur votre serveur Ubuntu, vous avez alors une adresse e-mail : utilisateur1@votre-domaine.com, et le mot de passe pour l’adresse e-mail est le même mot de passe pour l’utilisateur 1 utilisateur. Pour créer un compte Unix local, exécutez

sudo adduser user1

Remarque : Dovecot ne vous permet pas de vous connecter avec le compte root. Vous devez créer des comptes d’utilisateurs distincts.

Vous pouvez répertorier tous les utilisateurs de boîte aux lettres disponibles avec :

sudo doveadm user '*'

Il est recommandé de redémarrer Dovecot après avoir ajouté des utilisateurs, afin que Dovecot puisse reconnaître les nouveaux utilisateurs de la boîte aux lettres.

sudo systemctl restart dovecot
Conseils de dépannage :

En règle générale, vous devriez toujours vérifier le journal de messagerie (/var/log/mail.log) sur votre serveur de messagerie lorsqu’une erreur se produit. Voici une liste d’erreurs spécifiques et des conseils de dépannage.

Impossible de se connecter à partir des clients de messagerie :

Si vous ne pouvez pas vous connecter à votre serveur de messagerie à partir d’un client de messagerie de bureau, analysez votre serveur de messagerie pour déterminer si les ports (TCP 587, 465, 143 et 993) sont ouverts. Notez que vous devez exécuter la commande suivante à partir d’un autre ordinateur ou serveur Linux. Si vous l’exécutez sur votre serveur de messagerie, les ports apparaîtront toujours ouverts.

sudo nmap mail.your-domain.com

Et vérifiez si Dovecot est en cours d’exécution.

systemctl status dovecot

Vous pouvez également consulter le journal de messagerie (/var/log/mail.log), qui peut vous donner quelques indices. Si Dovecot ne démarre pas, l’erreur n’est peut-être pas consignée dans le fichier /var/log/mail.log , vous pouvez exécuter la commande suivante pour voir ce qui ne va pas.

sudo journalctl -eu dovecot

Par exemple, certaines personnes peuvent avoir l’erreur suivante dans le journal.

doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 78: Unknown setting

La plupart du temps, il s’agit d’une simple erreur de syntaxe, comme une accolade manquante. Ouvrez le fichier de configuration, accédez à la ligne spécifiée et corrigez l’erreur.

Si vous trouvez le message d’erreur suivant dans le journal de messagerie :

imap-login: Error: Failed to initialize SSL server context: Can't load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small

Ouvrez alors le fichier de configuration Dovecot TLS.

sudo nano /etc/dovecot/conf.d/10-ssl.conf

Ajoutez la ligne suivante dans ce fichier.

ssl_dh = </etc/dovecot/dh.pem

Enregistrez et fermez le fichier. Générez ensuite le fichier de paramètres DH avec :

sudo openssl dhparam -out /etc/dovecot/dh.pem 4096

Redémarrez Dovecot pour que les modifications prennent effet.

DNS Cloudflare :

Comme indiqué dans l’étape 1, si vous utilisez le service DNS Cloudflare, vous ne devez pas activer la fonction CDN (proxy) lors de la création d’un enregistrement DNS A et d’un enregistrement AAAA pour le nom d’hôte de votre serveur de messagerie. Cloudflare ne prend pas en charge le proxy SMTP ou IMAP.

Relay Access Denied :

Si vous voyez l’erreur « relay access denied » lorsque vous essayez d’envoyer des e-mails à partir d’un client de messagerie, il est fort probable que vous utilisiez le port 25 comme port SMTP dans votre client de messagerie. Comme indiqué précédemment, vous devez utiliser le port 587 ou 465 comme port SMTP dans les clients de messagerie (Mozilla Thunberbird, Microsoft Outlook, etc.) pour envoyer les e-mails sortants. Le port 25 doit être utilisé pour les communications de serveur SMTP à serveur SMTP.

Si l’erreur suivante « Accès relais refusé » s’affiche dans le fichier /var/log/mail.log lorsque vous essayez d’envoyer des e-mails à partir d’autres services de messagerie tels que Gmail vers votre propre serveur de messagerie, il est probable que votredomaine.com ne figure pas dans la liste. du paramètre $mydestination .

NOQUEUE: reject: RCPT from mail-il1-f180.google.com[209.85.166.180]: 454 4.7.1 <xiao@inuxbabe.com>: Relay access denied; from=<someone@gmail.com> to=<xiao@linuxbabe.com> proto=ESMTP helo=<mail-il1-f180.google.com>

Vous pouvez afficher la valeur actuelle de $mydestination avec :

postconf mydestination

Certains domaines pourraient ne pas avoir le nom de domaine principal dans la liste comme ceci :

mydestination = $myhostname, localhost.$mydomain, localhost

Exécutez ensuite la commande suivante pour ajouter le nom de domaine principal à la liste.

sudo postconf -e "mydestination = yourdomain.com, \$myhostname, localhost.\$mydomain, localhost"

Rechargez Postfix pour que les modifications prennent effet.

sudo systemctl reload postfix
User Doesn’t Exist

Si vous voyez le message d’erreur suivant dans le journal de messagerie (/var/log/mail.log), il est probable que vous ayez oublié de définir auth_username_format = %n dans /etc/dovecot/conf.d/10-auth.conf fichier.

mail postfix/lmtp[2256]: 68E00FC1A5: to=, relay=mail.example.com[private/dovecot-lmtp], delay=509, delays=509/0.03/0.03/0.02, dsn=5.1.1, status=bounced (host mail.example.com[private/dovecot-lmtp] said: 550 5.1.1  User doesn't exist: user1@example.com (in reply to RCPT TO command))
iOS Mail

Si vous utilisez l’application iOS Mail sur un Iphone pour vous connecter à votre serveur de messagerie et que vous rencontrez l’erreur suivante :

Vous pouvez essayer de le réparer en appliquant le cryptage SSL, à la fois pour les protocoles SMTP et IMAP.

Il semble que l’application iOS Mail ait du mal à prendre en charge STARTTLS sur le port IMAP 143, mais elle prend en charge STARTTLS sur le port de soumission 587.

Si vous rencontrez l’erreur « Aucun mot de passe fourni » dans l’application iOS Mail, il est probable que vous ayez fait une faute de frappe lors de la saisie du nom d’utilisateur dans les paramètres du compte Mail ou que vous n’ayez pas activé SSL dans les paramètres du compte Mail.

Impossible de recevoir des e-mails de Gmail, Hotmail, Yahoo Mail, etc.

Si vous ne parvenez pas à recevoir des e-mails de Gmail, Hotmail, Yahoo Mail, etc., voici les causes possibles :

Si vos serveurs SMTP ne sont pas accessibles depuis Internet, vous avez un problème dans les 4 premiers éléments. Si votre serveur SMTP est accessible depuis Internet, mais que vous ne pouvez toujours pas recevoir d’e-mails, consultez le journal de messagerie (/var/log/mail.log) pour savoir s’il y a des erreurs dans votre configuration Postfix et Dovecot.

Renouvellement automatique du Certificat TLS :

Vous pouvez créer une tâche Cron pour renouveler automatiquement le certificat TLS. Ouvrez simplement le fichier crontab de l’utilisateur root.

sudo crontab -e

Si vous utilisez le serveur Web Apache, ajoutez la ligne suivante au bas du fichier.

@daily certbot renew --quiet && systemctl reload postfix dovecot apache2

Le rechargement de Postfix, Dovecot et du serveur Web est nécessaire pour que ces programmes récupèrent le nouveau certificat et la clé privée.

Redémarrage automatique de Dovecot :

Si pour une raison quelconque votre processus Dovecot est tué, vous devez exécuter la commande suivante pour le redémarrer.

sudo systemctl restart dovecot

Au lieu de saisir manuellement cette commande, nous pouvons faire en sorte que Dovecot redémarre automatiquement en modifiant l’unité de service dovecot.service systemd. Pour remplacer la configuration par défaut du service systemd, nous créons un répertoire séparé.

sudo mkdir -p /etc/systemd/system/dovecot.service.d/

Créez ensuite un fichier sous ce répertoire.

sudo nano /etc/systemd/system/dovecot.service.d/restart.conf

Ajoutez les lignes suivantes dans le fichier, ce qui fera redémarrer automatiquement Dovecot 5 secondes après la détection d’une panne.

[Service]
Restart=always
RestartSec=5s

Enregistrez et fermez le fichier. Ensuite, rechargez systemd pour que les modifications prennent effet.

sudo systemctl daemon-reload

Pour vérifier si cela fonctionnerait, tuez Dovecot avec :

sudo pkill dovecot

Vérifiez ensuite l’état de Dovecot. Vous trouverez Dovecot redémarré automatiquement.

systemctl status dovecot

Étape 3 : PostfixAdmin – Créer des boîtes aux lettres virtuelles sur Ubuntu Mail Server

-> Retour au sommaire

Dans les étapes précédentes, nous avons expliqué comment configurer votre propre serveur de messagerie sur Ubuntu à partir de zéro. Dans l’étape 1 et 2 de cette série de didacticiels, nous avons appris à configurer le serveur SMTP Postfix et le serveur IMAP Dovecot, mais jusqu’à présent, nous ne pouvons avoir que des adresses e-mail pour les utilisateurs disposant de comptes Unix locaux. Ce tutoriel va vous montrer comment créer des boîtes aux lettres virtuelles sur le serveur de messagerie Ubuntu avec PostfixAdmin, qui est une interface Web open source permettant de configurer et de gérer un serveur de messagerie basé sur Postfix pour de nombreux domaines et utilisateurs.

Avec les boîtes aux lettres virtuelles, nous n’avons pas besoin de créer un compte Unix local pour chaque adresse e-mail. Si vous envisagez de configurer un serveur de messagerie pour une entreprise ou une organisation, il est toujours préférable de disposer d’un moyen simple de créer des boîtes aux lettres virtuelles dans une interface Web, qui permet également aux utilisateurs de modifier leurs mots de passe. C’est là qu’intervient PostfixAdmin.

Fonctionnalités de Postfixadmin :
Conditions préalables :

Vous devez avoir suivi les étapes précédentes de cette série de didacticiels avant de continuer à lire . Si vous avez suivi des didacticiels de serveur de messagerie sur d’autres sites Web, on vous recommande de purger vos configurations (sudo apt purge postfix dovecot-core) et de recommencer avec ma série de didacticiels, afin que vous ne soyez pas confus par différents processus de configuration.

Une fois les conditions ci-dessus remplies, installons et configurons PostfixAdmin.

Étape 3.1 : Installez le serveur de base de données MariaDB/MySQL

PostfixAdmin est écrit en PHP et nécessite une base de données (MySQL/MariaDB, PostgreSQL ou SQLite). Cet article utilisera la base de données MariaDB, qui remplace MySQL. Il est développé par d’anciens membres de l’équipe MySQL qui craignent qu’Oracle ne transforme MySQL en un produit à source fermée. Entrez la commande suivante pour installer MariaDB sur Ubuntu.

sudo apt install mariadb-server mariadb-client

Astuce : Si vous préférez utiliser MySQL plutôt que MariaDB, vous pouvez l’installer avec : sudo apt install mysql-server-8.0.

Une fois installé, le serveur MariaDB devrait être automatiquement démarré. Utilisez systemctl pour vérifier son état.

sudo systemctl status mariadb

Sortie :

● mariadb.service - MariaDB 10.3.22 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 9161 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 9451)
     Memory: 64.7M
     CGroup: /system.slice/mariadb.service
             └─9161 /usr/sbin/mysqld

S’il ne fonctionne pas, démarrez-le avec cette commande :

sudo systemctl start mariadb

Pour permettre à MariaDB de démarrer automatiquement au démarrage, exécutez

sudo systemctl enable mariadb

Exécutez maintenant le script de sécurité post-installation.

sudo mysql_secure_installation

Lorsqu’il vous demande de saisir le mot de passe root MariaDB, appuyez sur la touche Entrée car le mot de passe root n’est pas encore défini. Saisissez ensuite y pour définir le mot de passe root du serveur MariaDB.

Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l’utilisateur anonyme, désactivera la connexion root à distance et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que Y est en majuscule, ce qui signifie qu’il s’agit de la réponse par défaut.)

Étape 3.2 : Téléchargez PostfixAdmin sur le serveur Ubuntu

PostfixAdmin est inclus dans le référentiel Ubuntu par défaut. Cependant, on ne le recommande pas pour les raisons suivantes :

On vais donc vous montrer comment installer la dernière version de PostfixAdmin. Accédez à la page PostfixAdmin Gitbub pour télécharger la dernière version. Vous pouvez utiliser l’outil wget pour le télécharger à partir de la ligne de commande. Le lien de téléchargement est toujours disponible dans le format ci-dessous. Si une nouvelle version sort, remplacez simplement 3.3.11 par le nouveau numéro de version.

sudo apt install wget

sudo wget https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.3.11.tar.gz

Une fois téléchargée, extrayez l’archive dans le répertoire /var/www/ et renommez-la en postfixadmin.

sudo mkdir -p /var/www/

sudo tar xvf postfixadmin-3.3.11.tar.gz -C /var/www/

sudo mv /var/www/postfixadmin-postfixadmin-3.3.11 /var/www/postfixadmin
Étape 3.3 : Configurer les autorisations

PostfixAdmin nécessite un répertoire templates_c et le serveur Web a besoin d’un accès en lecture et en écriture à ce répertoire, alors exécutez les commandes suivantes.

sudo mkdir -p /var/www/postfixadmin/templates_c

sudo apt install acl

sudo setfacl -R -m u:www-data:rwx /var/www/postfixadmin/templates_c/

À partir de Dovecot 2.3.11, l’utilisateur du serveur Web a besoin d’une autorisation pour lire le certificat Let’s Encrypt TLS afin de hacher le mot de passe. Exécutez les deux commandes suivantes pour accorder des autorisations.

sudo setfacl -R -m u:www-data:rx /etc/letsencrypt/live/ /etc/letsencrypt/archive/
Étape 3.4 : Créer une base de données et un utilisateur pour PostfixAdmin

Connectez-vous au shell MySQL/MariaDB en tant que root avec la commande suivante.

sudo mysql -u root

Une fois connecté, créez une base de données pour PostfixAdmin à l’aide de la commande suivante. On a nommé la base de données ‘postfixadmin’, mais vous pouvez utiliser le nom de votre choix. (N’oubliez pas le point-virgule à la fin de chaque commande.)

create database postfixadmin;

Entrez ensuite la commande ci-dessous pour créer un utilisateur de base de données pour PostfixAdmin. Remplacez postfixadmin_password par votre mot de passe préféré. Notez que le mot de passe ne doit pas contenir le caractère # , sinon vous ne pourrez peut-être pas vous connecter ultérieurement.

create user 'postfixadmin'@'localhost' identified by 'postfixadmin_password';

Accorde tous les privilèges de la base de données postfixadmin à l’utilisateur.

grant all privileges on postfixadmin.* to 'postfixadmin'@'localhost';

Videz la table des privilèges pour que les modifications prennent effet, puis sortez du shell MariaDB.

flush privileges;

exit;
Étape 3.5 : Configurer PostfixAdmin

Le fichier de configuration par défaut de PostfixAdmin est config.inc.php. Nous devons créer un fichier config.local.php et ajouter des configurations personnalisées.

sudo nano /var/www/postfixadmin/config.local.php

Ajoutez les lignes suivantes dans le fichier, afin que PostfixAdmin puisse se connecter à la base de données MySQL/MariaDB. Remplacez postfixadmin_password par le véritable mot de passe PostfixAdmin créé à l’étape 4.

<?php
$CONF['configured'] = true;
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_port'] = '3306';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'postfixadmin_password';
$CONF['database_name'] = 'postfixadmin';
$CONF['encrypt'] = 'dovecot:ARGON2I';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw -r 5";
if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171
    $CONF['dovecotpw'] = "/usr/bin/doveadm pw -r 5"; # debian
}

Enregistrez et fermez le fichier. Notez que nous utiliserons le schéma de mot de passe ARGON2I. Par défaut, PostfixAdmin et Dovecot utilisent MD5-CRYPT, qui est un schéma de mot de passe faible. Vous pouvez répertorier les schémas de mot de passe disponibles dans Dovecot avec la commande suivante.

sudo doveadm pw -l

Sortie :

SHA1 SSHA512 BLF-CRYPT PLAIN HMAC-MD5 OTP SHA512 SHA RPA DES-CRYPT CRYPT SSHA MD5-CRYPT SKEY PLAIN-MD4 PLAIN-MD5 SCRAM-SHA-1 LANMAN SHA512-CRYPT CLEAR CLEARTEXT ARGON2I ARGON2ID SSHA256 NTLM MD5 PBKDF2 SHA256 CRAM-MD5 PLAIN-TRUNC SHA256-CRYPT SMD5 DIGEST-MD5 LDAP-MD5
Étape 3.6 : Créer un hôte virtuel Apache pour PostfixAdmin

Si vous utilisez le serveur Web Apache, créez un hôte virtuel pour PostfixAdmin.

sudo nano /etc/apache2/sites-available/postfixadmin.conf

Mettez le texte suivant dans le fichier. Remplacez postfixadmin.example.com par votre vrai nom de domaine et n’oubliez pas de définir un enregistrement DNS A pour celui-ci.

<VirtualHost *:80>
  ServerName postfixadmin.example.com
  DocumentRoot /var/www/postfixadmin/public

  ErrorLog ${APACHE_LOG_DIR}/postfixadmin_error.log
  CustomLog ${APACHE_LOG_DIR}/postfixadmin_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/postfixadmin/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel avec :

sudo a2ensite postfixadmin.conf

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Vous devriez maintenant pouvoir voir l’assistant d’installation Web de PostfixAdmin à l’adresse http://postfixadmin.example.com/setup.php.

Étape 3.7 : Installer les modules PHP requis et recommandés

Exécutez la commande suivante pour installer les modules PHP requis ou recommandés par PostfixAdmin.

sudo apt install php8.1-fpm php8.1-imap php8.2-imap php8.1-mbstring php8.2-mbstring php8.1-mysql php8.1-curl php8.1-zip php8.1-xml php8.1-bz2 php8.1-intl php8.2-mysql php8.2-curl php8.2-zip php8.2-xml php8.2-bz2 php8.1-gmp php8.1-redis php8.2-bz2 php8.2-intl php8.2-gmp php8.2-redis 

Si vous utilisez Apache, vous devez également installer le package libapache2-mod-php.

sudo apt install libapache2-mod-php

Redémarrez ensuite Apache.

sudo systemctl restart apache2
Étape 3.8 : Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante :sur le serveur Ubuntu.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d postfixadmin.example.com

Le certificat devrait maintenant être obtenu et installé automatiquement, ce qui est indiqué par le message ci-dessous.

Étape 3.9 : Activer les statistiques dans Dovecot

PostfixAdmin doit lire les statistiques de Dovecot. Modifiez le fichier de configuration Dovecot.

sudo nano /etc/dovecot/conf.d/10-master.conf

Ajoutez les lignes suivantes à la fin de ce fichier.

service stats {
    unix_listener stats-reader {
    user = www-data
    group = www-data
    mode = 0660
}

unix_listener stats-writer {
    user = www-data
    group = www-data
    mode = 0660
  }
}

Enregistrez et fermez le fichier. Ajoutez ensuite le serveur Web au groupe ‘Dovecot’.

sudo gpasswd -a www-data dovecot

Redémarrez le service ‘Dovecot’.

sudo systemctl restart dovecot

Accordez des autorisations à l’utilisateur www-data.

sudo setfacl -R -m u:www-data:rwx /var/run/dovecot/stats-reader /var/run/dovecot/stats-writer
Étape 3.10 : terminer l’installation dans le navigateur Web

Accédez à postfixadmin.example.com/setup.php pour exécuter l’assistant de configuration Web. Tout d’abord, vous devez créer un mot de passe de configuration pour PostfixAdmin.

Après avoir créé le hachage du mot de passe, PostfixAdmin affichera une ligne comme ci-dessous.

$CONF['setup_password'] = '$2y$10$58fIawuOb5y538RMBol/DOoqv2bJ7zhPRzRO.4Xq7MLeQJHmaFwF2';

Vous devez ouvrir le fichier config.local.php.

sudo nano /var/www/postfixadmin/config.local.php

Ajoutez la ligne affichée sur la page de configuration de PostfixAdmin à la fin du fichier comme ci-dessous.

Après avoir enregistré le fichier, vous devez actualiser la page de configuration de PostfixAdmin et saisir à nouveau le mot de passe de configuration, puis créer le compte administrateur. Veuillez ne pas utiliser une adresse e-mail Gmail, Yahoo Mail ou Microsoft pour le compte administrateur, sinon vous ne pourrez peut-être pas vous connecter ultérieurement. Utilisez une adresse e-mail sur votre propre domaine. Vous pouvez créer l’adresse e-mail plus tard dans PostfixAdmin.

Si vous rencontrez l’erreur suivante lorsque vous essayez de créer un compte superadmin,

Password Hashing - attempted to use configured encrypt backend (dovecot:ARGON2I) triggered an error: /usr/bin/doveadm pw -r 5 failed, see error log for details

ou :

can’t encrypt password with dovecotpw, see error log for details

C’est parce que l’utilisateur www-data n’a pas l’autorisation de lire le certificat Let’s Encrypt TLS. Pour résoudre ce problème, exécutez la commande suivante pour accorder des autorisations.

sudo setfacl -R -m u:www-data:rx /etc/letsencrypt/live/ /etc/letsencrypt/archive/

Parfois, vous devrez peut-être également exécuter la commande suivante pour corriger cette erreur.

sudo setfacl -R -m u:www-data:rwx /var/run/dovecot/stats-reader /var/run/dovecot/stats-writer

Une fois le compte superadmin créé, vous pouvez vous connecter à PostfixAdmin via votre navigateur internet à l’adresse : postfixadmin.example.com/login.php.

Étape 3.11 : Vérification des tables dans la base de données

Le processus de configuration de PostfixAdmin remplit la base de données postfixadmin avec certaines tables par défaut. Il nous est utile de connaître les noms et la structure des tables. Connectez-vous à la console MySQL/MariaDB.

sudo mysql -u root

Sélectionnez la base de données postfixadmin.

USE postfixadmin;

Lister toutes les tables de cette base de données.

SHOW TABLES;

Sortie :

+------------------------+
| Tables_in_postfixadmin |
+------------------------+
| admin                  |
| alias                  |
| alias_domain           |
| config                 |
| domain                 |
| domain_admins          |
| fetchmail              |
| log                    |
| mailbox                |
| quota                  |
| quota2                 |
| vacation               |
| vacation_notification  |
+------------------------+
13 rows in set (0.001 sec)

Les 3 tables les plus importantes sont :

Si vous êtes intéressé, vous pouvez vérifier les colonnes que contient chaque table. Par exemple, la commande suivante nous montrera les colonnes de la table de domaine.

DESCRIBE domain;

Sortie :

+-------------+--------------+------+-----+---------------------+-------+
| Field       | Type         | Null | Key | Default             | Extra |
+-------------+--------------+------+-----+---------------------+-------+
| domain      | varchar(255) | NO   | PRI | NULL                |       |
| description | varchar(255) | NO   |     | NULL                |       |
| aliases     | int(10)      | NO   |     | 0                   |       |
| mailboxes   | int(10)      | NO   |     | 0                   |       |
| maxquota    | bigint(20)   | NO   |     | 0                   |       |
| quota       | bigint(20)   | NO   |     | 0                   |       |
| transport   | varchar(255) | NO   |     | NULL                |       |
| backupmx    | tinyint(1)   | NO   |     | 0                   |       |
| created     | datetime     | NO   |     | 2000-01-01 00:00:00 |       |
| modified    | datetime     | NO   |     | 2000-01-01 00:00:00 |       |
| active      | tinyint(1)   | NO   |     | 1                   |       |
+-------------+--------------+------+-----+---------------------+-------+

Log out of MySQL/MariaDB console.

EXIT;
Étape 3.12 : Configurer Postfix pour utiliser la base de données MySQL/MariaDB

Par défaut, Postfix n’envoie des e-mails qu’aux utilisateurs disposant d’un compte Unix local. Pour lui faire livrer des e-mails aux utilisateurs virtuels dont les informations sont stockées dans la base de données, nous devons configurer Postfix pour utiliser des domaines de boîtes aux lettres virtuelles.

Tout d’abord, nous devons ajouter la prise en charge des cartes MySQL pour Postfix en installant le package postfix-mysql.

sudo apt install postfix-mysql

Modifiez ensuite le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin de ce fichier.

virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps =
   proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_alias_maps =
   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

Explications :

Nous souhaitons utiliser Dovecot pour envoyer les e-mails entrants au magasin de messages des utilisateurs virtuels, ajoutez donc également la ligne suivante à la fin de ce fichier.

virtual_transport = lmtp:unix:private/dovecot-lmtp

Résultat :

Enregistrez et fermez le fichier. Ensuite, nous devons créer les fichiers .cf un par un. Créez le répertoire sql.

sudo mkdir /etc/postfix/sql/

Créez le fichier mysql_virtual_domains_maps.cf .

sudo nano /etc/postfix/sql/mysql_virtual_domains_maps.cf

Ajoutez le contenu suivant. Remplacez ‘password’ par le mot de passe postfixadmin que vous avez défini à l’étape 2.

user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
#query = SELECT domain FROM domain WHERE domain='%s'
#optional query to use when relaying for backup MX
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
#expansion_limit = 100

Créez le fichier mysql_virtual_mailbox_maps.cf .

sudo nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf

Ajoutez le contenu suivant.

user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
#expansion_limit = 100

Créez le fichier mysql_virtual_alias_domain_mailbox_maps.cf .

sudo nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf

Ajoutez le contenu suivant.

user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'

Créez le fichier mysql_virtual_alias_maps.cf .

sudo nano /etc/postfix/sql/mysql_virtual_alias_maps.cf

Ajoutez le contenu suivant.

user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
#expansion_limit = 100

Créez le fichier mysql_virtual_alias_domain_maps.cf .

sudo nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf

Ajoutez le contenu suivant.

user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'

Créez le fichier mysql_virtual_alias_domain_catchall_maps .

sudo nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

Ajoutez le contenu suivant.

# handles catch-all settings of target-domain
user = postfixadmin
password = password
hosts = localhost
dbname = postfixadmin
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'

Étant donné que les mots de passe de la base de données sont stockés en texte brut, ils ne doivent donc être lisibles que par les utilisateurs postfix et root, ce qui se fait en exécutant les deux commandes suivantes.

sudo chmod 0640 /etc/postfix/sql/*
sudo setfacl -R -m u:postfix:rx /etc/postfix/sql/

Ensuite, nous devons modifier la valeur du paramètre mydestination dans Postfix. Afficher la valeur actuelle :

postconf mydestination

Sortie :

mydestination = $myhostname, linuxbabe.com, localhost.$mydomain, localhost

Le paramètre mydestination contient une liste de noms de domaine qui recevront les e-mails envoyés aux comptes Unix locaux. Dans la partie 1, nous avons ajouté le nom de domaine apex (comme linuxbabe.com) à mydestination. Puisque nous allons utiliser une boîte aux lettres virtuelle, nous devons supprimer le nom de domaine apex de la liste en exécutant la commande suivante.

sudo postconf -e "mydestination = \$myhostname, localhost.\$mydomain, localhost"

Maintenant, ouvrons à nouveau le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin de ce fichier.

virtual_mailbox_base = /var/vmail
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000

La première ligne définit l’emplacement de base des fichiers courrier. Les 3 lignes restantes définissent l’ID utilisateur et l’ID de groupe que Postfix utilisera lors de la livraison des e-mails entrants dans la boîte aux lettres. Nous utilisons l’ID utilisateur 2000 et l’ID de groupe 2000.

Enregistrez et fermez le fichier. Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Ensuite, nous devons créer un utilisateur nommé vmail avec l’ID 2000 et un groupe avec l’ID 2000.

sudo adduser vmail --system --group --uid 2000 --disabled-login --no-create-home

Créez l’emplacement de la base de messagerie.

sudo mkdir /var/vmail/

Définissez vmail comme propriétaire.

sudo chown vmail:vmail /var/vmail/ -R
Étape 3.13 : Configurer Dovecot pour utiliser la base de données MySQL/MariaDB

Nous devons également configurer le serveur Dovecot IMAP pour interroger les informations utilisateur de la base de données. Tout d’abord, exécutez la commande suivante pour ajouter la prise en charge de MySQL pour Dovecot.

sudo apt install dovecot-mysql

Modifiez ensuite le fichier 10-mail.conf.

sudo nano /etc/dovecot/conf.d/10-mail.conf

Dans la partie 2, nous avons utilisé le mail_location suivant. Les e-mails sont stockés dans le répertoire Maildir sous le répertoire personnel de chaque utilisateur.

mail_location = maildir:~/Maildir

Puisque nous utilisons maintenant le domaine de la boîte aux lettres virtuelle, nous devons activer mail_home pour les utilisateurs virtuels en ajoutant la ligne suivante dans le fichier, car les utilisateurs virtuels n’ont pas de répertoire personnel par défaut.

mail_home = /var/vmail/%d/%n/

Enregistrez et fermez le fichier. Modifiez ensuite le fichier 10-auth.conf.

sudo nano /etc/dovecot/conf.d/10-auth.conf

À l’étape 3.2, nous avons utilisé la valeur suivante pour auth_username_format.

auth_username_format = %n

Le %n supprimerait le domaine s’il était donné. Étant donné que dans la partie 2, nous utilisions un compte Unix local pour le nom d’utilisateur de chaque adresse e-mail, nous devons utiliser %n pour supprimer le domaine, afin que les utilisateurs puissent se connecter avec l’adresse e-mail complète.

Nous utilisons maintenant des domaines de boîtes aux lettres virtuelles, ce qui signifie que le nom d’utilisateur de chaque adresse e-mail inclut la partie domaine. Nous devons donc modifier le auth_username_format comme suit. %u ne supprimera pas le domaine. Cela permet aux utilisateurs de se connecter avec l’adresse e-mail complète.

auth_username_format = %u

Trouvez ensuite la ligne suivante.

#auth_default_realm =

Changez-le en

auth_default_realm = example.com

Cela permet de s’assurer que les utilisateurs qui n’ont pas saisi la partie @example.com dans le champ du nom d’utilisateur peuvent toujours se connecter. Dovecot ajoutera la partie @example.com si elle n’est pas fournie par les utilisateurs.

Ensuite, décommentez la ligne suivante à la fin de ce fichier, afin que Dovecot puisse interroger les informations utilisateur de la base de données MySQL/MariaDB.

!include auth-sql.conf.ext

Maintenant, vous ne voulez probablement pas que les utilisateurs Unix locaux envoient des e-mails sans enregistrer les adresses e-mail dans PostfixAdmin, puis commentez la ligne suivante en ajoutant le caractère # au début, afin que Dovecot n’interroge pas le local /etc/passwd ou /etc /fichier shadow.

#!include auth-system.conf.ext

Il peut être utile d’ajouter les deux lignes suivantes dans ce fichier pour déboguer les problèmes de connexion. Les erreurs de connexion seraient consignées dans le fichier /var/log/mail.log. (Une fois que les utilisateurs peuvent se connecter sans problème, vous pouvez commenter les deux lignes suivantes.)

auth_debug = yes
auth_debug_passwords = yes

Enregistrez et fermez le fichier.

Edit the dovecot-sql.conf.ext file.

sudo nano /etc/dovecot/dovecot-sql.conf.ext

Voici le contenu que vous devriez avoir dans ce fichier. Par défaut, toutes les lignes de ce fichier sont commentées, vous pouvez donc simplement les copier et les coller en bas. Remplacez password par le mot de passe postfixadmin que vous avez défini à l’étape 2.

driver = mysql

connect = host=localhost dbname=postfixadmin user=postfixadmin password=password

default_pass_scheme = ARGON2I

password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1'

user_query = SELECT maildir, 2000 AS uid, 2000 AS gid FROM mailbox WHERE username = '%u' AND active='1'

iterate_query = SELECT username AS user FROM mailbox

Redémarrez Dovecot.

sudo systemctl restart dovecot

Lorsqu’un utilisateur essaie de se connecter, Dovecot utilise l’algorithme Argon2 pour générer un hachage de mot de passe à partir du mot de passe saisi par l’utilisateur, puis le compare avec le hachage de mot de passe stocké dans la base de données.

Étape 3.14 : Ajouter un domaine et des boîtes aux lettres dans PostfixAdmin

Connectez-vous à l’interface Web de PostfixAdmin en tant qu’administrateur. Cliquez sur l’onglet Liste de domaines et sélectionnez Nouveau domaine pour ajouter un domaine. Vous pouvez choisir le nombre d’alias et de boîtes aux lettres autorisés pour ce domaine.

Cliquez ensuite sur l’onglet ‘Liste virtuelle’ et sélectionnez ‘Ajouter une boîte aux lettres’ pour ajouter une nouvelle adresse e-mail pour votre domaine.

Ensuite, vous pouvez ouvrir votre client de messagerie de bureau tel que Mozilla Thunderbird et ajouter un compte de messagerie.

Conseil 1 : Vous pouvez également utiliser le port 993 avec le cryptage SSL/TLS pour IMAP et le port 465 avec le cryptage SSL/TLS pour SMTP. Vous ne devez pas utiliser le port 25 comme port SMTP dans les clients de messagerie pour envoyer des e-mails sortants.

Astuce 2 : Si vous utilisez le client de messagerie Microsoft 365 Outlook, vous ne devez pas activer l’authentification par mot de passe sécurisé (SPA), qui est un protocole propriétaire de Microsoft. Votre mot de passe est déjà crypté par TLS.

Vous devriez maintenant pouvoir vous connecter à votre propre serveur de messagerie et également envoyer et recevoir des e-mails avec votre client de messagerie de bureau ! Notez que vous ne pouvez pas utiliser de comptes Unix locaux pour vous connecter maintenant. Vous devez vous connecter avec l’utilisateur virtuel créé à partir de l’interface Web de PostfixAdmin.

Conseils de dépannage :

En règle générale, vous devriez toujours vérifier le journal de messagerie (/var/log/mail.log) sur votre serveur de messagerie lorsqu’une erreur se produit. Voici une liste d’erreurs spécifiques et des conseils de dépannage.

Impossible de se connecter à partir des clients de messagerie :

Si vous ne pouvez pas vous connecter à votre serveur de messagerie à partir d’un client de messagerie de bureau, analysez votre serveur de messagerie pour déterminer si les ports sont ouverts. Notez que vous devez exécuter la commande suivante à partir d’un autre ordinateur ou serveur Linux. Si vous l’exécutez sur votre serveur de messagerie, les ports apparaîtront toujours ouverts.

sudo nmap mail.your-domain.com

Et vérifiez si Dovecot est en cours d’exécution.

systemctl status dovecot

Vous pouvez également consulter le journal de messagerie (/var/log/mail.log), qui peut vous donner quelques indices. Si Dovecot ne démarre pas, l’erreur n’est peut-être pas consignée dans le fichier /var/log/mail.log , vous pouvez exécuter la commande suivante pour voir ce qui ne va pas.

sudo journalctl -eu dovecot

Si vous voyez l’erreur suivante dans le journal des e-mails, il est probable que vous n’ayez pas défini un mot de passe correct dans les fichiers .cf sous /etc/postfix/sql/ répertoire.

postfix/trivial-rewrite[28494]: warning: virtual_alias_domains: proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf: table lookup problem
postfix/trivial-rewrite[28494]: warning: virtual_alias_domains lookup failure

Si vous voyez l’erreur suivante dans le journal de messagerie, c’est parce que vous avez oublié d’ajouter mail_location = maildir:~/Maildir dans le fichier /etc/dovecot/conf.d/10-mail.conf.

open(/var/mail/username@domain.com) failed: Permission denied (euid=2000(vmail) egid=2000(vmail) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775
DNS Cloudflare :

Comme indiqué dans l’étape 3.1, si vous utilisez le service DNS Cloudflare, vous ne devez pas activer la fonction CDN (proxy) lors de la création d’un enregistrement DNS A et d’un enregistrement AAAA pour le nom d’hôte de votre serveur de messagerie. Cloudflare ne prend pas en charge le proxy SMTP ou IMAP.

Relay Access Denied :

Si vous voyez l’erreur « Relay access Denied » lorsque vous essayez d’envoyer des e-mails à partir d’un client de messagerie, il est fort probable que vous utilisiez le port 25 comme port SMTP dans votre client de messagerie. Comme indiqué, vous devez utiliser le port 587 ou 465 comme port SMTP dans les clients de messagerie (Mozilla Thunberbird, Microsoft Outlook, etc.) pour envoyer les e-mails sortants. Le port 25 doit être utilisé pour les communications de serveur SMTP à serveur SMTP.

Application mobile iOS Mail

Si vous utilisez l’application iOS Mail pour vous connecter à votre serveur de messagerie et rencontrez l’erreur que le serveur de mail de répond pas

Vous pouvez essayer de le réparer en appliquant le cryptage SSL, à la fois pour SMTP et IMAP.

Il semble que l’application iOS Mail ait du mal à prendre en charge STARTTLS sur le port IMAP 143, mais elle prend en charge STARTTLS sur le port de soumission 587.

Temporary Lookup Failure

Si votre serveur de messagerie a fonctionné correctement pendant un certain temps, mais que vous trouvez soudainement l’erreur suivante dans le journal de messagerie,

Aug 25 20:25:24 mx postfix/trivial-rewrite[3313]: warning: virtual_alias_domains: proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf: table lookup problem
Aug 25 20:25:24 mx postfix/trivial-rewrite[3313]: warning: virtual_alias_domains lookup failure
Aug 25 20:25:24 mx postfix/submission/smtpd[3464]: NOQUEUE: reject: 451 4.3.0 <user@your-domain.com>: Temporary lookup failure;  proto=ESMTP
Aug 25 20:25:24 mx postfix/submission/smtpd[3464]: Temporary lookup failure

Il est probable que votre base de données MariaDB/MySQL se soit arrêtée d’une manière ou d’une autre. Vous pouvez utiliser la commande suivante pour vérifier quand votre serveur de base de données s’est arrêté.

sudo journalctl -eu mariadb

or

sudo journalctl -eu mysql

Une cause fréquente de cette situation est que votre serveur manque de mémoire. Vérifiez si votre serveur dispose de suffisamment de mémoire.

htop

or

free -m

Cette erreur peut également être causée par un trop grand nombre de connexions aux bases de données MariaDB/MySQL, de sorte qu’il ne peut pas gérer plus de requêtes. Pour résoudre ce problème, vous pouvez augmenter le nombre de connexions que MariaDB/MySQL peut gérer.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Recherchez la ligne suivante dans la section Réglage .

#max_connections = 100

Décommentez-le et changez la valeur en 500.

max_connections = 500

Si votre serveur a beaucoup de RAM, vous pouvez le changer en un nombre plus grand comme 1000.

max_connections = 1000

Enregistrez et fermez le fichier. Redémarrez ensuite MariaDB/MySQL.

sudo systemctl restart mysql
Nettoyer automatiquement le dossier indésirable et le dossier corbeille

Pour supprimer les e-mails du dossier Junk pour tous les utilisateurs, vous pouvez exécuter

sudo doveadm expunge -A mailbox Junk all

Pour supprimer des e-mails dans le dossier Corbeille, exécutez

sudo doveadm expunge -A mailbox Trash all

Il est préférable de nettoyer les e-mails qui se trouvent dans le dossier Junk ou Trash depuis plus de 2 semaines, au lieu de nettoyer tous les e-mails.

sudo doveadm expunge -A mailbox Junk savedbefore 2w

Ajoutez ensuite une tâche cron pour automatiser la tâche.

sudo crontab -e

Ajoutez la ligne suivante pour nettoyer le dossier Junk and Trash tous les jours.

@daily doveadm expunge -A mailbox Junk savedbefore 2w;doveadm expunge -A mailbox Trash savedbefore 2w

Vous devez également autoriser l’utilisateur www-data à lire les fichiers de certificat en ajoutant la ligne suivante.

@daily setfacl -R -m u:www-data:rx /etc/letsencrypt/live/ /etc/letsencrypt/archive/

Pour recevoir un rapport lorsqu’une tâche Cron génère une erreur, vous pouvez ajouter la ligne suivante au-dessus de toutes les tâches Cron.

MAILTO="you@your-domain.com"

Enregistrez et fermez le fichier.

Modifier le mot de passe utilisateur dans PostfixAdmin

Les utilisateurs peuvent se connecter à PostfixAdmin à l’adresse https://postfixadmin.example.com/users/login.php, puis modifier leur mot de passe.

Restreindre l’accès à Sendmail

Par défaut, n’importe quel utilisateur local peut utiliser le binaire sendmail pour envoyer des e-mails sortants. Maintenant que votre serveur de messagerie utilise des boîtes aux lettres virtuelles, vous souhaiterez peut-être restreindre l’accès au binaire sendmail aux seuls utilisateurs locaux de confiance, afin qu’un utilisateur malveillant ne puisse pas l’utiliser pour envoyer un grand volume d’e-mails afin de nuire à la réputation de votre serveur de messagerie. Modifiez le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin de ce fichier, afin que seuls l’utilisateur root, www-data et vmail  puissent envoyer des e-mails via sendmail. Vous pouvez également ajouter d’autres noms d’utilisateur.

authorized_submit_users = root,www-data,vmail

Enregistrez et fermez le fichier. Redémarrez ensuite Postfix.

sudo systemctl restart postfix
Comment faire face à une violation de données avec un alias

Si vous utilisez la même adresse e-mail pour enregistrer des comptes sur chaque site Web et que les données sont divulguées à des tiers pour diverses raisons, de nombreux spammeurs achèteront une base de données de courrier électronique divulguée sur le dark web et enverront du spam.

Pour éviter que votre adresse e-mail ne soit la cible de spammeurs, vous pouvez utiliser PostfixAdmin pour créer une adresse alias pour chaque site Web. Si les données sont divulguées à des tiers, vous pouvez supprimer l’alias et en créer un nouveau, afin de ne pas être spammé par ces tiers.

Comment mettre à jour PostfixAdmin :

Parfois, il peut y avoir des bogues dans le PostfixAdmin actuel qui peuvent être corrigés en passant à une nouvelle version. C’est très simple de mettre à jour PostfixAdmin. Lorsqu’une nouvelle version de PostfixAdmin sort, vous devez

Etape suivante :

À l’étape 4, nous allons voir comment configurer SPF et DKIM avec Postfix pour améliorer la délivrabilité des e-mails et dans un futur tutoriel, on va vous montrer comment héberger plusieurs domaines avec PostfixAdmin.

Si vous souhaitez accéder aux e-mails à partir d’un navigateur Web, on vous recommande Roundcube, qui est un client de messagerie Web open source très populaire et riche en fonctionnalités.


Étape 4 : Comment configurer SPF et DKIM avec Postfix sur Ubuntu Server

-> Retour au sommaire

After completing step 3.1 and step 3.2 we have a working Postfix SMTP server and Dovecot IMAP server. We can send and receive email using a desktop email client. Although I have correct MXA and PTR records, my emails were flagged as spam by Gmail and Outlook mail. So in this part, we are going to look at how to improve email delivery to the recipient’s inbox by setting up SPF and DKIM on Ubuntu server.

Que sont les enregistrements SPF et DKIM ?

SPF et DKIM sont deux types d’enregistrements TXT dans DNS qui vous permettent de détecter l’usurpation d’e-mails et d’aider les e-mails légitimes à être livrés dans la boîte de réception du destinataire au lieu du dossier spam. Si votre domaine est abusé par l’usurpation d’e-mails, vos e-mails risquent d’atterrir dans le dossier spam du destinataire s’il ne vous a pas ajouté au carnet d’adresses.

L’enregistrement SPF (Sender Policy Framework) spécifie quels hôtes ou adresses IP sont autorisés à envoyer des e-mails au nom d’un domaine. Vous devez autoriser uniquement votre propre serveur de messagerie ou le serveur de votre FAI à envoyer des e-mails pour votre domaine.

DKIM (DomainKeys Identified Mail) utilise une clé privée pour ajouter une signature aux e-mails envoyés depuis votre domaine. Les serveurs SMTP récepteurs vérifient la signature en utilisant la clé publique correspondante, qui est publiée dans votre gestionnaire DNS.

Étape 4.1 : Créer un enregistrement SPF dans DNS

Dans votre interface de gestion DNS, créez un nouvel enregistrement TXT comme ci-dessous.

TXT @  v=spf1 mx ~all

Explanation:

-tout signifie que les e-mails envoyés par des hôtes non autorisés doivent être rejetés, pour ne jamais atterrir dans la boîte de réception ou le dossier spam du destinataire. On le voit utilisé par facebook.com, mais nous n’avons généralement pas besoin d’une politique aussi stricte.

Certaines personnes pourraient penser que -tout sera mieux car il rejettera les e-mails d’hôtes non fiables. Eh bien, l’utilisation de -all dans votre politique SPF peut entraîner le rejet de vos propres e-mails lorsque le destinataire dispose de deux serveurs SMTP et que le serveur SMTP principal est hors ligne. Vos e-mails seront temporairement stockés sur le serveur SMTP de secours. Lorsque le serveur SMTP principal revient en ligne, l’e-mail est relayé du serveur SMTP de secours vers le serveur SMTP principal. Étant donné que vous n’avez pas répertorié le serveur SMTP de secours du destinataire dans votre politique SPF, l’e-mail sera rejeté par le serveur SMTP principal du destinataire. Vous devez donc utiliser ~all dans votre politique SPF.

Notez que certains gestionnaires DNS vous demandent d’envelopper l’enregistrement SPF avec des guillemets comme ci-dessous.

TXT @  "v=spf1 mx ~all"

Pour vérifier si votre enregistrement SPF est propagé sur l’Internet public, vous pouvez utiliser l’utilitaire dig sur votre machine Linux comme ci-dessous. (Sur Ubuntu, vous devez installer le package bind9-dnsutils pour utiliser la commande dig : sudo apt install bind9-dnsutils)

dig your-domain.com txt

L’option txt indique à dig que nous ne voulons interroger que les enregistrements TXT.

Vous pouvez utiliser dmarcian SPF surveyor pour tester la syntaxe de votre enregistrement SPF.

Étape 4.2 : Configuration de l’agent de stratégie SPF

Nous devons également indiquer à notre serveur SMTP Postfix de vérifier l’enregistrement SPF des e-mails entrants. Cela n’aide pas à garantir la livraison des e-mails sortants, mais aide à détecter les e-mails entrants falsifiés.

Tout d’abord, installez les packages requis :

sudo apt install postfix-policyd-spf-python

Modifiez ensuite le fichier de configuration du processus maître de Postfix.

sudo nano /etc/postfix/master.cf

Ajoutez les lignes suivantes à la fin du fichier, qui indiquent à Postfix de démarrer le service de stratégie SPF lorsqu’il démarre lui-même.

policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf

Enregistrez et fermez le fichier. Ensuite, modifiez le fichier de configuration principal de Postfix.

sudo nano/etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin du fichier. La première ligne spécifie le paramètre de délai d’expiration de l’agent de stratégie Postfix. Les lignes suivantes imposeront une restriction sur les e-mails entrants en rejetant les e-mails non autorisés et en vérifiant l’enregistrement SPF.

policyd-spf_time_limit = 3600
smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   check_policy_service unix:private/policyd-spf

Enregistrez et fermez le fichier. Redémarrez ensuite Postfix.

sudo systemctl restart postfix

La prochaine fois que vous recevrez un e-mail d’un domaine disposant d’un enregistrement SPF, vous pourrez voir les résultats de la vérification SPF dans l’en-tête brut de l’e-mail. L’en-tête suivant indique que l’expéditeur a envoyé l’e-mail à partir d’un hôte autorisé.

Received-SPF: Pass (sender SPF authorized).
Étape 4.3 : Configuration de DKIM

Tout d’abord, installez OpenDKIM qui est une implémentation open-source du système d’authentification de l’expéditeur DKIM.

sudo apt install opendkim opendkim-tools

Ajoutez ensuite l’utilisateur postfix au groupe opendkim.

sudo gpasswd -a postfix opendkim

Modifiez le fichier de configuration principal d’OpenDKIM.

sudo nano/etc/opendkim.conf

Trouvez la ligne suivante.

Syslog               yes

Par défaut, les journaux OpenDKIM seront enregistrés dans le fichier /var/log/mail.log. Ajoutez la ligne suivante pour qu’OpenDKIM génère des journaux plus détaillés pour le débogage.

Logwhy yes

Localisez les lignes suivantes.

#Domain                 example.com
#KeyFile                /etc/dkimkeys/dkim.key
#Selector               2007

Par défaut, ils sont commentés. Merci de ne pas les décommenter.

Ensuite, recherchez les lignes suivantes. Décommentez-les et remplacez simple par relaxed/simple.

#Canonicalization  simple
#Mode        sv
#SubDomains     no

Ajoutez ensuite les lignes suivantes sous #ADSPAction continue line. Si votre fichier n’a pas de ligne de continuation #ADSPAction, ajoutez simplement SubDomains  no.

AutoRestart         yes
AutoRestartRate     10/1M
Background          yes
DNSTimeout          5
SignatureAlgorithm  rsa-sha256

Ensuite, ajoutez les lignes suivantes à la fin de ce fichier. (Notez que sur Ubuntu 18.04 et 20.04, l’ID utilisateur est déjà défini sur opendkim)

#OpenDKIM user
# Remember to add user postfix to group opendkim
UserID             opendkim

# Map domains in From addresses to keys used to sign messages
KeyTable           refile:/etc/opendkim/key.table
SigningTable       refile:/etc/opendkim/signing.table

# Hosts to ignore when verifying signatures
ExternalIgnoreList  /etc/opendkim/trusted.hosts

# A set of internal hosts whose mail should be signed
InternalHosts       /etc/opendkim/trusted.hosts

Enregistrez et fermez le fichier.

Étape 4.4 : Créer une table de signature, une table de clés et un fichier d’hôtes de confiance

Créer une structure de répertoires pour OpenDKIM

sudo mkdir /etc/opendkim

sudo mkdir /etc/opendkim/keys

Changez le propriétaire de racine en opendkim et assurez-vous que seul l’utilisateur opendkim peut lire et écrire dans le répertoire des clés.

sudo chown -R opendkim:opendkim /etc/opendkim

sudo chmod go-rw /etc/opendkim/keys

Créez la table de signature.

sudo nano /etc/opendkim/signing.table

Ajoutez les deux lignes suivantes au fichier. Cela indique à OpenDKIM que si un expéditeur sur votre serveur utilise une adresse @votre-domaine.com , elle doit être signée avec la clé privée identifiée par default._domainkey.your-domain.com. La deuxième ligne indique que vos sous-domaines seront également signés par la clé privée.

*@your-domain.com    default._domainkey.your-domain.com
*@*.your-domain.com    default._domainkey.your-domain.com

Enregistrez et fermez le fichier. Créez ensuite la table de clés.

sudo nano /etc/opendkim/key.table

Ajoutez la ligne suivante, qui indique l’emplacement de la clé privée.

default._domainkey.your-domain.com   your-domain.com:default:/etc/opendkim/keys/your-domain.com/default.private

Enregistrez et fermez le fichier. Ensuite, créez le fichier d’hôtes de confiance.

sudo nano /etc/opendkim/trusted.hosts

Ajoutez les lignes suivantes au fichier nouvellement créé. Cela indique à OpenDKIM que si un e-mail provient de localhost ou du même domaine, alors OpenDKIM doit uniquement signer l’e-mail mais ne pas effectuer de vérification DKIM sur l’e-mail.

127.0.0.1
localhost

.your-domain.com

Enregistrez et fermez le fichier.

Remarque : Vous ne devez pas ajouter d’astérisque dans le nom de domaine comme ceci : *.votre-domaine.com. Il ne devrait y avoir qu’un point avant le nom de domaine.

Étape 4.5 : Générer une paire de clés privée/publique

Étant donné que DKIM est utilisé pour signer les messages sortants et vérifier les messages entrants, nous devons générer une clé privée pour la signature et une clé publique pour le vérificateur à distance. La clé publique sera publiée dans le DNS.

Create a separate folder for the domain.

sudo mkdir /etc/opendkim/keys/your-domain.com

Générez des clés à l’aide de l’outil opendkim-genkey.

sudo opendkim-genkey -b 2048 -d your-domain.com -D /etc/opendkim/keys/your-domain.com -s default -v

La commande ci-dessus créera des clés de 2048 bits. -d (domaine) spécifie le domaine. -D (répertoire) spécifie le répertoire dans lequel les clés seront stockées et nous utilisons par défaut comme sélecteur (-s), également appelé nom. Une fois la commande exécutée, la clé privée sera écrite dans le fichier default.private et la clé publique sera écrite dans le fichier default.txt.

Faites d’opendkim le propriétaire de la clé privée.

sudo chown opendkim:opendkim /etc/opendkim/keys/your-domain.com/default.private

Et modifiez l’autorisation, de sorte que seul l’utilisateur opendkim ait accès en lecture et en écriture au fichier.

sudo chmod 600 /etc/opendkim/keys/your-domain.com/default.private
Étape 4.6 : Publiez votre clé publique dans les enregistrements DNS

Afficher la clé publique

sudo cat /etc/opendkim/keys/your-domain.com/default.txt

La chaîne après le paramètre p est la clé publique.

Dans votre gestionnaire DNS, créez un enregistrement TXT, saisissez default._domainkey dans le champ du nom. Revenez ensuite à la fenêtre du terminal, copiez tout entre parenthèses et collez-le dans le champ de valeur de l’enregistrement DNS. Vous devez supprimer tous les guillemets doubles et les espaces blancs dans le champ de valeur. Si vous ne les supprimez pas, le test clé de l’étape suivante échouera probablement.

Étape 4.7 : Tester la clé DKIM

Entrez la commande suivante sur le serveur Ubuntu pour tester votre clé.

sudo opendkim-testkey -d your-domain.com -s default -vvv

Si tout est OK, vous verrez Clé OK dans la sortie de la commande.

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.your-domain.com'
opendkim-testkey: key secure
opendkim-testkey: key OK

Notez que votre enregistrement DKIM peut avoir besoin d’un certain temps pour se propager sur Internet. Selon le bureau d’enregistrement de domaine que vous utilisez, votre enregistrement DNS peut être propagé instantanément, ou sa propagation peut prendre jusqu’à 24 heures. Vous pouvez accéder à https://www.dmarcanalyzer.com/dkim/dkim-check/, saisir default comme sélecteur et saisir votre nom de domaine pour vérifier la propagation des enregistrements DKIM.

Si vous voyez Clé non sécurisée dans la sortie de la commande, ne paniquez pas. C’est parce que DNSSEC n’est pas activé sur votre nom de domaine. DNSSEC est une norme de sécurité pour les requêtes DNS sécurisées. La plupart des noms de domaine n’ont pas activé DNSSEC. Il n’y a absolument pas besoin de s’inquiéter de la clé non sécurisée. Vous pouvez continuer à suivre ce guide.

Si vous voyez l’erreur d’expiration du délai de requête, vous devez commenter la ligne suivante dans le fichier /etc/opendkim.conf et redémarrer opendkim.service.

TrustAnchorFile       /usr/share/dns/root.key
Étape 4.8 : Connecter Postfix à OpenDKIM

Postfix peut communiquer avec OpenDKIM via un fichier socket Unix. Le fichier de socket par défaut utilisé par OpenDKIM est /var/run/opendkim/opendkim.sock, comme indiqué dans le fichier /etc/opendkim.conf. Mais le service SMTP postfix livré avec Ubuntu s’exécute dans une prison chroot, ce qui signifie que le service SMTP résout tous les noms de fichiers relatifs au répertoire de file d’attente Postfix (/var/spool/postfix). Nous devons donc modifier le fichier de socket OpenDKIM Unix.

Créez un répertoire pour contenir le fichier de socket OpenDKIM et autorisez uniquement l’utilisateur opendkim et le groupe postfixé à y accéder.

sudo mkdir /var/spool/postfix/opendkim

sudo chown opendkim:postfix /var/spool/postfix/opendkim

Modifiez ensuite le fichier de configuration principal d’OpenDKIM.

sudo nano /etc/opendkim.conf

Trouvez la ligne suivante

Socket local:/run/opendkim/opendkim.sock

Remplacez-le par la ligne suivante. (Si vous ne trouvez pas la ligne ci-dessus, ajoutez la ligne suivante.)

Socket    local:/var/spool/postfix/opendkim/opendkim.sock

Enregistrez et fermez le fichier.

Si vous pouvez trouver la ligne suivante dans le fichier /etc/default/opendkim.

SOCKET="local:/var/run/opendkim/opendkim.sock"

ou

SOCKET=local:$RUNDIR/opendkim.sock

Changez-le en :

SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"

Enregistrez et fermez le fichier.

Ensuite, nous devons éditer le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin de ce fichier, afin que Postfix puisse appeler OpenDKIM via le protocole milter.

# Milter configuration
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters

Enregistrez et fermez le fichier. Ensuite, redémarrez opendkim et postfix service.

sudo systemctl restart opendkim postfix
Étape 4.9 : Vérification SPF et DKIM

Vous pouvez maintenant envoyer un e-mail de test depuis votre serveur de messagerie vers votre compte Gmail pour voir si les contrôles SPF et DKIM sont réussis. Sur le côté droit d’un e-mail ouvert dans Gmail, si vous cliquez sur le bouton Afficher l’original dans le menu déroulant, vous pouvez voir les résultats de l’authentification.

Votre serveur de messagerie effectuera également des vérifications SPF et DKIM sur le domaine de l’expéditeur. Vous pouvez voir les résultats dans les en-têtes des e-mails. Ce qui suit est la vérification SPF et DKIM d’un expéditeur utilisant Gmail.

Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::c2d; helo=mail-yw1-xc2d.google.com; envelope-from=someone@gmail.com; receiver=<UNKNOWN> 
Authentication-Results: email.linuxbabe.com;
        dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XWMRd2co";
        dkim-atps=neutral
Postfix ne peut pas se connecter à OpenDKIM

Si votre message n’est pas signé et que la vérification DKIM a échoué, vous pouvez vérifier le journal postfix (/var/log/mail.log) pour voir ce qui ne va pas avec votre configuration. Si vous trouvez l’erreur suivante dans le journal de messagerie de Postfix (/var/log/mail.log),

connect to Milter service local:opendkim/opendkim.sock: No such file or directory

vous devez vérifier si le service opendkim systemd est réellement en cours d’exécution.

systemctl status opendkim

Si opendkim est en cours d’exécution et que vous voyez toujours l’erreur ci-dessus, cela signifie que Postfix ne peut pas se connecter à OpenDKIM via le socket de domaine Unix (local:opendkim/opendkim.sock).

Pour corriger cette erreur, vous pouvez configurer OpenDKIM pour utiliser le socket TCP/IP au lieu du socket de domaine Unix. (Le socket de domaine Unix est généralement plus rapide que le socket TCP/IP. Si cela ne fonctionne pas sur votre serveur, vous devez utiliser le socket TCP/IP.)

sudo nano /etc/opendkim.conf

Trouvez la ligne suivante :

Socket   local:/var/spool/postfix/opendkim/opendkim.sock

Remplacez-le par :

Socket     inet:8892@localhost

Ainsi, OpenDKIM écoutera sur le socket 127.0.0.1:8892 TCP/IP. Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Trouvez la ligne suivante :

smtpd_milters = local:opendkim/opendkim.sock

Remplacez-le par :

smtpd_milters = inet:127.0.0.1:8892

Ainsi Postfix se connectera à OpenDKIM via le socket TCP/IP. Redémarrez OpenDKIM et Postfix.

sudo systemctl restart opendkim postfix
Vérification des journaux OpenDKIM

Parfois, les journaux de journal OpenDKIM peuvent vous aider à découvrir ce qui ne va pas.

sudo journalctl -eu opendkim

Par exemple, on a eu une fois l’erreur suivante.

opendkim[474285]: key '1': dkimf_db_get(): Connection was killed
opendkim[474285]: 16F53B606: error loading key '1'

On a juste besoin de redémarrer OpenDKIM pour corriger cette erreur.

sudo systemctl restart opendkim
Erreur de configuration dans le client de messagerie

La signature DKIM peut échouer si vous n’utilisez pas les paramètres SMTP/IMAP corrects dans votre client de messagerie.

Paramètres corrects :

ou :

Mauvais paramètres :

Le port 25 doit être utilisé pour la communication de serveur SMTP à serveur SMTP. Veuillez ne pas l’utiliser dans votre client de messagerie pour envoyer des e-mails sortants.

Vous devez sélectionner une méthode de cryptage (STARTTLS ou SSL/TLS) dans votre client de messagerie.

Test du score et du placement des e-mails :

Vous pouvez également accéder à https://www.mail-tester.com. Vous verrez une adresse e-mail unique. Envoyez un e-mail depuis votre domaine à cette adresse, puis vérifiez votre score. Comme vous pouvez le voir, on a obtenu un score parfait.

Mail-tester.com ne peut vous montrer qu’un score d’expéditeur. Il existe un autre service appelé GlockApps qui vous permet de vérifier si votre e-mail est placé dans la boîte de réception ou le dossier spam du destinataire, ou s’il a été rejeté. Il prend en charge de nombreux fournisseurs de messagerie populaires tels que Gmail, Outlook, Hotmail, YahooMail, iCloud mail, etc.

Boîtes aux lettres Microsoft

Lors de notre test, l’e-mail a atterri dans ma boîte de réception Gmail. Cependant, il est toujours étiqueté comme spam dans notre e-mail Outlook.com bien que SPF et DKIM soient transmis.

Microsoft utilise une liste noire interne qui bloque de nombreuses adresses IP légitimes. Si vos e-mails sont rejetés par Outlook ou Hotmail, vous devez suivre le tutoriel lié ci-dessous pour contourner la liste noire de Microsoft Outlook.

Que faire si vos e-mails sont toujours marqués comme spam ?

Les deux facteurs les plus importants sont la réputation du domaine et la réputation IP. Vous pouvez utiliser un service spécifique pour améliorer automatiquement votre réputation.

L’étape suivante

À l’étape 5, nous verrons comment créer un enregistrement DMARC pour protéger votre domaine contre l’usurpation d’adresses e-mail.


Étape 5 : Création d’un enregistrement DMARC pour protéger votre nom de domaine contre l’usurpation d’e-mails

-> Retour au sommaire

À l’étape 4 de la série de didacticiels sur la création de votre propre serveur de messagerie, nous avons implémenté les enregistrements SPF et DKIM pour améliorer la délivrabilité des e-mails. Dans cette partie, nous allons examiner une autre technologie d’authentification des e-mails : DMARC. Nous discuterons de la manière dont DMARC peut vous être utile, comment créer un enregistrement DMARC et interpréter le rapport DMARC.

Qu’est-ce que le DMARC ?

DMARC signifie authentification, rapport et conformité des messages basés sur le domaine. DMARC n’est pas un produit. Il s’agit d’une spécification technique disponible gratuitement et largement prise en charge sur Internet. Toute personne possédant un nom de domaine peut profiter de DMARC.

Une politique DMARC permet à un propriétaire de domaine d’indiquer que les e-mails de son domaine sont protégés par SPF et DKIM. Vous pouvez utiliser DMARC pour découvrir toutes les sources légitimes d’e-mails. DMARC s’appuie sur deux technologies existantes : SPF et DKIM.

Avantages d’avoir un enregistrement DMARC ;

Les avantages du déploiement de DMARC sont :

C’est un gros problème pour toute organisation qui s’appuie sur le courrier électronique pour ses activités quotidiennes. Si vous faites du marketing par e-mail, DMARC est un outil indispensable pour faciliter la livraison des e-mails et atteindre les clients. Presque tous les principaux fournisseurs de boîtes aux lettres destinés aux consommateurs, tels que Gmail, Yahoo et Microsoft, demandent à recevoir des e-mails conformes à DMARC pour faciliter leur travail de filtrage des e-mails.

Comment créer un enregistrement DMARC

Les politiques DMARC sont publiées sous la forme d’un enregistrement TXT dans le DNS.

Étape 5.1 : créer des enregistrements SPF et DKIM :

Avant de créer un enregistrement DMARC, vous devez créer pour votre nom de domaine exemple.com un enregistrement DNS SPF et DKIM.

Étape 5.2 : Alignement de l’identifiant et de l’adresse e-mail :

Envoyez un e-mail de test depuis votre domaine, puis vérifiez les en-têtes d’e-mail bruts dans la boîte aux lettres du destinataire. Vous voulez vous assurer que les domaines dans Return Path, From : header et d=domain dans la signature DKIM sont les mêmes. Si les 3 domaines sont identiques, alors ils sont alignés.

Si Return-Path ou DKIM d= utilise un sous-domaine au lieu du nom de domaine principal, cela s’appelle un alignement détendu. Si aucun sous-domaine n’est utilisé et que les noms de domaine principaux sont les mêmes, on parle d’alignement strict.

Étape 5.3 : Configurer l’enregistrement DMARC

Accédez à votre gestionnaire DNS et ajoutez un enregistrement TXT. Dans le champ du nom, saisissez _dmarc. Dans le champ de valeur, saisissez ce qui suit :

v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@your-domain.com

Explanation:

Vous avez le choix entre 3 politiques :

Si votre nom de domaine a déjà envoyé des e-mails, alors « p=none » est un bon début. Vous devez analyser les données pendant un certain temps pour voir s’il existe des e-mails légitimes qui ne sont pas conformes au DMARC. Une fois que vous disposez de suffisamment de données et que vous avez résolu les problèmes de diffusion, vous pouvez modifier la règle de « none » à « mettre en quarantine » ou « reject ».

Si vous avez un nouveau nom de domaine qui n’a jamais envoyé d’e-mails auparavant, vous pouvez ignorer none et mettre quarantine et définir p=reject.

Vous pouvez ajouter une autre balise à l’enregistrement DMARC : fo. Il a quatre valeurs possibles.

On recommande d’utiliser fo=1 d’abord pour générer des rapports d’échec DMARC plus complets. Lorsque vous passez à une règle plus restrictive, utilisez fo=0.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:dmarck-reports@your-domain.com

Vous pouvez vérifier votre enregistrement DMARC depuis le terminal Linux avec la commande suivante :

dig txt +short _dmarc.example.com

Vous pouvez voir qu’on a utilisé deux adresses e-mail pour recevoir le rapport DMARC, ce que nous expliquerons plus tard. Il existe un autre outil de ligne de commande (opendmarc-check) que vous pouvez utiliser pour vérifier l’enregistrement DMARC. Il est fourni par le package opendmarc.

sudo apt install opendmarc

opendmarc-check interroge le DNS pour un enregistrement DMARC pour le domaine nommé, puis traduit le contenu trouvé sous une forme lisible par l’homme.

Si vous avez un nom de domaine qui n’enverra pas d’e-mails, vous devez utiliser p=reject policy.

v=DMARC1; p=reject; pct=100;
DMARC Test

Un bon service pour le test DMARC est https://www.mail-tester.com. Allez sur le site, vous verrez une adresse e-mail unique. Envoyez un e-mail depuis votre domaine à cette adresse, puis vérifiez votre score. (Ce site Web vérifie tous les facteurs qui affectent la délivrabilité des e-mails, pas seulement DMARC.) Si DMARC réussit, vous verrez quelque chose comme ci-dessous dans le résultat du test.

Une autre façon de tester DMARC consiste à envoyer un e-mail depuis votre domaine vers votre compte Gmail. Si DMARC est correctement configuré, vous verrez dmarc=pass dans l’en-tête authentication-results . (Pour afficher les en-têtes d’e-mail dans Gmail, cliquez sur le bouton « Show original », qui se trouve dans le menu déroulant à droite d’un e-mail ouvert.)

Pour réussir la vérification DMARC, vos e-mails doivent répondre à l’une des exigences suivantes.

Par défaut, DMARC utilise un alignement relâché. Ainsi, le domaine Return-Path ou le domaine d= dans la signature DKIM peut être un sous-domaine.

Comment interpréter le rapport DMARC

Il existe deux types de rapports DMARC.

Normalement, vous ne souhaitez recevoir que le rapport global. Les données produites par DMARC sont inestimables pour comprendre ce qui se passe pour un domaine de messagerie donné. Cependant, les données brutes des rapports DMARC sont extrêmement difficiles à lire et à comprendre. Heureusement, Postmark offre un service gratuit pour traiter ces rapports, vous présente un rapport beaucoup plus lisible. La bonne partie de Postmark est que vous pouvez dire aux serveurs de messagerie de réception d’envoyer des rapports XML directement à Postmark pour traitement. Ainsi, au lieu d’entrer votre adresse e-mail dans l’enregistrement DMARC, vous entrez une adresse e-mail de postmarkapp.com qui vous est propre.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com;

Vous pouvez également spécifier plusieurs adresses e-mail, séparées par des virgules.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com,mailto:dmarc-report@your-domain.com;

Une fois votre enregistrement DMARC vérifié par Postmark, vous recevrez un rapport DMARC chaque semaine tous les lundis dans votre boîte de réception. Vous n’avez pas besoin de créer un compte chez Postmark.

Dasn cet exemple, il existe également une source inconnue qui prétend être linuxbabe.com, site de la capture d’écran.

Tout d’abord, il faut traiter l’adresse IP qui n’a pas d’enregistrement DNS inversé comme un spam. Ensuite, pour identifier d’autres sources inconnues, il faut vérifier si c’est sur une liste noire d’e-mails. Le site debouncer.com dit qu’il est sur 13 listes noires. Il s’agit donc clairement d’un spammeur essayant d’usurper l’identité du nom de domaine.

Pour mieux comprendre la source inconnue et la manière dont vos domaines sont utilisés, vous pouvez choisir de recevoir un rapport médico-légal en ajoutant la balise ruf dans l’enregistrement DMARC comme ci-dessous.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com; ruf=mailto:forensic-report@your-domain.com;

Le rapport médico-légal contient les copies des e-mails qui ont échoué à la vérification DMARC. Vous pouvez voir les en-têtes des e-mails, les lignes d’objet et parfois le corps du message pour déterminer la nature des e-mails ayant échoué. Si vous reconnaissez la ligne d’objet, il est plus probable qu’il s’agisse d’un message transféré. Notez que certains serveurs de messagerie peuvent choisir de générer des rapports agrégés mais pas de rapport médico-légal en raison de problèmes de confidentialité et d’autres peuvent n’inclure que des en-têtes de courrier électronique dans le rapport médico-légal.

Quand SPF ou DKIM échoue-t-il ?

Un exemple typique d’échec SPF est lorsque vos e-mails sont relayés vers le serveur de messagerie de destination via un serveur tiers. Et la situation courante où DKIM échoue est lorsque vos e-mails sont envoyés via une liste de diffusion, qui ajoute souvent des en-têtes ou des phrases supplémentaires à vos e-mails. En fait, une liste de diffusion peut également provoquer une défaillance du SPF.

Il existe deux types de listes de diffusion.

Ce premier type est facile à aborder car le propriétaire du domaine est un client du fournisseur du serveur de liste de diffusion. Il est facile d’ajouter le serveur de liste de diffusion à l’enregistrement SPF. En outre, le serveur de liste de diffusion peut effectuer la signature DKIM pour les clients.

Le deuxième type de liste de diffusion est difficile à gérer pour les propriétaires de domaine dont les utilisateurs participent à des discussions dans diverses listes de diffusion. Le propriétaire du domaine ne peut pas répertorier tous les serveurs de liste de diffusion de discussion possibles dans l’enregistrement SPF, et ces listes de diffusion ne peuvent pas signer DKIM pour d’autres noms de domaine. Une solution possible consiste à ce que la liste de diffusion utilise sa propre adresse dans l’en-tête De : et ajoute l’adresse de l’expéditeur de l’e-mail d’origine dans l’en-tête Répondre à : . Plus de détails peuvent être trouvés sur cette page wiki GNU mailman. Une solution plus pratique et prometteuse est l’ARC (Authentication Received Chain), ce qui signifie essentiellement que les listes de diffusion vérifient DMARC et signent le résultat DMARC. Les serveurs de messagerie de réception peuvent faire confiance à la signature ARC et remplacer les résultats de la vérification DMARC locale.

Quand devriez-vous passer à la politique p=reject

Vous devez attendre suffisamment de temps pour recevoir de nombreux rapports DMARC. Ne soyez pas surpris lorsque vous voyez des faux positifs dans votre rapport DMARC. Analysez ces faux positifs et prenez des mesures pour vous assurer qu’ils peuvent passer le contrôle DMARC. Après cela, basculez votre politique DMARC sur p=quarantine et éventuellement p=reject. Ne sautez pas la quarantaine et passez directement au rejet. Lorsque vous passez à une politique DMARC plus stricte, envisagez de modifier la valeur de pct tag.

Ainsi, le processus global se déroule comme suit :

  1. p=none;              pct=100;
  2. p=quarantine;     pct=30;
  3. p=quarantine;     pct=70;
  4. p=quarantine;     pct=100;
  5. p=reject;             pct=30;
  6. p=reject;             pct=70;
  7. p=reject;             pct=100;
Pourquoi on utilise toujours la politique p=none ?

Tout d’abord, c’est à cause de Microsoft. les e-mails transférés à partir de la boîte aux lettres Microsoft Outlook peuvent échouer à la vérification DKIM, ce qui est mauvais. Pour cette raison, on ne peut pas définir ma politique DMARC sur quarantine ou reject.

Une autre raison est que qu’on utilise parfois l’application MailChimp pour envoyer des newsletters à des abonnés par e-mail. MailChimp utilise son propre domaine dans l’en-tête Return-Path et sa propre signature DKIM pour l’e-mail de confirmation d’inscription, ce qui provoque un échec DMARC.

La solution au premier problème est le déploiement d’ARC (Authenticated Received Chain). Jusqu’à ce que l’ARC soit mis en œuvre sur les fournisseurs de boîtes aux lettres, on ne modifiera pas ma politique DMARC.

Pour résoudre le deuxième problème, nous devons passer à une application de newsletter auto-hébergée comme Mailtrain, au lieu d’utiliser un fournisseur de services de messagerie (ESP) pour envoyer des newsletters aux abonnés par e-mail. De cette façon, on peut utiliser son propre nom de domaine dans l’en-tête Return-Path et sa propre signature DKIM dans chaque e-mail. Cependant, cela signifie également qu’on devra établir une bonne réputation pour son domaine de messagerie et l’adresse IP de son serveur de messagerie afin que les e-mails puissent atterrir dans la boîte de réception des abonnés au lieu du dossier spam. Cela peut prendre du temps et des efforts.

Mise à jour :

L’alignement DKIM dans les e-mails transférés par Microsoft Outlook s’est amélioré. Toujours en février 2019, Mailchimp a commencé à utiliser le nom de domaine du client dans la signature DKIM pour les e-mails de confirmation d’inscription, de sorte que tous les e-mails Mailchimp sont désormais alignés sur DKIM. On commence maintenant à expérimenter la règle p=quarantaine et on passera éventuellement à la règle p=reject .

Observations :

Il est préférable d’avoir une règle p=none que de ne pas avoir d’enregistrement DMARC. Bien que p=none ne puisse pas empêcher l’usurpation d’e-mails, au moins les e-mails légitimes ont une meilleure chance d’être placés dans la boîte de réception.


Étape 6 : Comment contourner le blacklist d’IP de Microsoft Outlook et les autres blacklists

-> Retour au sommaire

Parfois, vos e-mails sortants peuvent être rejetés en raison du fait que l’adresse IP de votre VPS ou de votre serveur est dans un blacklist des adresses IP.

Nous allons vous montrer une solution pour contourner la liste noire IP de Microsoft Outlook. Si l’adresse IP de votre serveur de messagerie est également bloquée par d’autres listes noires, on vous montrera comment le contourner à la fin de cet article. Veuillez suivre l’intégralité du didacticiel même si votre adresse IP n’est pas sur la liste noire de Microsoft.

Microsoft Outlook Blacklist :

Microsoft Outlook renvoie généralement le message suivant si votre adresse IP est bloquée.

host eur.olc.protection.outlook.com[104.47.22.161] said:
550 5.7.1 Unfortunately, messages from [xx.xx.xx.xx] weren’t sent.
Please contact your Internet service provider since part of their network
is on our block list (S3150). You can also refer your provider to
http://mail.live.com/mail/troubleshooting.aspx#errors.
[DB8EUR06FT013.eop-eur06.prod.protection.outlook.com] (in reply to MAIL
FROM command)

Comme vous pouvez le voir, toute la plage IP est bloquée. Personnellement, on ne pense pas que cette technique anti-spam devrait être utilisée en raison des dommages collatéraux causés aux expéditeurs légitimes. En revanche, Gmail est beaucoup plus intelligent dans la gestion de la réputation IP. Vous pouvez tenter d’utiliser le formulaire de Microsoft : submit the sender information form pour tenter de résoudre ce problème. Parfois, Microsoft débloquait votre adresse IP, parfois votre demande était refusée.

Un moyen infaillible de retirer votre adresse IP de la liste noire d’Outlook consiste à faire certifier votre serveur de messagerie par Return Path. Cependant, c’est très cher.

Utilisation d’un service de relais SMTP pour contourner la liste noire IP de Microsoft Outlook ;

Vous pouvez configurer votre serveur de messagerie pour relayer les e-mails via les services de relais SMTP. Ils maintiennent une bonne réputation IP, de sorte que vos e-mails peuvent passer à travers les listes noires IP. Il existe de nombreux services de relais SMTP. Certains facturent des frais minimes, d’autres offrent des quotas gratuits tous les mois.

Vous n’avez pas besoin de configurer votre serveur de messagerie pour relayer tous vos e-mails. On va vous montrer comment configurer votre serveur SMTP Postfix pour relayer les e-mails envoyés uniquement aux adresses e-mail outlook.com, hotmail.com, live.com et msn.com, afin que vous n’utilisiez pas rapidement le quota gratuit.

Ici, on recommande le service de relais Brevo SMTP (anciennement nommé ‘Sendinblue’), qui permet d’envoyer gratuitement 9 000 e-mails/mois.

Configurer le relais SMTP Brevo / SendinBlue :

Créer un compte gratuit sur Brevo / SendinBlue. Une fois votre profil utilisateur complété, cliquez sur l’onglet transactionnel, vous obtiendrez vos paramètres SMTP.

Notez que vous devrez peut-être contacter le service client de Brevo afin d’activer le service de messagerie transactionnelle.

Connectez-vous en SSH à votre serveur de messagerie et installez le package libsasl2-modules, qui est requis pour l’authentification SASL.

sudo apt install libsasl2-modules

Ensuite, ouvrez le fichier de configuration principal de Postfix avec un éditeur de texte en ligne de commande comme Nano.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin de ce fichier.

transport_maps = regexp:/etc/postfix/transport.microsoft

Ajoutez ensuite les lignes suivantes à la fin de ce fichier.

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noplaintext, noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

Enregistrez et fermez le fichier. Ensuite, créez le fichier /etc/postfix/transport.microsoft.

sudo nano /etc/postfix/transport.microsoft

Ajoutez la ligne suivante dans ce fichier. Cela indique à Postfix d’utiliser le relais SMTP Brevo si le destinataire est un utilisateur de boîte aux lettres Microsoft.

/.*@(outlook|hotmail|live|msn)\..*/i             relay:[smtp-relay.brevo.com]:587

Enregistrez et fermez le fichier. Créez ensuite le fichier .db.

sudo postmap /etc/postfix/transport.microsoft

Créez ensuite le fichier /etc/postfix/sasl_passwd.

sudo nano /etc/postfix/sasl_passwd

Ajoutez l’hôte de relais SMTP et les informations d’identification SMTP à ce fichier comme ci-dessous.
Remplacez smtp_username et smtp_password par vos propres nom d’utilisateur et mot de passe fournis par Brevo / SendinBlue.
Notez qu’il y a deux-points entre le nom d’utilisateur et le mot de passe.

[smtp-relay.brevo.com]:587            smtp_username:smtp_password

Enregistrez et fermez le fichier. Créez ensuite le fichier de base de données de hachage correspondant avec postmap.

sudo postmap /etc/postfix/sasl_passwd

Vous devriez maintenant avoir un fichier /etc/postfix/sasl_passwd.db. Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Par défaut, les fichiers sasl_passwd et sasl_passwd.db peuvent être lus par n’importe quel utilisateur sur le serveur. Modifiez l’autorisation à 600 afin que seul root puisse lire et écrire dans ces deux fichiers.

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Désormais, Postfix utilisera le relais SMTP Sendinblue pour envoyer des e-mails aux utilisateurs de boîtes aux lettres Microsoft. Vous pouvez envoyer un e-mail de test à une adresse e-mail hotmail.com, outlook.com, live.com ou msn.com.

Notez que vous devez cliquer sur l’onglet Expéditeurs et adresses IP dans le tableau de bord de votre compte pour ajouter votre domaine.

Configurer l’authentification SPF/DKIM dans Brevo (ex SendinBlue) :

Dans votre tableau de bord SendinBlue, cliquez sur le nom de votre compte dans le coin supérieur droit, puis cliquez sur Expéditeurs et IP. Sélectionnez l’onglet Domaines > Gérer -> Authentifier ce domaine.

Une fenêtre contextuelle apparaît. Vous devez ajouter les 3 premiers enregistrements de votre domaine.

Conseil de dépannage :

Si votre serveur SMTP Postfix n’a pas réussi à envoyer l’e-mail via le relais SMTP et que vous voyez l’erreur suivante dans le journal de messagerie (/var/log/mail.log).

sasl authentication failed cannot authenticate to server no mechanism available

c’est probablement parce qu’il manque à votre système le package libsasl2-modules, qui peut être installé avec la commande suivante.

sudo apt install libsasl2-modules

Redémarrez ensuite Postfix.

sudo systemctl restart postfix

Remarque : Parfois, l’erreur ci-dessus peut être causée par un certificat TLS non valide (auto-signé ou expiré) sur le serveur de relais SMTP. Cependant, cela se produit rarement lorsque vous utilisez Sendinblue.

Comment contourner le blacklist de votre adresse IP et e-mail de la part de fournisseurs d’adresses d’e-mails autres que Microsoft :

Vous pouvez désormais envoyer des e-mails aux boîtes aux lettres Microsoft, mais il existe également d’autres listes noires tierces telles que la liste noire Proofpoint, qui est utilisée par icloud.com et de nombreux autres noms de domaine. Vous ne pouvez pas répertorier tous les noms de domaine possibles qui utilisent la liste noire Proofpoint dans le fichier de transport Postfix, alors comment pouvez-vous dire à Postfix de contourner les listes noires tierces ?

Dans ce cas, vous devez indiquer à Postfix de se rabattre sur le relais SMTP Sendinblue en cas d’échec de la livraison des e-mails. Ouvrez le fichier main.cf.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin de ce fichier.

smtp_fallback_relay = [smtp-relay.brevo.com]:587

De cette façon, Postfix essaiera de livrer l’e-mail par lui-même, et si la livraison échoue, Postfix utilisera le relais SMTP Sendinblue.

smtp_fallback_relay n’est pas parfait, car il ne fonctionne que lorsque l’e-mail est rebondi (code 4xx). Si votre e-mail sortant est bloqué (code 5xx), alors Postfix n’utilisera pas le relais de secours.

Heureusement, vous pouvez changer le code de relais SMTP de 5xx à 4xx, donc Postfix pensera que tous les e-mails rebondis sont des rebonds doux et il se rabattra sur le relais SMTP Sendinblue. Pour que cela fonctionne, ajoutez la ligne suivante au bas du fichier /etc/postfix/main.cf .

smtp_reply_filter = pcre:/etc/postfix/smtp_reply_filter

Save and close the file. Then create the /etc/postfix/smtp_reply_filter file.

sudo nano /etc/postfix/smtp_reply_filter

Ajoutez la ligne suivante dans ce fichier. Veuillez ne pas ajouter d’espace au début de cette ligne.

/^5(.*)$/ 4$1

Enregistrez et fermez le fichier. Ensuite, construisez cette table de recherche.

sudo postmap /etc/postfix/smtp_reply_filter

Installez le support de carte PCRE pour Postfix.

sudo apt install postfix-pcre

Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix
Sortir du dossier spam :

Les services de relais SMTP peuvent vous aider à contourner les listes noires d’adresses IP, mais cela ne signifie pas que vos e-mails arriveront à 100 % dans la boîte de réception. Vos e-mails peuvent être placés dans le dossier spam. Si vous respectez les bonnes pratiques d’envoi d’e-mails, vos e-mails seront éventuellement placés dans le dossier de la boîte de réception.

Conseils pour rester en dehors de la blacklist de Microsoft

Microsoft peut supprimer votre adresse IP de la liste noire s’il n’a trouvé aucune activité de spam provenant de votre serveur de messagerie pendant un certain temps. Voici quelques conseils pour éviter que votre adresse IP ne soit à nouveau mise sur liste noire.

Vous pouvez vous connecter auOutlook.com Smart Network Data Services pour vérifier votre réputation IP auprès de Microsoft. Si votre adresse IP envoie plus de 100 messages un jour donné, vous pouvez cliquer sur le lien Afficher les données pour afficher le trafic de messagerie et les données de spam pour votre adresse IP.

Microsoft utilise 3 couleurs pour distinguer le taux de spam de votre adresse IP :


Étape 7 : Installez Roundcube Webmail sur Ubuntu 22.04 avec Apache

-> Retour au sommaire

Roundcube est un client de messagerie Web open source gratuit et complet écrit en PHP. Un webmail est un client de messagerie dans votre navigateur. Au lieu de lire et d’envoyer des e-mails à partir d’un client de messagerie de bureau tel que Mozilla Thunderbird, vous pouvez accéder à vos e-mails à partir d’un navigateur Web. Ce tutoriel va vous montrer comment installer le webmail Roundcube sur Ubuntu 22.04 avec le serveur web Apache.

Vous accèderez à Roundcube en tapant l’adresse https://webmail.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.

Fonctionnalités :

Étape 7.1 : Téléchargez Roundcube Webmail sur Ubuntu 22.04

Connectez-vous à votre serveur Ubuntu via SSH, puis exécutez la commande suivante pour télécharger la dernière version stable 1.6 à partir du référentiel Roundcube Github.

wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz

Remarque : Vous pouvez toujours utiliser le format d’URL ci-dessus pour télécharger Roundcube à partir de la ligne de commande. Si une nouvelle version sort, remplacez simplement 1.6.0 par le nouveau numéro de version. Vous pouvez vérifier s’il y a une nouvelle version sur le site de Roundcube

Extrayez l’archive tar, déplacez le dossier nouvellement créé vers la racine Web (/var/www/) et renommez-le en roundcube en même temps.

tar xvf roundcubemail-1.6.0-complete.tar.gz

sudo mkdir -p /var/www/

sudo mv roundcubemail-1.6.0 /var/www/roundcube

Allez dans le répertoire roundcube.

cd /var/www/roundcube

Faites de l’utilisateur du serveur Web (www-data) le propriétaire des répertoires temp et logs afin que le serveur Web puisse écrire dans ces deux répertoires.

sudo chown www-data:www-data temp/ logs/ -R
Étape 7.2 : Installer les extensions PHP

Exécutez la commande suivante pour installer les extensions PHP requises. PHP8.1 est entièrement pris en charge dans la version 1.6.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php8.1-common php8.1-gd php8.1-imap php8.1-mysql php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-redis
Étape 7.3 : Créer une base de données MariaDB et un utilisateur pour Roundcube

Connectez-vous au shell MariaDB en tant que root.

sudo mysql -u root

Créez ensuite une nouvelle base de données pour Roundcube à l’aide de la commande suivante. Ce tutoriel le nomme roundcubemail, vous pouvez utiliser le nom de votre choix pour la base de données.

CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Ensuite, créez un nouvel utilisateur de base de données sur localhost à l’aide de la commande suivante. Encore une fois, ce tutoriel le nomme roundcube, vous pouvez utiliser le nom de votre choix. Remplacez mot de passe par votre mot de passe préféré.

CREATE USER roundcube@localhost IDENTIFIED BY 'roundcube_password';

Accordez ensuite toutes les autorisations de la nouvelle base de données au nouvel utilisateur afin que plus tard le webmail Roundcube puisse écrire dans la base de données.

GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost;

Videz la table des privilèges pour que les modifications prennent effet.

flush privileges;

Quittez MariaDB Shell :

exit;

Importez les tables initiales dans la base de données roundcube.

sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Étape 7.4 : Créer un hôte virtuel Apache pour Roundcube

Créez un hôte virtuel pour Roundcube.

sudo nano /etc/apache2/sites-available/roundcube.conf

Note : Si vous avez suivi le tutoriel Postfix/Dovecot, un hôte virtuel existe déjà. vous devez éditer le fichier suivant. (Supprimez le contenu existant.)

sudo nano /etc/apache2/sites-available/mail.example.com.conf

Mettez le texte suivant dans le fichier. Remplacez mail.exemple.com par votre vrai nom de domaine et n’oubliez pas de définir un enregistrement DNS A pour celui-ci.

<VirtualHost *:80>
  ServerName mail.exemple.com
  DocumentRoot /var/www/roundcube/

  ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel avec :

sudo a2ensite roundcube.conf

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Vous devriez maintenant pouvoir voir l’assistant d’installation Web de Roundcube à l’adresse http://mail.exemple.com/installer.

Vous devriez maintenant pouvoir voir l’assistant d’installation Web de Roundcube à l’adresse http://mail.exemple.com/installer.

Étape 7.5 : Activer HTTPS

Il est fortement recommandé d’utiliser TLS pour chiffrer votre messagerie Web. Nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 22.04.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d mail.exemple.com

ou :

Le certificat devrait maintenant être obtenu et installé automatiquement.

Remarque : Si vous avez suivi notre didacticiel Postfix/Dovecot et que vous installez maintenant Roundcube sur le même serveur, certbot vous indiquera probablement qu’un certificat pour mail.example.com existe déjà, comme indiqué ci-dessous. Vous pouvez donc choisir d’installer le certificat existant. Certificat TLS dans le fichier de configuration de votre serveur Web.

Étape 7.6 : Ajout d’une entrée DNS locale

Il est recommandé de modifier le fichier /etc/hosts sur le serveur de messagerie et d’ajouter l’entrée suivante, afin que Roundcube n’ait pas à interroger le DNS public, ce qui accélérera un peu le chargement de la page Web.

127.0.0.1  localhost mail.example.com
Étape 7.7 : Configurer Roundcube

Accédez au répertoire de configuration de Roundcube.

cd /var/www/roundcube/config/

Copiez l’exemple de fichier de configuration.

sudo cp config.inc.php.sample config.inc.php

Modifiez le nouveau fichier.

sudo nano config.inc.php

Trouvez la ligne suivante, qui indique à Roundcube comment se connecter à la base de données.

$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';

Vous devez remplacer pass par le vrai mot de passe Roundcube. Si le mot de passe contient des caractères spéciaux, vous devez utiliser le codage en pourcentage. Par exemple, si le mot de passe est mPcEIRxyJhCz8uiWIUopqWzaSTk=, la ligne ressemblera à ceci :

$config['db_dsnw'] = 'mysql://roundcube:mPcEIRxyJhCz8uiWIUopqWzaSTk%3D@localhost/roundcubemail';

Le caractère spécial = est représenté par %3D.

Trouvez ensuite les deux lignes suivantes.

$config['imap_host'] = 'localhost:143';

$config['smtp_host'] = 'localhost:587';

Remplacez la valeur comme suit :

$config['imap_host'] = 'tls://mail.example.com:143';

$config['smtp_host'] = 'tls://mail.example.com:587';

Trouvez la ligne suivante.

$config['des_key'] = 'rcmail-!24ByteDESkey*Str';

Remplacez la clé par défaut par des caractères aléatoires comme ci-dessous.

$config['des_key'] = '58kptbzEcNKi/bc9OL90//3ATnQ=';

Ensuite, trouvez les lignes suivantes

// List of active plugins (in plugins/ directory)
$config['plugins'] = [
    'archive',
    'zipdownload',
];

Par défaut, seuls deux plugins sont activés. Nous pouvons activer plus de plugins comme ci-dessous.

// List of active plugins (in plugins/ directory)
$config['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];

Enfin, nous pouvons activer le correcteur orthographique intégré en ajoutant la ligne suivante à la fin de ce fichier.

$config['enable_spellcheck'] = true;

Enregistrez et fermez le fichier.

Accédez à votre domaine Webmail et connectez-vous.

Interface de messagerie Web Roundcube :

Vous devez maintenant supprimer l’intégralité du dossier d’installation de la racine du document ou vous assurer que l’option enable_installer dans le fichier config.inc.php est désactivée.

sudo rm /var/www/roundcube/installer/ -r

Ces fichiers peuvent exposer au public des données de configuration sensibles telles que les mots de passe du serveur et les clés de chiffrement. Assurez-vous que vous ne pouvez pas accéder à la page d’installation à partir de votre navigateur.

Étape 7.8 : Configurer le filtre de messages Sieve

Vous pouvez créer des dossiers dans le webmail Roundcube, puis créer des règles pour filtrer les messages électroniques dans différents dossiers. Pour ce faire, vous devez installer le serveur ManageSieve avec la commande suivante.

sudo apt install dovecot-sieve dovecot-managesieved

Par défaut, Postfix utilise son agent de livraison local (LDA) intégré pour déplacer les e-mails entrants vers la banque de messages (boîte de réception, envoyés, corbeille, courrier indésirable, etc.). Nous pouvons le configurer pour utiliser Dovecot pour envoyer des e-mails, via le protocole LMTP, qui est une version simplifiée de SMTP. LMTP permet un système de messagerie hautement évolutif et fiable et il est nécessaire si vous souhaitez utiliser le plugin sieve pour filtrer les messages entrants vers différents dossiers.

Installez le serveur Dovecot LMTP.

sudo apt install dovecot-lmtpd

Modifiez le fichier de configuration principal de Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Ajoutez lmtp et sieve aux protocoles pris en charge.

protocols = imap lmtp sieve

Enregistrez et fermez le fichier. Modifiez ensuite le fichier Dovecot 10-master.conf .

sudo nano /etc/dovecot/conf.d/10-master.conf

Modifiez la définition du service lmtp comme suit.

service lmtp {
 unix_listener /var/spool/postfix/private/dovecot-lmtp {
   group = postfix
   mode = 0600
   user = postfix
  }
}

Ensuite, éditez le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin du fichier. La première ligne indique à Postfix de livrer les e-mails au magasin de messages local via le serveur LMTP dovecot. La deuxième ligne désactive SMTPUTF8 dans Postfix, car Dovecot-LMTP ne prend pas en charge cette extension de messagerie.

mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no

Enregistrez et fermez le fichier. Ouvrez le fichier /etc/dovecot/conf.d/15-lda.conf .

sudo nano /etc/dovecot/conf.d/15-lda.conf

Faites défiler jusqu’à la fin du fichier, décommentez la ligne mail_plugins et ajoutez le plug-in sieve à l’agent de distribution local (LDA).

protocol lda {
    # Space separated list of plugins to load (default is global mail_plugins).
    mail_plugins = $mail_plugins sieve
}

Enregistrez et fermez le fichier. Si vous pouvez trouver le fichier 20-lmtp.conf dans le répertoire /etc/dovecot/conf.d/ , vous devez également activer le plug-in sieve dans ce fichier, comme ci-dessous.

protocol lmtp {
      mail_plugins = quota sieve
}

Modifiez le fichier /etc/dovecot/conf.d/10-mail.conf .

sudo nano /etc/dovecot/conf.d/10-mail.conf

Les scripts Sieve sont stockés dans le répertoire personnel de chaque utilisateur. Si vous avez suivi notre tutoriel PostfixAdmin et que vous utilisez des domaines de boîtes aux lettres virtuelles, vous devez activer mail_home pour les utilisateurs virtuels en ajoutant la ligne suivante dans le fichier, car les utilisateurs virtuels n’ont pas de répertoire personnel par défaut.

mail_home = /var/vmail/%d/%n

Enregistrez et fermez le fichier.

Enfin, redémarrez Postfix et Dovecot.

sudo systemctl restart postfix dovecot

Vous pouvez maintenant accéder au webmail Roundcube, ouvrir un e-mail et cliquer sur le bouton plus et sélectionner créer des filtres pour créer des filtres de message. Par exemple, on crée un filtre qui déplace chaque e-mail envoyé depuis redhat.com vers le dossier Red Hat.

Si vous n’avez pas l’option de création de filtre, c’est probablement parce que vous n’avez pas activé le plugin managesieve. Modifiez le fichier config.inc.php.

sudo nano /var/www/roundcube/config/config.inc.php

A la fin de ce fichier, vous trouverez une liste des plugins actifs. ajoutez le plugin managesieve dans le tableau. L’ordre des plugins n’a pas d’importance.

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'database_attachments', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];

Enregistrez et fermez le fichier.

Notez que si vous déplacez un ensemble de filtres sieve d’un ancien serveur de messagerie vers votre nouveau serveur de messagerie, vous devez accéder à Paramètres -> Filtres, puis cliquer sur Actions et activer l’ensemble de filtres, sinon le serveur Dovecot LMTP n’exécutera pas le filtre sieve. .

Étape 7.9 : Suppression des informations sensibles des en-têtes d’e-mail

Par défaut, Roundcube ajoutera un en-tête d’e-mail User-Agent , indiquant que vous utilisez le webmail Roundcube et le numéro de version. Vous pouvez dire à Postfix de l’ignorer afin que le destinataire ne puisse pas le voir. Exécutez la commande suivante pour créer un fichier de vérification d’en-tête.

sudo nano /etc/postfix/smtp_header_checks

Mettez les lignes suivantes dans le fichier.

/^User-Agent.*Roundcube Webmail/            IGNORE

Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin du fichier.

smtp_header_checks = regexp:/etc/postfix/smtp_header_checks

Enregistrez et fermez le fichier. Exécutez ensuite la commande suivante pour reconstruire la table de hachage.

sudo postmap /etc/postfix/smtp_header_checks

Rechargez Postfix pour que le changement prenne effet.

sudo systemctl reload postfix

Désormais, Postfix n’inclura plus User-Agent : Roundcube Webmail dans les en-têtes lors de l’envoi d’e-mails sortants.

Étape 7.10 : Configurer le plugin de mot de passe dans Roundcube

Roundcube inclut un plug-in de mot de passe qui permet aux utilisateurs de modifier leurs mots de passe à partir de l’interface de messagerie Web. Modifiez le fichier config.inc.php.

sudo nano /var/www/roundcube/config/config.inc.php

Assurez-vous que le plug-in de mot de passe figure dans la liste des plug-ins à la fin de ce fichier. L’ordre des plugins n’a pas d’importance.

$config['plugins'] = array('acl', 'additional_message_headers', 'password', .....);

Enregistrez et fermez le fichier.

Cependant, nous devons configurer ce plugin avant qu’il ne fonctionne. Exécutez la commande suivante pour copier le fichier de configuration du plug-in de mot de passe distribué dans un nouveau fichier.

sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php

Modifiez le fichier de configuration du plug-in de mot de passe.

sudo nano /var/www/roundcube/plugins/password/config.inc.php

Trouvez la ligne suivante :

$config['password_db_dsn'] = 'exemple.com';

Ce paramètre est utilisé pour indiquer au plugin de mot de passe où les mots de passe des utilisateurs sont stockés. Par défaut, la valeur est vide et interroge la base de données roundcube, qui ne stocke pas les mots de passe des utilisateurs. Si vous avez suivi notre didacticiel PostfixAdmin, les mots de passe des utilisateurs sont stockés dans la table postfixadmin.mailbox. Nous devons donc modifier la valeur :

$config['password_db_dsn'] = 'mysql://postfixadmin:postfixadmin_database_password@127.0.0.1/postfixadmin';

Indique au plug-in de mot de passe de se connecter à la base de données postfixadmin. Si vous ne vous souvenez pas de votre mot de passe de base de données postfixadmin, vous pouvez le trouver dans le fichier /etc/dovecot/dovecot-sql.conf.ext . Si votre mot de passe PostfixAdmin contient un guillemet simple, vous pouvez utiliser une barre oblique inverse (\’) pour l’échapper.

Trouvez ensuite la ligne suivante.

$config['password_query'] = 'SELECT update_passwd(%c, %u)';

Remplacez-le par ce qui suit.

$config['password_query'] = 'UPDATE mailbox SET password=%P,modified=NOW() WHERE username=%u';

On recommande d’activer un vérificateur de force de mot de passe pour empêcher les utilisateurs de définir des mots de passe faibles. Allez au début de ce fichier, vous pouvez trouver la ligne suivante.

$config['password_strength_driver'] = null;

Nous pouvons utiliser le pilote de force de mot de passe zxcvbn, alors changez-le en :

$config['password_strength_driver'] = 'zxcvbn';

Ajoutez la ligne suivante dans ce fichier pour autoriser uniquement les mots de passe forts.

$config['password_zxcvbn_min_score'] = 5;

Remarque : Le paramètre $config[‘password_minimum_score’] ne fonctionne pas avec le pilote zxcvbn, alors laissez-le tel quel.

Vous pouvez également définir une longueur minimale pour le mot de passe. Trouvez la ligne suivante.

$config['password_minimum_length'] = 0;

Changez-le en :

$config['password_minimum_length'] = 8;

Rappelez-vous que nous avons utilisé le schéma de mot de passe ARGON2I dans le tutoriel PostfixAdmin, nous devons donc également configurer le plugin de mot de passe pour utiliser ARGON2I. Recherchez les lignes suivantes dans le fichier.

$config['password_algorithm'] = 'clear';

Par défaut, le mot de passe sera stocké en texte clair, modifiez la valeur comme suit pour utiliser l’algorithme de mot de passe intégré de Dovecot.

$config['password_algorithm'] = 'dovecot';

Recherchez ensuite la ligne suivante, qui indique où se trouve le générateur de hachage de mot de passe de Dovecot.

$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x

Remplacez-le par ce qui suit.

$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';

Trouvez ensuite la ligne suivante, qui indique quel schéma de mot de passe sera utilisé.

$config['password_dovecotpw_method'] = 'CRAM-MD5';

Changez-le en :

$config['password_dovecotpw_method'] = 'ARGON2I';

Trouvez la ligne suivante.

$config['password_dovecotpw_with_method'] = false;

Remplacez faux par vrai. Cela ajoutera un préfixe {ARGON2I} au mot de passe haché, ainsi vous reconnaîtrez quel schéma de mot de passe est utilisé.

$config['password_dovecotpw_with_method'] = true;

Enregistrez et fermez le fichier. Étant donné que ce fichier contient le mot de passe de la base de données, nous ne devons autoriser que l’utilisateur www-data à lire et à écrire dans ce fichier.

sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.php
sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php

Désormais, les utilisateurs devraient pouvoir modifier leurs mots de passe dans l’interface de messagerie Web Roundcube.

Comment configurer les messages de vacances/absence du bureau

Nous pouvons utiliser le filtre de tamis pour créer des messages de vacances/d’absence du bureau. Accédez à Roundcube Paramètres -> Filtres. Cliquez ensuite sur le bouton Créer pour créer un filtre.

Lorsque vous êtes de retour au bureau, vous pouvez activer le bouton « Filtre désactivé » et cliquer sur le bouton Enregistrer pour désactiver ce filtre.

Augmenter la limite de taille du fichier de téléchargement

Si vous utilisez PHP-FPM pour exécuter des scripts PHP, les fichiers tels que les images, les fichiers PDF téléchargés sur Roundcube ne peuvent pas dépasser 2 Mo. Pour augmenter la taille limite de téléchargement, modifiez le fichier de configuration PHP.

sudo nano /etc/php/8.1/fpm/php.ini

Trouvez la ligne suivante (ligne 846).

upload_max_filesize = 2M

Modifiez la valeur comme ci-dessous. Notez que cette valeur ne doit pas être supérieure à la limite de taille de pièce jointe définie par le serveur SMTP de Postfix.

upload_max_filesize = 50M

Trouvez ensuite la ligne suivante (ligne 694).

post_max_size = 8M

Modifiez la taille maximale des données POST que PHP acceptera.

post_max_size = 50M

Enregistrez et fermez le fichier. Vous pouvez également exécuter les deux commandes suivantes pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/8.1/fpm/php.ini

sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/8.1/fpm/php.ini

Redémarrez ensuite PHP-FPM.

sudo systemctl restart php8.1-fpm




Il existe 3 plugins dans Roundcube pour le téléchargement de pièces jointes/fichiers :

Roundcube ne peut utiliser qu’un seul plugin pour les téléchargements de pièces jointes/fichiers. On a constaté que le plug-in database_attachment peut être source d’erreurs et vous causer des problèmes. Pour le désactiver, modifiez le fichier de configuration Roundcube.

sudo nano /var/www/roundcube/config/config.inc.php

Faites défiler jusqu’à la fin de ce fichier. Vous verrez une liste des plugins actifs. Supprimez ‘database_attachments’ de la liste. Notez que vous devez activer au moins un autre plug-in de pièce jointe, par exemple filesystem_attachments.

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];

Enregistrez et fermez le fichier.

Configuration de plusieurs domaines de messagerie

Pour héberger plusieurs domaines de messagerie, veuillez lire l’article suivant :

Conseils de dépannage

Si vous rencontrez des erreurs, vous pouvez consulter les journaux d’erreurs du serveur Web à l’adresse /var/log/apache2/roundcube_error.log et également les journaux d’erreurs Roundcube dans le répertoire /var/www/roundcube/logs/ .

Connection to Storage Server Failed

Si vous voyez l’erreur Échec de la connexion au serveur de stockage lorsque vous essayez de vous connecter à RoundCube, c’est probablement parce que

Vous pouvez également essayer d’ajouter une entrée DNS personnalisée dans le fichier /etc/hosts comme décrit à l’étape 7.8 sur le serveur Roundcube, afin que Roundcube puisse résoudre correctement le nom d’hôte du serveur de messagerie.

Impossible de charger le message du serveur

Si vous voyez l’erreur « Erreur interne : impossible de charger le message du serveur », c’est probablement parce que vous essayez d’ouvrir un e-mail supprimé (URL non valide). Essayez d’accéder au domaine racine de messagerie (mail.example.com) pour voir si cela fonctionne.

Le filtre de messages Sieve ne fonctionne pas ?

Si vous avez suivi l’étape 3.8 pour configurer le filtre tamis à la lettre, mais que vous n’arrivez toujours pas à le faire fonctionner, vous pouvez activer le débogage dans Dovecot pour découvrir ce qui ne va pas.

sudo nano /etc/dovecot/dovecot.conf

Ajoutez la ligne suivante à la fin de ce fichier pour activer le débogage dans Dovecot.

mail_debug=yes

Enregistrez et fermez le fichier. Redémarrez ensuite Dovecot.

sudo systemctl restart dovecot

Ensuite, envoyez un e-mail de test à l’adresse e-mail de votre domaine et ouvrez le fichier journal de messagerie.

sudo nano /var/log/mail.log

Vous pouvez trouver des informations de débogage pour le filtre de messages Sieve. Par exemple, on a constaté que Dovecot était incapable d’exécuter notre script Sieve.

Jan 10 11:35:24 mail dovecot: lmtp(xiao@linuxbabe.com) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'

Il s’avère que le filtre Sieve a trop de règles et certaines d’entre elles sont en conflit les unes avec les autres. On supprime ces règles contradictoires et cela fonctionne à nouveau.

Échec de la recherche temporaire (Code : 451)

Si vous rencontrez cette erreur lorsque vous essayez d’envoyer un e-mail dans Roundcube, il s’agit probablement d’un problème avec votre configuration Postfix. Par exemple, certaines personnes peuvent avoir l’erreur suivante dans le fichier /var/log/mail.log .

warning: connect to pgsql server localhost: connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "postfixadmin"?connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "postfixadmin"?

Cela signifie que votre authentification par mot de passe pour la base de données Postfixadmin ne fonctionne pas.

Comment mettre à jour Roundcube

C’est très simple. Par exemple, voici comment passer à Roundcube 1.5.3 après sa sortie.

Téléchargez la dernière version de Roundcube dans votre répertoire personnel.

cd ~

wget https://github.com/roundcube/roundcubemail/releases/download/1.6.2/roundcubemail-1.6.2-complete.tar.gz

Extraire l’archive.

tar xvf roundcubemail-1.6.2-complete.tar.gz

Remplacez le propriétaire par www-data.

sudo chown www-data:www-data roundcubemail-1.6.2/ -R

Exécutez ensuite le script d’installation.

sudo roundcubemail-1.6.2/bin/installto.sh /var/www/roundcube/

Une fois que c’est fait, connectez-vous au webmail Roundcube et cliquez sur le bouton À propos pour vérifier quelle version de Rouncube vous utilisez.


Étape 8 : 7 conseils efficaces pour empêcher vos e-mails d’être marqués comme spam

-> Retour au sommaire

Dans les articles précédents, nous avons expliqué comment configurer facilement votre propre serveur de messagerie . Cependant, de nombreuses personnes ne peuvent pas envoyer leurs e-mails dans la boîte de réception de Gmail, Hotmail ou Yahoo mail, malgré un score de 10/10 sur mail-tester.com. Dans cet article, nous allons vous montrer tous les conseils que nous avons qui peuvent faire sortir votre e-mail du dossier spam des destinataires.

Remarque : Cet article est destiné aux expéditeurs d’e-mails légitimes et non aux spammeurs. Si vous envoyez du spam, votre e-mail finira par être placé dans le dossier spam, quels que soient vos efforts.

Il existe 6 types de messages électroniques :

Tout d’abord, vous devez comprendre quel type d’e-mail vous envoyez. Pour les besoins de cet article, on va diviser les messages électroniques en 6 catégories :

Les e-mails personnels sont généralement envoyés par une personne à ses amis, aux membres de sa famille, à ses collègues, etc. Il n’y a souvent qu’un seul destinataire.

Les e-mails transactionnels sont envoyés à partir de sites Web ou d’applications Web à leurs utilisateurs. Par exemple, un visiteur reçoit un e-mail après avoir créé un compte sur un site Web ou demande la réinitialisation du mot de passe. Il n’y a qu’un seul destinataire par email.

Marketing email/newsletter is sent by website owners to their subscribers to inform them about new blog posts, webinars, or promote products and services. There are many recipients per email. A subscriber can only reply to the list owner, but can not send emails to other subscribers.

Les e-mails de discussion de groupe sont couramment rencontrés dans le développement de logiciels open source à l’aide du logiciel de liste de diffusion Mailmain. Par exemple, la liste de diffusion du noyau Linux permet à ses abonnés de discuter du développement du noyau Linux. Un abonné peut envoyer un e-mail à tous les autres abonnés de la liste de diffusion.

Les e-mails froids et les spams sont tous deux des e-mails non sollicités. La différence est que les e-mails froids sont souvent destinés à un groupe spécifique de personnes pour vendre un service et l’expéditeur fournira un véritable service si le destinataire répond. Les spams sont envoyés à des personnes aléatoires et ce sont souvent des escroqueries.

Les spammeurs refusent toujours d’admettre qu’ils envoient du spam. La définition technique du spam est celle des e-mails en masse non sollicités. Si vous envoyez des e-mails en masse à des personnes qui ne vous ont jamais autorisé à envoyer des e-mails, vous êtes un spammeur aux yeux des fournisseurs de boîtes aux lettres. Certaines personnes utilisent plusieurs domaines pour envoyer des e-mails en masse. Il est très probable qu’il s’agisse de spammeurs, car les expéditeurs légitimes d’e-mails n’ont pas besoin d’utiliser plusieurs domaines.

Les trois grands fournisseurs d’adresse e-mail :

Les fournisseurs de boîtes aux lettres sont également appelés fournisseurs de services de boîte de réception. Parfois, les gens les appellent ISP (Internet Service Provider). En fait, les fournisseurs de haut débit et les hébergeurs peuvent également être appelés FAI. Les fournisseurs de messagerie les plus utilisés sont :

3 facteurs de délivrabilité des e-mails :

Il existe principalement 3 facteurs que les fournisseurs de boîtes aux lettres examinent lorsqu’ils décident si votre e-mail est un spam ou non.

Nous vous donnerons des astuces pour sortir du dossier spam, en respectant ces 3 facteurs. Notez qu’il faut du temps pour améliorer la réputation de votre adresse IP et de votre domaine, alors soyez patient.

Conseil n° 1 : Configurez l’authentification par e-mail et obtenez une note de 10/10

Cela concerne la conformité aux normes de messagerie électronique. Les spammeurs ne se conforment souvent pas aux normes de messagerie. Configuration de l’authentification des e-mails (enregistrements PTR, SPF, DKIM, DMARC) pour votre serveur de messagerie et obtention d’une note de 10/10 mail-tester.com augmentera considérablement les chances que votre e-mail atterrisse dans la boîte de réception.

Si vos enregistrements SPF, DKIM et DMARC sont cassés, les fournisseurs de boîtes aux lettres ne peuvent pas vérifier que l’e-mail provient réellement de votre domaine. Il est très probable que votre e-mail sera placé dans le dossier spam. Même s’il est placé dans le dossier de la boîte de réception, il est courant que les fournisseurs de boîtes aux lettres affichent un avertissement aux destinataires comme ci-dessous, il est donc très important de passer la vérification SPF, DKIM et DMARC.

Conseil n° 2 : utilisez le service de relais SMTP

Si votre serveur de messagerie n’a jamais envoyé d’e-mails auparavant, votre adresse IP n’a pas de réputation (bonne ou mauvaise) et les principaux fournisseurs de boîtes aux lettres sont plus susceptibles de placer votre e-mail dans le dossier spam. Ne pas être sur une liste noire ne signifie pas que votre adresse IP a une bonne réputation, et si un bloc d’adresses IP contient de très mauvais spammeurs, cela peut affecter d’autres personnes dans le voisinage de ce bloc IP.

Les services de relais SMTP maintiennent une bonne réputation IP. Ils arrêtent les mauvais expéditeurs et développent les bons, donc l’utilisation du service de relais SMTP augmentera les chances d’atteindre la boîte de réception.

Conseil n°3 : utilisez un hébergement VPS géré par le prestataire

Si vous souhaitez utiliser votre propre serveur plutôt que des services de relais SMTP pour envoyer des e-mails, il est très important d’avoir des adresses IP propres pour envoyer des e-mails en masse légitimes. Malheureusement, les grands fournisseurs de VPS bien connus comme DigitalOcean et Vultr sont abusés par les spammeurs, et ils abuseront de tous les fournisseurs de VPS qu’ils pourront trouver. Sachez qu’il existe deux types de VPS :

Au lieu d’utiliser un VPS autogéré, il est préférable d’utiliser un VPS géré pour faire fonctionner votre serveur de messagerie. En effet, le VPS géré est configuré par le personnel de support technique de la société d’hébergement et si le client envoie du spam, il sera arrêté très rapidement, de sorte que l’adresse IP du VPS géré ne sera pas mise sur liste noire.

Le VPS géré est légèrement plus cher que le VPS autogéré, mais il reste très bon marché par rapport aux services de relais SMTP et il est vraiment rentable si vous vous souciez d’envoyer des e-mails légitimes en masse.

Un VPS ‘géré’ c’est d’ailleurs ce que propose la plateforme Juris-Tyr à travers les abonnements proposé mais notre installation et gestion est orientée pour les cabinet d’avocats ou pour les entreprises délivrant principalement des prestations de services.

Astuce #4 : Ajoutez votre adresse IP à une liste blanche

dnswl.org est la liste blanche de messagerie publique la plus connue. Vous pouvez accéder à la page en libre-service et créer un compte sur le site Web, puis ajouter les informations de votre serveur de messagerie. Si vous êtes chanceux, l’adresse IP de votre serveur de messagerie peut être ajoutée à la liste blanche.

Après avoir créé un compte chez DNSWL, vous devez cliquer sur l’onglet DNSWL IDS pour créer un identifiant. Entrez votre nom de domaine et vérifiez la propriété du domaine. Ajoutez ensuite l’adresse IP de votre serveur de messagerie à votre ID DNSWL.

Votre adresse IP ne sera pas immédiatement ajoutée à votre ID DNSWL. Vos demandes de modification doivent être approuvées par les administrateurs DNSWL. Une fois approuvée, votre adresse IP apparaîtra dans votre ID DNSWL, ce qui signifie que l’adresse IP de votre serveur de messagerie est ajoutée à la liste blanche.

Remarque : Vous devez suivre les meilleures pratiques d’envoi d’e-mails et ne jamais envoyer de spam, sinon votre adresse IP sera supprimée de la liste blanche dnswl.org.

dnswl.org a 4 scores/fiabilité pour une adresse IP. Un score plus élevé est meilleur.

Les scores entre parenthèses sont les scores SpamAssassin qui seront appliqués à vos emails. Dans SpamAssassin, un score inférieur est meilleur.

Par défaut, votre adresse IP aura un score de 0 / aucun de fiabilité. Si vous utilisez ScalaHosting et suivez strictement les meilleures pratiques d’envoi d’e-mails décrites dans cet article, au fil du temps, votre adresse IP aura des scores/fiabilité plus élevés sur dnswl.org.

Vous pouvez vérifier votre score actuel à l’aide de la commande suivante, où 78.56.34.12 est la notation inverse de votre adresse IP.

host 78.56.34.12.list.dnswl.org

Par exemple, l’adresse IP de notre serveur de messagerie est 130.51.180.110, on exécute donc la commande suivante pour vérifier le score actuel.

host 110.180.51.130.list.dnswl.org

Le dernier chiffre de l’adresse retournée est le score dnswl. Comme vous pouvez le constater, notre score DNSW est 1.

Il n’est pas facile d’obtenir un score de 2 ou 3 sur dnswl.org. Vous aurez besoin d’années d’expérience pour y parvenir.

Conseil n° 5 : Configurez un site Web et créez des signaux d’engagement positifs

La réputation du nom de domaine est le facteur ultime qui influence les décisions des fournisseurs de boîtes aux lettres. Si votre nom de domaine jouit d’une grande réputation parmi les fournisseurs de boîtes aux lettres, vos e-mails atterriront dans la boîte de réception du destinataire, même si vous ne respectez pas strictement les normes de messagerie ou si votre adresse IP a mauvaise réputation.

Remarque : on ne suggère pas que vous devriez ignorer la construction d’une réputation IP élevée. C’est quand même important.

Les outils Gmail postmaster montrent que le nom de domaine linuxbabe.com a une excellente réputation.

Si vous avez un nouveau nom de domaine ou si vous n’avez jamais envoyé d’e-mails depuis votre nom de domaine, les grands fournisseurs de messagerie ne vous connaissent pas. Votre nom de domaine n’a aucune réputation (bonne ou mauvaise). Alors, comment faites-vous pour améliorer la réputation de votre nom de domaine ?

Il y a principalement deux éléments liés à la réputation de votre nom de domaine : la qualité du site Web et l’engagement des destinataires d’e-mails.

Qualité du site Web :

Premièrement, votre site Web peut affecter la réputation de votre nom de domaine. Ce qui suit réduira votre score de réputation.

Et les éléments suivants augmenteront votre score de réputation.

Engagement du destinataire de l’e-mail :

L’autre facteur plus important qui peut affecter la réputation de votre domaine est l’engagement des destinataires avec vos e-mails. Plus l’engagement est positif, plus la réputation de votre nom de domaine sera élevée. L’engagement positif comprend :

-L’ouverture de votre messagerie.
-En cliquant sur les liens dans votre e-mail.
-Réponse à votre e-mail.
-Ajout de votre adresse e-mail à la liste de contacts (signal d’engagement très positif)
-Déplacer votre e-mail du dossier spam vers la boîte de réception (signal d’engagement très positif)

L’engagement négatif comprend le faite de :
-Supprimer votre e-mail sans l’ouvrir.
-Cliquersur le lien de désabonnement dans votre e-mail.
-Signaler votre e-mail comme spam (signal d’engagement très négatif)

Mais vous pouvez vous demander : si mon e-mail ne parvient pas à entrer dans la boîte de réception, comment puis-je créer un engagement positif ?
Eh bien, il existe différentes manières pour différents expéditeurs d’e-mails.
On divise les expéditeurs d’e-mails en deux groupes.
-Ceux qui envoient des emails transactionnels
-Ceux qui n’envoient pas d’emails transactionnels

Si vous envoyez un e-mail transactionnel :

Si vous envoyez un e-mail transactionnel, il est très facile d’avoir un engagement positif avec le destinataire, car le destinataire s’attend à ce que vous lui envoyiez un e-mail. Sur votre site Web, vous pouvez dire au destinataire de vérifier le dossier spam et de marquer votre e-mail comme non spam. Ils sont beaucoup plus susceptibles d’ouvrir votre e-mail et de cliquer sur des liens dans l’e-mail. Au fil du temps, votre e-mail atterrira automatiquement dans la boîte de réception.
Notez que l’e-mail de confirmation d’inscription à la liste de diffusion est un e-mail transactionnel, donc si vous avez un formulaire d’inscription à la newsletter sur votre site Web, vous pouvez également dire au destinataire de vérifier le dossier spam et d’ajouter votre adresse e-mail à la liste de contacts. Les destinataires sont très susceptibles de cliquer sur le lien de confirmation dans l’e-mail.

Si vous n’envoyez pas d’e-mail transactionnel :

Si vous utilisez un serveur de messagerie auto-hébergé pour un usage personnel uniquement, il vous est plus difficile de créer l’engagement positif initial, mais vous pouvez :

ENfin, vous pouvez utiliser un service d’échauffement par e-mail pour améliorer automatiquement votre réputation !

Si vous envoyez des e-mails froids, vous devez faire très attention à la manière dont vous approchez vos destinataires. Ils ne vous ont pas demandé votre e-mail et si vous leur envoyez encore et encore des e-mails, ils sont très susceptibles de signaler votre e-mail comme spam. Ne soyez pas insistant. Si le destinataire ne répond pas après 2 ou 3 e-mails, arrêtez de lui envoyer des e-mails.


Astuce #6 : Ne changez pas le nom d’hôte de votre serveur de messagerie ou le nom de domaine initial

Si vous modifiez une seule lettre dans le sous-domaine, les filtres de messagerie des fournisseurs de messagerie vous traiteront différemment et vous perdrez la réputation de domaine que vous avez bâtie. Les sous-domaines héritent d’une partie de la réputation de votre domaine apex (un domaine qui ne contient pas de sous-domaine), mais pas de la totalité. Chaque sous-domaine a sa propre réputation. Notez que chaque adresse e-mail d’un même nom de domaine a également sa propre réputation.

Astuce #7 : N’envoyez jamais de spam

Enfin et surtout, vous ne devez jamais envoyer de spam. Si vous envoyez du spam, votre e-mail finira par être placé dans le dossier spam et même carrément rejeté, quels que soient vos efforts. Et l’adresse IP de votre serveur sera sur liste noire. La réputation de votre domaine sera également endommagée. Certaines personnes ne savent pas qu’elles envoient du spam alors qu’elles le font réellement.

Le spam est également connu sous le nom d’e-mails en masse non sollicités. Ce sont deux conditions pour le spam.

Un exemple d’e-mail en masse légitime est lorsque vous utilisez un formulaire de double opt-in sur votre site Web pour créer une liste de diffusion. Le visiteur devra cliquer sur le lien de confirmation pour s’inscrire à votre liste de diffusion.


Conseils pour les expéditeurs d’e-mails de newsletter/marketing :

Outre les conseils généraux ci-dessus, voici quelques conseils spécifiques pour les expéditeurs d’e-mails de newsletter/marketing.

Assurez-vous que le destinataire vous a autorisé à envoyer un e-mail. Utilisez le double opt-in pour vérifier l’adresse e-mail de l’abonné. Si vous ne le faites pas, il y a de fortes chances que vous rencontriez un problème de livraison des e-mails. Vous ne devez pas acheter la liste de diffusion d’un tiers.

Un taux de rebond élevé (> 5%) peut nuire à votre réputation d’expéditeur. Vous pouvez utiliser un outil de vérification d’adresse e-mail en masse comme Truemail ou Abstract API pour supprimer les adresses e-mail non livrables de votre liste.

Si vous modifiez l’adresse IP de votre serveur de messagerie ou si vous utilisez un nouveau sous-domaine, vous devez y aller progressivement avec votre adresse IP/sous-domaine. Par exemple, envoyez 100 e-mails le jour 1, puis envoyez 500 e-mails le jour 2, envoyez 1 000 e-mails le jour 3. N’envoyez pas d’e-mails à des milliers de personnes immédiatement.

Envoyez les e-mails que les destinataires souhaitent réellement.
Indiquez vos coordonnées et votre adresse postale au bas du message électronique.
Personnalisez le message électronique autant que possible. Par exemple, incluez le prénom du destinataire dans le corps de l’e-mail et segmentez votre liste en fonction du sexe, de l’âge, des intérêts, du pays, etc. de l’abonné.
Évitez les pièces jointes volumineuses.
Nettoyez votre liste de diffusion. Par exemple, supprimez les abonnés au courrier électronique qui n’ont pas ouvert votre courrier électronique au cours des 60 derniers jours. Ceci est généralement appelé politique de temporisation des e-mails. Les abonnés non engagés ne vous rapporteront pas d’argent et nuiront à la réputation de votre domaine.
Testez le placement de votre e-mail avec GlockApps avant d’envoyer.
Soyez cohérent dans votre fréquence d’envoi. Si vous envoyez des e-mails à vos abonnés au cours du premier mois, mais que vous arrêtez d’envoyer des e-mails au cours des 6 mois suivants, vos abonnés ne se souviendront pas de vous et les fournisseurs de messagerie mettront probablement votre e-mail dans le dossier spam.
Gardez votre taux d’ouverture supérieur à 20 % et votre taux de spam inférieur à 1 %. Vous pouvez vérifier le taux de spam dans Gmail Postmaster Tools.
Si vous envoyez des newsletters/e-mails marketing, vos e-mails sont susceptibles d’atterrir dans l’onglet Promotions de Gmail. Une façon d’accéder à l’onglet principal consiste à n’utiliser que du texte brut dans votre e-mail.
Ne supprimez pas l’en-tête List-Unsubscribe de votre e-mail. L’en-tête List-Unsubscribe est obligatoire si vous envoyez des newsletters. Il permet à l’utilisateur de se désabonner facilement de votre liste de diffusion. Lorsqu’une personne souhaite se désinscrire, vous ne devez pas l’empêcher de le faire.

Parfois, les fournisseurs de boîtes aux lettres cesseraient temporairement d’accepter votre e-mail de newsletter. Ne pas paniquer. Ils veulent juste savoir si vous envoyez des spams, en examinant le comportement des utilisateurs avec vos e-mails déjà envoyés. S’ils décident que vous n’êtes pas un spammeur, le reste de votre e-mail sera accepté. Ce délai peut aller jusqu’à 24 heures.

Vos e-mails ne seront pas placés dans les boîtes de réception de tous les destinataires. Certains d’entre eux seront probablement placés dans le dossier spam. Cela dépend de la façon dont le destinataire spécifique interagit avec vos e-mails précédents. Il est donc important que vous entreteniez une bonne relation avec chaque abonné de la liste de diffusion.

Soyez prudent avec les mots tendancieux dans les e-mails comme « perte de poids », « gagner de l’argent », etc. En règle générale, vous ne devez pas les utiliser dans votre e-mail à moins d’avoir établi une bonne réputation de domaine et d’avoir un bon engagement avec vos destinataires auparavant.

N’abusez pas des majuscules, des caractères gras et des surlignages dans votre e-mail. Ce sont des techniques courantes utilisées par les spammeurs pour attirer l’attention du destinataire.

N’envoyez pas d’e-mails en masse trop rapidement. L’envoi de 10 000 e-mails à la fois déclenche des alarmes partout. La vitesse de livraison par défaut du serveur SMTP de Postfix est trop rapide si vous envoyez un e-mail à 10 000 abonnés. Ajoutez default_destination_rate_delay = 2s et default_destination_recipient_limit = 50 dans votre fichier de configuration Postfix pour le ralentir un peu. Envisagez également de déployer plusieurs serveurs SMTP lorsque vous avez plus de 10 000 abonnés à la messagerie, afin qu’une campagne d’e-mails en masse puisse être répartie sur les serveurs SMTP.

La réparation d’une réputation de domaine endommagée peut prendre du temps, mais il est facile d’améliorer la réputation d’un nouveau domaine ou sous-domaine qui n’a jamais envoyé d’e-mails. Si vous avez une réputation élevée sur le domaine principal, vous n’avez pas besoin d’utiliser des sous-domaines. Si la réputation de votre domaine est endommagée, vous pouvez essayer d’utiliser un nouveau sous-domaine comme adresse De : pour envoyer des e-mails.


Limitation du débit SMTP :

Nous pouvons utiliser un service de stratégie Postfix appelé policyd-rate-limit.

sudo apt install policyd-rate-limit

Modifiez le fichier de configuration.

sudo nano /etc/policyd-rate-limit.yaml

Trouvez les lignes suivantes.

limits:
    - [10, 60] # limit to 10 mails by minutes
    - [150, 86400] # limits to 150 mails by days

Les limites par défaut sont trop restrictives. On utilise le paramètre suivant, donc notre serveur SMTP Postfix peut envoyer jusqu’à 20 000 e-mails par heure.

limits:
    - [333, 60] # limit to 333 mails per minute

Recherchez également les deux lignes suivantes.

limit_by_sender: False
limit_by_ip: False

Et changez la valeur en True.

limit_by_sender: True
limit_by_ip: True

Enregistrez et fermez le fichier. Ensuite, modifiez le fichier utils.py.

sudo nano /usr/lib/python3/dist-packages/policyd_rate_limit/utils.py

Trouvez la ligne suivante. (Ligne 88)

self._config = yaml.load(f)

Dans Python 3, l’appel de la fonction yaml.load() sans Loader=… est obsolète, nous devons donc le remplacer par :

self._config = yaml.load(f, Loader=yaml.SafeLoader)

Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Dites à Postfix d’utiliser le service de limitation de débit avec le paramètre suivant. Le check_policy_service devrait être la première restriction.

smtpd_recipient_restrictions =
    check_policy_service { unix:ratelimit/policy, default_action=DUNNO },
    permit_mynetworks,
    permit_sasl_authenticated,
    ...
    ...

Enregistrez et fermez le fichier. Modifiez ensuite le fichier Postfix master.cf.

sudo nano /etc/postfix/master.cf

Recherchez la section soumission et smtps . Changez :

-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

en :

-o smtpd_sender_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

Enregistrez et fermez le fichier. Redémarrez ensuite Postfix et le serveur de politique.

sudo systemctl restart postfix policyd-rate-limit

Envoyez maintenant un e-mail de test à partir de votre client de messagerie et vérifiez le journal du policy-rate-limit.

sudo journalctl -eu policyd-rate-limit

Si tout fonctionne, vous devriez voir que policd-rate-limit a trouvé le sasl_username et insère un identifiant pour le sasl_username.

Taux de spam Gmail contre taux de placement de dossiers de spam :

Le taux de spam Gmail correspond au pourcentage d’e-mails marqués comme spam par les utilisateurs par rapport aux e-mails envoyés dans la boîte de réception des utilisateurs actifs.

Gmail spam rate = le nombre d’e-mails marqués comme spam par les utilisateurs / le nombre d’e-mails qui atterrissent dans le dossier Boîte de réception

Spam folder placement rate = le nombre d’e-mails qui atterrissent dans le dossier spam / le nombre total d’e-mails envoyés aux utilisateurs

Le taux de spam Gmail est le meilleur outil pour évaluer l’engagement des utilisateurs. Si le taux de spam de Gmail est faible (moins de 1 %), la réputation de votre domaine augmentera automatiquement. S’il est élevé comme 4%, la réputation de votre domaine diminuera. Les spammeurs ont des taux de spam horribles (6 % ~ 20 %), comme le montre la capture d’écran suivante.

Données sur le taux de spam pour la campagne de courrier électronique d’un spammeur

Si vous êtes un spammeur, veuillez arrêter. Vous n’obtiendrez jamais de bons résultats et vous tomberez probablement en dépression.


Étape 9 : Configurer Amavis et ClamAV sur le serveur de messagerie (facultatif)

-> Retour au sommaire

Amavis (A Mail Virus Scanner) est une interface hautes performances entre un agent de transfert de messages (MTA) tel que Postfix et des filtres de contenu. Un filtre de contenu est un programme qui analyse les en-têtes et le corps d’un message électronique et prend généralement des mesures en fonction de ce qu’il trouve. Les exemples les plus courants sont le scanner de virus ClamAV et SpamAssassin.

Amavis parle le protocole SMTP standard et peut également utiliser l’interface Sendmail milter. Il est couramment utilisé pour

Conditions préalables :

Vous devez avoir terminé au moins l’étape 1 (serveur SMTP Postfix) et l’étape 2 (serveur Dovecot IMAP) de la série de tutoriel.

Attention : Amavis et ClamAV nécessitent une bonne quantité de RAM. Assurez-vous d’avoir au moins 1,3 Go de RAM libre sur votre serveur avant d’installer Amavis et ClamAV. L’ensemble de la pile de serveurs de messagerie (Postfix, Dovecot, Amavis, ClamAV, SpamAssassin, OpenDKIM, MySQL/MariaDB, PostfixAdmin et Roundcube Webmail) nécessite au moins 3 Go de RAM pour fonctionner correctement. Si votre RAM est épuisée, vous allez avoir des problèmes comme le serveur de messagerie qui se déconnecte ou ne répond pas.

Étape 9.1 : Installer Amavis sur Ubuntu

Amvis est disponible à partir du référentiel Ubuntu par défaut, exécutez donc la commande suivante pour l’installer.

sudo apt install amavisd-new -y

Une fois installé, il démarre automatiquement. Vous pouvez vérifier son état avec :

systemctl status amavis

Sortie :

● amavis.service - LSB: Starts amavisd-new mailfilter
     Loaded: loaded (/etc/init.d/amavis; generated)
     Active: active (running) since Fri 2020-08-07 15:43:40 HKT; 1min 1s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 3 (limit: 9451)
     Memory: 75.4M
     CGroup: /system.slice/amavis.service
             ├─1794260 /usr/sbin/amavisd-new (master)
             ├─1794263 /usr/sbin/amavisd-new (virgin child)
             └─1794264 /usr/sbin/amavisd-new (virgin child)

S’il ne fonctionne pas, vous pouvez le démarrer avec :

sudo systemctl start amavis

Activer le démarrage automatique au démarrage.

sudo systemctl enable amavis

Par défaut, il écoute sur 127.0.0.1:10024, comme on peut le voir avec :

sudo netstat -lnpt | grep amavis

Et il s’exécute en tant qu’utilisateur amavis. Pour vérifier le numéro de version, exécutez

amavisd-new -V

Sortie :

amavisd-new-2.11.0 (20160426)

Pour vérifier les journaux d’Amavis, vous pouvez exécuter

sudo journalctl -eu amavis

Les virus se propagent généralement sous forme de pièces jointes aux messages électroniques. Installez les packages suivants pour Amavis afin d’extraire et d’analyser les fichiers d’archive dans les e-mails tels que .7z, .cab, .doc, .exe, .iso, .jar et .rar.

sudo apt install arj bzip2 cabextract cpio rpm2cpio file gzip lhasa nomarch pax rar unrar p7zip-full unzip zip lrzip lzip liblz4-tool lzop unrar-free

Notez que si votre serveur n’utilise pas un nom de domaine complet (FQDN) comme nom d’hôte, Amavis peut ne pas démarrer. Et le nom d’hôte du système d’exploitation peut changer, il est donc recommandé de définir un nom d’hôte valide directement dans le fichier de configuration Amavis.

sudo nano /etc/amavis/conf.d/05-node_id

Trouvez la ligne suivante.

#$myhostname = "mail.example.com";

Supprimez le caractère de commentaire (#) et remplacez mail.example.com par votre véritable nom d’hôte (mail.exemple.com).

$myhostname = "mail.exemple.com";

Enregistrez et fermez le fichier. Redémarrez Amavis pour que les modifications prennent effet.

sudo systemctl restart amavis

Étape 9.2 : Intégrer le serveur SMTP Postfix avec Amavis

Amavisfonctionne comme un proxy SMTP. Le courrier électronique lui est acheminé via SMTP, traité et renvoyé au MTA via une nouvelle connexion SMTP.

Modifiez le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin du fichier. Cela indique à Postfix d’activer le filtrage de contenu en envoyant chaque e-mail entrant à Amavis, qui écoute sur 127.0.0.1:10024.

content_filter = smtp-amavis:[127.0.0.1]:10024

Ajoutez également la ligne suivante.

smtpd_proxy_options = speed_adjust

Cela retardera la connexion de Postfix au filtre de contenu jusqu’à ce que l’intégralité de l’e-mail ait été reçue, ce qui peut empêcher les filtres de contenu de faire perdre du temps et des ressources aux clients SMTP lents.

Enregistrez et fermez le fichier. Modifiez ensuite le fichier master.cf.

sudo nano /etc/postfix/master.cf

Ajoutez les lignes suivantes à la fin du fichier. Cela indique à Postfix d’utiliser un composant client SMTP spécial appelé smtp-amavis pour envoyer les messages électroniques à Amavis. Veuillez autoriser au moins un caractère d’espacement (tabulation ou barre d’espace) avant chaque -o. Dans les configurations postfixées, un caractère d’espacement précédent signifie que cette ligne est la continuation de la ligne précédente.

smtp-amavis   unix   -   -   n   -   2   smtp
    -o syslog_name=postfix/amavis
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20
    -o smtp_tls_security_level=none

Ajoutez ensuite les lignes suivantes à la fin du fichier. Cela indique à Postfix d’exécuter un service smtpd supplémentaire en écoutant 127.0.0.1:10025 pour recevoir les messages électroniques d’Amavis.

127.0.0.1:10025   inet   n    -     n     -     -    smtpd
    -o syslog_name=postfix/10025
    -o content_filter=
    -o mynetworks_style=host
    -o mynetworks=127.0.0.0/8
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o strict_rfc821_envelopes=yes
    -o smtp_tls_security_level=none
    -o smtpd_tls_security_level=none
    -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_end_of_data_restrictions=
    -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,no_address_mappings

Enregistrez et fermez le fichier. Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Étape 9.3 : Intégrer Amavis à ClamAV

Maintenant que Postfix peut transmettre les e-mails entrants à Amavis, nous devons installer le scanner de virus ClamAV et l’intégrer à Amavis, afin que les e-mails entrants puissent être analysés par ClamAV.

Installez ClamAV sur Ubuntu.

sudo apt install clamav clamav-daemon

Il y aura deux services systemd installés par ClamAV :

Tout d’abord, vérifiez l’état de clamav-freshclam.service.

systemctl status clamav-freshclam

Comme vous pouvez le voir, il est actif (en cours d’exécution) et utilise 217,6 Mo de RAM sur le serveur de messagerie. Vérifiez ensuite le journal/journal.

sudo journalctl -eu clamav-freshclam

Sortie :

Astuce : si la commande ci-dessus ne se ferme pas immédiatement, appuyez sur la touche Q pour la faire quitter.

Nous pouvons voir que freshclam a téléchargé 3 bases de données virales. CVD signifie ClamAV Virus Database.

Cependant, clamd n’a pas été averti car freshclam ne peut pas se connecter à clamd via /var/run/clamav/clamd.ctl. Vérifiez l’état de clamav-daemon.service.

systemctl status clamav-daemon

Sortie :

Comme vous pouvez le voir, il n’a pas pu démarrer car une condition n’était pas remplie. Dans le fichier /lib/systemd/system/clamav-daemon.service , il y a deux conditions :

ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}
ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}

Le clamav-daemon.service n’a pas pu démarrer car main.cvd et daily.cvd n’ont pas encore été téléchargés au démarrage. Il nous suffit donc de redémarrer ce service.

sudo systemctl restart clamav-daemon

Maintenant, il devrait fonctionner. Au fait, il utilise 731,4 Mo de RAM sur notre serveur de messagerie. Si votre serveur de messagerie ne dispose pas de suffisamment de RAM, le service échouera.

systemctl status clamav-daemon.service

Le clamav-freshclam.service vérifiera les mises à jour de la base de données virale ClamAV une fois par heure.

Nous devons maintenant activer la vérification des virus dans Amavis.

sudo nano /etc/amavis/conf.d/15-content_filter_mode

Décommentez les lignes suivantes pour activer la vérification antivirus.

#@bypass_virus_checks_maps = (
# \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

Enregistrez et fermez le fichier. Le fichier /etc/amavis/conf.d/15-av_scanners contient de nombreux analyseurs antivirus. ClamAV est la valeur par défaut. Amavis appellera ClamAV via le socket Unix /var/run/clamav/clamd.ctl. Nous devons ajouter l’utilisateur clamav au groupe amavis.

sudo adduser clamav amavis

Redémarrez ensuite les démons Amavis et ClamAV pour que les modifications prennent effet.

sudo systemctl restart amavis clamav-daemon

Vérifiez les journaux.

sudo journalctl -eu amavis

Vous pouvez voir qu’Amavis utilise maintenant ClamAV pour analyser les virus.

Aug 08 17:26:19 mail.linuxbabe.com amavis[1233432]: Using primary internal av scanner code for ClamAV-clamd
Aug 08 17:26:19 mail.linuxbabe.com amavis[1233432]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan

Maintenant, si vous envoyez un e-mail à partir d’autres serveurs de messagerie comme Gmail à votre propre serveur de messagerie et vérifiez les en-têtes d’e-mail, vous pouvez trouver une ligne comme ci-dessous, qui indique que cet e-mail a été scanné par Amavis.

X-Virus-Scanned: Debian amavisd-new at linuxbabe.com

Vous devriez également vérifier le journal de messagerie (/var/log/mail.log) pour trouver s’il y a des erreurs.

Étape 9.4 : Utilisez un port dédié pour les soumissions par e-mail

ClamAV peut désormais analyser les e-mails entrants et sortants. Amavis écoute sur le port 10024 les messages électroniques entrants et sortants. Cependant, il est recommandé d’utiliser un port différent, tel que 10026, pour les envois par e-mail d’utilisateurs authentifiés. Modifiez le fichier de configuration Amavis.

sudo nano /etc/amavis/conf.d/50-user

Les paramètres personnalisés doivent être ajoutés entre use strict ; et 1; doubler. Par défaut, Amavis n’écoute que sur le port 10024. Ajoutez la ligne suivante pour qu’il écoute également sur le port 10026.

$inet_socket_port = [10024,10026];

Ajoutez ensuite la ligne suivante, qui définit la stratégie « ORIGINATING » pour le port 10026.

$interface_policy{'10026'} = 'ORIGINATING';

Ensuite, ajoutez les lignes suivantes, qui définissent la politique « ORIGINATING ».

$policy_bank{'ORIGINATING'} = {  # mail supposedly originating from our users
  originating => 1,  # declare that mail was submitted by our smtp client
  allow_disclaimers => 1,  # enables disclaimer insertion if available

  # notify administrator of locally originating malware
  virus_admin_maps => ["virusalert\@$mydomain"],
  spam_admin_maps  => ["virusalert\@$mydomain"],
  warnbadhsender   => 1,

  # force MTA conversion to 7-bit (e.g. before DKIM signing)
  smtpd_discard_ehlo_keywords => ['8BITMIME'],
  bypass_banned_checks_maps => [1],  # allow sending any file names and types
  terminate_dsn_on_notify_success => 0,  # don't remove NOTIFY=SUCCESS option
  $undecipherable_subject_tag = '***Encrypted Message***',
};

Enregistrez et fermez le fichier. Redémarrez Amavis.

sudo systemctl restart amavis

Vérifiez son état pour voir si le redémarrage a réussi.

systemctl status amavis

Ensuite, éditez le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/master.cf

Ajoutez la ligne suivante au service de soumission, afin que les e-mails des clients SMTP authentifiés soient transmis à Amavis écoutant sur le port 10026. Cette ligne remplacera (-o) le paramètre content_filter dans le fichier /etc/postfix/main.cf que nous avons ajouté dans étape 2.

 -o content_filter=smtp-amavis:[127.0.0.1]:10026

Comme ça:

Si vous avez activé le service smtps pour les utilisateurs de Microsoft Outlook, vous devez également ajouter cette ligne au service smtps.

Enregistrez et fermez le fichier. Redémarrez Postfix pour que les modifications prennent effet.

sudo systemctl restart postfix

Vérifiez son état pour voir si le redémarrage a réussi.

systemctl status postfix

Étape 9.5 : Recevoir une alerte de virus

Vous devez créer une adresse e-mail virusalert@votre-domaine.com pour recevoir les alertes de virus de ClamAV. Notez que vous devez créer une véritable adresse e-mail au lieu de créer un alias. ClamAV contournera Postfix et soumettra les e-mails d’alerte directement à Dovecot, qui n’est pas configuré pour interroger les alias dans la base de données PostfixAdmin.

Filtrage anti-spam dans Amavis :

Remarque : Si vous avez installé ou suivi ce tutoriel SpamAssassin , vous n’avez pas besoin d’activer la vérification des spams dans Amavis. Si vous l’activez, chaque email sera vérifié deux fois par SpamAssassin.

Pour activer la vérification des spams dans Amavis, installez SpamAssassin et les packages associés.

sudo apt install spamassassin libnet-dns-perl libmail-spf-perl pyzor razor

Modifier le fichier de configuration Amavis.

sudo nano /etc/amavis/conf.d/15-content_filter_mode

Décommentez les lignes suivantes pour activer la vérification anti-spam.

#@bypass_spam_checks_maps = (
#   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Enregistrez et fermez le fichier. Redémarrez ensuite Amavis.

sudo systemctl restart amavis
DKIM via Amavis:

OpenDKIM et Amavis sont deux logiciels courants capables de signer et de vérifier DKIM sous Linux. Nous préférons utiliser OpenDKIM parce que ça fonctionne mieux avec OpenDMARC. Nous n’expliquerons donc pas comment signer votre e-mail avec DKIM dans Amavis.

Par défaut, Amavis peut vérifier la signature DKIM des messages électroniques entrants. Si vous avez OpenDKIM en cours d’exécution sur votre serveur de messagerie, vous pouvez désactiver la vérification DKIM dans Amavis.

sudo nano /etc/amavis/conf.d/21-ubuntu_defaults

Recherchez la ligne suivante et remplacez 1 par 0, afin qu’Amavis ne vérifie pas les signatures DKIM.

$enable_dkim_verification = 1;

Enregistrez et fermez le fichier. Redémarrez ensuite Amavis.

sudo systemctl restart amavis

Lors de la réception d’e-mails entrants, Postfix appellera OpenDKIM via l’interface sendmail milter pour vérifier les signatures DKIM, puis transmettra l’e-mail à Amavis pour la vérification des virus. Lors de l’envoi d’e-mails sortants, Postfix appellera OpenDKIM pour signer les e-mails, puis les transmettra à Amavis pour la vérification des virus.

Améliorer les performances d’Amavis :

Par défaut, Amavis exécute 2 processus. Si vous voyez les lignes suivantes dans le journal de messagerie (/var/log/mail.log), cela signifie qu’Amavis ne peut pas traiter les e-mails assez rapidement.

postfix/qmgr[1619188]: warning: mail for [127.0.0.1]:10024 is using up 4001 of 4008 active queue entries
postfix/qmgr[1619188]: warning: you may need to reduce smtp-amavis connect and helo timeouts
postfix/qmgr[1619188]: warning: so that Postfix quickly skips unavailable hosts
postfix/qmgr[1619188]: warning: you may need to increase the main.cf minimal_backoff_time and maximal_backoff_time
postfix/qmgr[1619188]: warning: so that Postfix wastes less time on undeliverable mail
mail postfix/qmgr[1619188]: warning: you may need to increase the master.cf smtp-amavis process limit
mail postfix/qmgr[1619188]: warning: please avoid flushing the whole queue when you have
mail postfix/qmgr[1619188]: warning: lots of deferred mail, that is bad for performance

Pour améliorer les performances, modifiez le fichier de configuration Amavis.

sudo nano /etc/amavis/conf.d/50-user

Ajoutez la ligne suivante dans le fichier entre use strict ; et 1; doubler. Cela obligera Amavis à exécuter 4 processus. Si vous avez 10 cœurs de processeur, vous pouvez passer de 4 à 10. Notez que l’exécution de plus de 10 processus Amavis a peu d’effet sur les performances.

$max_servers = 4;

Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration maître Postifx.

sudo nano /etc/postfix/master.cf

Recherchez la définition de service smtp-amavis et modifiez la limite de processus de 2 à 4.

smtp-amavis   unix   -   -   n   -   4   smtp
    -o syslog_name=postfix/amavis
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20
    -o smtp_tls_security_level=none

Enregistrez et fermez le fichier. Redémarrez ensuite Amavis et Postfix pour que les modifications prennent effet.

sudo systemctl restart amavis postfix

Exécutez maintenant la commande suivante. Vous devriez voir qu’il y a maintenant 4 processus Amavis.

sudo amavisd-nanny

Appuyez sur Ctrl+C pour arrêter amavisd-nanny.

Ignorer la vérification des virus pour vos newsletters :

Si vous utilisez votre serveur de messagerie pour envoyer des newsletters et que vous activez Amavis et ClamAV, de nombreuses ressources CPU et RAM seront utilisées pour la vérification antivirus lorsque vous envoyez des newsletters à vos abonnés. Cela pourrait empêcher votre serveur de messagerie de répondre. Vous pouvez ignorer la vérification antivirus de vos newsletters en utilisant la méthode ci-dessous.

Edit the Postfix master configuration file.

sudo nano /etc/postfix/master.cf

Ajoutez les lignes suivantes au début de ce fichier. Cela activera smtpd sur le port 2525 de l’hôte local et pourra accepter les connexions client initiées à partir du même serveur. Si un autre processus écoute sur le port 2525, vous pouvez remplacer 127.0.0.1:2525 par autre chose, comme 127.0.0.1:2552. Notez que le paramètre content_filter est défini sur aucun, ce qui signifie que les e-mails ne seront pas analysés par ClamAV.

127.0.0.1:2525      inet  n       -       -       -       1       smtpd
  -o syslog_name=postfix/2525
  -o postscreen_greet_action=ignore
  -o content_filter=

Ajoutez ensuite les lignes suivantes à la fin de ce fichier. Remplacez 12.34.56.78 par l’adresse IP publique du serveur de messagerie. Cela créera un autre service de soumission Postfix écoutant sur le port 10587. Ceci est pour les connexions client d’un autre serveur.

12.34.56.78:10587     inet     n    -    y    -    -    smtpd
  -o syslog_name=postfix/10587
  -o smtpd_tls_security_level=encrypt
  -o smtpd_tls_wrappermode=no
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o content_filter=

Enregistrez et fermez le fichier. Ensuite, redémarrez postfix.

sudo systemctl restart postfix

Si votre application de newsletter s’exécute sur le serveur de messagerie, spécifiez 127.0.0.1:2525 comme hôte SMTP, sans authentification SMTP. Si votre application de newsletter s’exécute sur un autre serveur, spécifiez 12.34.56.78:10587 comme hôte SMTP, avec authentification SMTP.

Erreurs :

Si votre serveur SMTP Postfix ne peut pas envoyer d’e-mails sortants et que vous trouvez le message d’erreur suivant dans le journal de messagerie (/var/log/mail.log),

relay=none, delay=239, delays=239/0.04/0/0, dsn=4.3.0, status=deferred (server unavailable or unable to receive mail)

il se peut qu’amavis ne soit pas en cours d’exécution, vous devez donc vérifier son statut :

sudo systemctl status amavis

Vous pouvez le redémarrer avec :

sudo systemctl restart amavis

Une autre cause de cette erreur est que vous appliquez la connexion TLS pour Postfix lors de l’envoi d’e-mails sortants avec le paramètre suivant dans le fichier /etc/postfix/main.cf.

smtp_tls_security_level = enforce

Étant donné que Postfix ne peut pas établir de connexion TLS à Amavis, l’e-mail est donc différé. Vous devez utiliser le paramètre suivant.

smtp_tls_security_level = may

Redémarrez ensuite Postfix.


Utilisation de ClamAV pour analyser les virus pour le système de fichiers Linux

Bien que le sujet principal de cet article soit l’analyse antivirus des e-mails, puisque ClamAV est installé sur le serveur, pourquoi ne pas l’utiliser pour analyser les virus pour d’autres fichiers ?

Tout d’abord, éditez le fichier de configuration ClamAV.

sudo nano /etc/clamav/clamd.conf

Trouvez la ligne suivante :

MaxDirectoryRecursion 15

Les répertoires de profondeur maximale par défaut analysés par ClamAV sont de 15, vous voudrez probablement le changer en un nombre plus grand pour éviter l’avertissement « limite de récursivité des répertoires atteinte ».

MaxDirectoryRecursion 30

Trouvez ensuite les deux lignes suivantes.

MaxScanSize 100M
MaxFileSize 25M

La taille d’analyse maximale par défaut est de 100 Mo et la taille de fichier maximale est de 25 Mo. Il est probable que votre serveur contienne des fichiers de plus de 100 Mo. La configuration par défaut produira les erreurs suivantes lorsque la taille du fichier dépasse la limite.

LibClamAV Warning: PNG: Unexpected early end-of-file.
LibClamAV Warning: cli_scanxz: decompress file size exceeds limits - only scanning 27262976 bytes

Vous pouvez augmenter la taille de l’analyse comme :

MaxScanSize 2048M
MaxFileSize 2048M

Linux contient de nombreux fichiers spéciaux dans les répertoires  /proc/,  /sys/,  /run/,  /dev/,  /snap/  et  /var/lib/lxcfs/cgroup/  qui ne doivent pas être analysés. Vous devez donc les exclure de ClamAV. en ajoutant les lignes suivantes à la fin de ce fichier.

ExcludePath ^/proc
ExcludePath ^/sys
ExcludePath ^/run
ExcludePath ^/dev
ExcludePath ^/snap
ExcludePath ^/var/lib/lxcfs/cgroup

Enregistrez et fermez le fichier. Redémarrez ensuite clamav-daemon.service pour que les modifications prennent effet.

sudo systemctl restart clamav-daemon

Attendez quelques secondes que clamav-daemon.service termine le redémarrage. Ensuite, vous pouvez commencer à numériser avec :

sudo clamdscan --fdpass /

Cela analysera l’intégralité du système de fichiers Linux, à l’exclusion des répertoires mentionnés précédemment. Pour que ClamAV analyse automatiquement le système de fichiers, modifiez le fichier crontab de l’utilisateur root.

sudo crontab -e

Ajoutez la ligne suivante à ce fichier. ClamAV analysera l’intégralité du système de fichiers à 5h10 tous les jours.

10 5 * * * /usr/bin/clamdscan --fdpass /

Enregistrez et fermez le fichier.

Astuce n° 1 : Il existe un autre utilitaire appelé clamscan qui peut également être utilisé pour l’analyse antivirus. Cependant, clamscan n’utilise pas la base de données de définitions de virus déjà chargée en mémoire. Il chargera à nouveau une copie distincte de la base de données de définitions de virus dans la mémoire, gaspillant les ressources du serveur.clamscan est également plus lent que clamdscan, donc on ne le recommande pas.

Astuce #2 : S’il y a un grand nombre de fichiers sur votre serveur, clamdscan utilisera beaucoup de ressources CPU.


Passer à la phase 8: Installation de InvoiceNinja

Phase 8 : Installer InvoiceNinja

-> Retour au sommaire

Ce tutoriel vous montrera comment installer InvoiceNinja sur Ubuntu 22.04 avec un serveur Web Apache.

InvoiceNinja est un logiciel de facturation open source et auto-hébergé, une alternative peu coûteuse aux plates-formes de facturation en ligne commerciales.

InvoiceNinja fournit un service de facturation hébergé sur son site internet, mais si vous souhaitez héberger vous-même le logiciel…

Fonctionnalités d’InvoiceNinja :
Conditions préalables :

InvoiceNinja nécessite PHP et MySQL/MariaDB. Pour suivre ce didacticiel, vous devez déjà avoir configuré une pile LAMP lors de la phase 2.

Et vous avez également besoin d’un nom de domaine, afin que vos clients puissent voir la facture via votre nom de domaine.

Enfin, il est très important que votre serveur puisse envoyer des e-mails, afin que vos clients puissent recevoir votre facture. Suivez le tutoriel lié ci-dessous pour configurer le relais SMTP sur Ubuntu.

Vous accèderez à InvoiceNinja en tapant l’adresse https://facturation.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.

Installons maintenant InvoiceNinja.


Étape 1 : Téléchargez le fichier Zip d’installation d’InvoiceNinja sur le serveur Ubuntu 20.04

Connectez-vous à votre serveur Ubuntu 22.04 via SSH. Exécutez ensuite la commande suivante pour télécharger la dernière version du fichier zip InvoiceNinja sur votre serveur.

wget https://github.com/invoiceninja/invoiceninja/releases/download/v5.4.9/invoiceninja.zip

Une fois téléchargé, extrayez l’archive dans le répertoire /var/www/ avec unzip.

sudo apt install unzip

sudo mkdir -p /var/www/html/invoiceninja/

sudo unzip invoiceninja.zip -d /var/www/html/invoiceninja/

L’option -d spécifie le répertoire cible. Les fichiers Web InvoiceNinja seront extraits vers /var/www/html/invoiceninja.

Ensuite, nous devons changer le propriétaire de ce répertoire en www-data afin que le serveur Web puisse écrire dans ce répertoire.

sudo chown www-data:www-data /var/www/html/invoiceninja/ -R

Nous devons également modifier l’autorisation du répertoire de stockage.

sudo chmod 755 /var/www/html/invoiceninja/storage/ -R

Étape 2 : Créer une base de données et un utilisateur dans MariaDB

Connectez-vous au serveur de base de données MariaDB avec la commande suivante.

sudo mysql

Créez ensuite une base de données pour Invoice Ninja. Ce tutoriel nomme la base de données invoiceninja. Vous pouvez utiliser le nom de votre choix.

create database invoiceninja;

Créez l’utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez votre mot de passe par votre mot de passe préféré.

create user ninja@localhost identified by 'your-password';

Accordez à cet utilisateur tous les privilèges sur la base de données invoiceninja .

grant all privileges on invoiceninja.* to ninja@localhost;

Nettoyer les privilèges et quittez.

flush privileges;

exit;

Étape 3 : Installer les modules PHP

Exécutez les commandes suivantes pour installer les modules PHP requis ou recommandés par InvoiceNinja.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php -y

sudo apt install php-imagick php8.2 php8.2-mysql php8.2-fpm php8.2-common php8.2-bcmath php8.2-gd php8.2-curl php8.2-zip php8.2-xml php8.2-mbstring php8.2-bz2 php8.2-intl php8.2-gmp

Redémarrez ensuite Apache.

sudo systemctl restart apache2

Étape 4 : Configurer InvoiceNinja

Accédez à la racine Web InvoiceNinja.

cd /var/www/invoiceninja/

Copier le fichier d’exemple « .env ».

sudo cp .env.example .env

Modifiez ce fichier avec un éditeur de texte en ligne de commande comme Nano.

sudo nano .env

Trouvez la ligne suivante.

APP_URL=http://localhost

Remplacez l’URL ‘http://localhost » par quelque chose comme « https://facturation.exemple.com, » afin que vous puissiez accéder à InvoiceNinja en utilisant ce sous-domaine (que vous devez créer ; consulter l’étape 1 de la phase 4).

Modifiez ensuite les détails de connexion à la base de données. Entrez le nom de la base de données, l’utilisateur de la base de données et le mot de passe créés à l’étape 2.

DB_HOST=localhost
DB_DATABASE=invoiceninja
DB_USERNAME=ninja
DB_PASSWORD=ninja_password
DB_PORT=3306

Astuce : Si votre mot de passe contient des caractères spéciaux, vous pouvez utiliser des guillemets comme ceci : DB_PASSWORD= »ninja_password ».

Nous allons ensuite modifier la méthode par laquelle l’application InvoiceNinja gère les fichiers PDF en line. Nous allons le paramétrer pour qu’il utilise SNAPPDF qui est un progiciel plus rapide que celui installé automatiquement pour créer et lire les fichier PDF en ligne (mais qui prend plus de place sur le disque dur).

Trouvez la ligne suivante.

PDF_GENERATOR=hosted_ninja

Remplacez par :

PDF_GENERATOR=snappdf

Enregistrez et fermez le fichier.

Remplacez le propriétaire du dossier par www-data.

sudo chown www-data:www-data /var/www/invoiceninja/.env

Ensuite, exécutez la commande suivante pour générer une clé d’application unique pour votre installation InvoiceNinja.

sudo php8.2 /var/www/invoiceninja/artisan key:generate

Et migrez la base de données.

sudo php8.2 /var/www/invoiceninja/artisan migrate:fresh --seed

Nous allons ensuite paramétrer InvoiceNinja pour qu’il utilise ‘SNAPPDF’.

Exécutez la commande suivante.

sudo -u www-data ./vendor/bin/snappdf download

Étape 5 : Configuration du serveur Web

Créez un fichier d’hôte virtuel pour Invoice Ninja.

sudo nano /etc/apache2/sites-available/invoice-ninja.conf

Mettez le texte suivant dans le fichier. Remplacez le texte de couleur par vos données réelles. N’oubliez pas de définir un enregistrement A pour le nom de domaine. (Notez que la racine Web est définie sur /var/www/html/invoice-ninja/public/, et non /var/www/html/invoice-ninja/)

<VirtualHost *:80>
    ServerName facturation.exemple.com
    DocumentRoot /var/www/html/invoiceninja/public

    <Directory /var/www/html/invoiceninja/public>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log
    CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite invoice-ninja.conf

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl restart apache2

Vous pouvez maintenant accéder à la page de l’assistant de configuration d’Invoice Ninja (facturation.exemple.com/setup). Si vous voyez la page Apache par défaut au lieu de l’assistant de configuration, vous devez désactiver l’hôte virtuel par défaut.

sudo a2dissite 000-default.conf

Et redémarrez Apache.

sudo systemctl restart apache2

Avant de saisir des informations dans l’assistant de configuration, nous devons activer HTTPS.

Vous pouvez maintenant accéder à la page de l’assistant de configuration d’Invoice Ninja (facturation.exemple.com/setup). Avant de saisir des informations dans l’assistant de configuration, nous devons activer HTTPS.


Étape 6 : Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 22.04.

sudo apt install certbot

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d facturation.exemple.com

Redémarrez le serveur Apache

sudo systemctl restart apache2

Étape 7 : terminer l’installation avec l’assistant de configuration

Accédez maintenant à facturation.exemple.com/setup pour lancer l’assistant de configuration Web. Tout d’abord, vous devez désigner une URL pour votre installation InvoiceNinja (https://facturation.exemple.com).

Cliquez ensuite sur le bouton Tester le PDF . Si cela réussit, vous entrerez alors les informations d’identification de connexion à la base de données.

Cliquez sur le bouton Tester la connexion .

Ensuite, entrez les paramètres SMTP pour vous assurer qu’il peut mettre fin aux factures de vos clients par e-mail. Si vous utilisez le service de relais Brevo SMTP relay service gratuit, saisissez ici vos identifiants Brevo.

Driver: SMTP
Host: smtp-relay.brevo.com
Username: your brevo username
Password: your brevo password
Port: 587
Encryption: STARTTLS

Cliquez sur le bouton Envoyer un e-mail de test pour vérifier si cela fonctionne.

Enfin, créez un compte administrateur.

Après avoir créé l’utilisateur administrateur, vous pouvez vous connecter à InvoiceNinja.


Dépannage

Si vous rencontrez l’erreur de serveur 500 lorsque vous utilisez InvoiceNinja, veuillez vérifier les journaux sous /var/www/invocieninja/storage/logs/ répertoire. Il s’agit très probablement d’un problème d’autorisation, qui peut être résolu avec :

sudo chown www-data:www-data /var/www/html/invoiceninja/storage/framework/cache/data/ -R
Configurer des tâches cron

Nous devons configurer des tâches Cron pour envoyer des factures récurrentes et des rappels par e-mail. Modifiez le fichier crontab de l’utilisateur www-data.

sudo -u www-data crontab -e

Ajoutez les lignes suivantes à la fin de ce fichier.

#InvoiceNinja
0 8 * * * /usr/bin/php8.2 /var/www/html/invoiceninja/artisan ninja:send-recurring > /dev/null
0 8 * * * /usr/bin/php8.2 /var/www/html/invoiceninja/artisan ninja:send-reminders > /dev/null
* * * * * /usr/bin/php8.2 /var/www/html/invoiceninja/artisan schedule:run >> /dev/null 2>&1

Enregistrez et fermez le fichier. Exécutez la commande suivante pour tester si les tâches Cron s’exécuteront sans erreur.

sudo /usr/bin/php8.2 /var/www/html/invoiceninja/artisan schedule:run

Comment modifier les paramètres SMTP

Si vous devez modifier les paramètres SMTP, vous devez modifier le fichier .env.

sudo nano /var/www/html/invoiceninja/.env

Modifiez les paramètres suivants, adaptés aux serveurs SMTP nécessitant une authentification.

MAIL_MAILER="smtp"
MAIL_HOST="hostname_of_smtp_server"
MAIL_PORT="587"
MAIL_USERNAME="invoice@example.com"
MAIL_PASSWORD="your_password"
MAIL_ENCRYPTION="tls"
MAIL_FROM_ADDRESS="invoice@example.com"
MAIL_FROM_NAME="Invoice"

Si InvoiceNinja est installé sur votre serveur de messagerie ou si vous avez configuré un relais SMTP avec Brevo, vous devez utiliser les paramètres suivants.

MAIL_MAILER="sendmail"
MAIL_HOST=""
MAIL_PORT=""
MAIL_USERNAME=""
MAIL_PASSWORD=""
MAIL_ENCRYPTION="none"
MAIL_FROM_ADDRESS="invoice@example.com"
MAIL_FROM_NAME="Invoice"

Enregistrez et fermez le fichier. Videz ensuite le cache.

sudo -u www-data /usr/bin/php8.2 /var/www/html/invoiceninja/artisan optimize

Si le cache est vidé, vous verrez les messages suivants dans la sortie de la commande.

Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!

Vous ne pouvez toujours pas envoyer d’e-mails ?

Utilisez-vous iRedMail ? iRedMail ne vous permet pas de vous connecter en tant qu’utilisateur unique et d’envoyer des e-mails en tant qu’autre utilisateur. Si vous n’aimez pas cette restriction, vous pouvez désactiver les vérifications sender_login_mismatch dans Postfix.


Comment mettre à niveau Invoice Ninja ?

Lorsqu’une nouvelle version d’InvoiceNinja est disponible, suivez ces étapes pour effectuer la mise à niveau.

Tout d’abord, sauvegardez la base de données.

sudo mysqldump -u root invoiceninja > invoiceninja.sql

Sauvegardez ensuite les fichiers Web.

sudo tar -cpzvf invoiceninaja.tar.gz /var/www/invoiceninja/

Ensuite, téléchargez le fichier zip InvoiceNinja depuis Github et remplacez le contenu dans /var/www/html/invoice-ninja/, puis installez les dépendances.

cd /var/www/html/invoice-ninja/
sudo chown www-data:www-data /var/www/html/invoiceninja/ -R
sudo -u www-data composer install

Supprimez le fichier .env.

sudo rm /var/www/html/invoiceninja/.env

Ensuite, accédez à https://facturation.exemple.com/setup pour relancer l’assistant de configuration. Le schéma de la base de données sera mis à niveau au cours du processus.


Passer à la phase 9 : Installation de PDF-Signature

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

On continue !


Phase 9 : Installer SignaturePDF (24)

-> Retour au sommaire

SignaturePDF est un logiciel web libre permettant de modifier, annoter et signer un PDF.
Par contre, ce n’est pas un logiciel pour signer électroniquement un fichier.

Pour signer un document ou fichier électroniquement, vous nous recommandons d’utiliser l’app certificate24 sur Nextcloud ou Docusign.

Exemple d’instances :

Liste des instances permettant d’utiliser ce logiciel :

Vous accèderez à PDF signature en tapant l’adresse https://pdf.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.


Etape 1 : Installation de dépendances logicielles sur Debian/Ubuntu :

Installation des dépendances :

sudo aptitude install php librsvg2-bin pdftk imagemagick potrace git

Récupération des sources et installation :

cd /var/www/html/

sudo git clone https://github.com/24eme/signaturepdf.git

sudo chown www-data:www-data -R /var/www/html/signaturepdf

sudo chomod 755 -R /var/www/html/signaturepdf/public

Pour le lancer :

sudo php -S localhost:8000 -t public

Etape 2 : Configuration du serveur apache :

Créez un sous-domaine pdf.exemple.com via l’interface de votre prestataire (consulter l’étape 1 de la phase 4) .

Puis, créer un fichier de configuration Apache.

sudo nano /etc/apache2/sites-available/pdf.conf

Compléter ce fichier par ces lignes de code.

<VirtualHost *:80>
Servername pdf.exemple.com

DocumentRoot /var/www/html/signaturepdf/public

<Directory /var/www/html/signaturepdf/public>
    Require all granted
    FallbackResource /index.php
    php_value max_file_uploads 201
    php_value upload_max_filesize 24M
    php_value post_max_size 24M
</Directory>
</Virtualhost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite pdf.conf

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl restart apache2

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pdf.exemple.com

Redémarrez le serveur Apache et PHP.

sudo systemctl restart apache2 php8.2-fpm

connectez vous à l’adresse https://pdf.exemple.com pour utiliser cette application en ligne.


Passer à la phase 10 : Installation de Firefly III…

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

On continue !


Phase 10 : Installer Firefly III (Comptabilité)

-> Retour au sommaire

Vous avez toujours voulu avoir une belle vision et un contrôle sur vos finances ? Vous avez maintenant la possibilité de suivre vos finances et de garder un œil sur votre argent sans avoir à télécharger vos dossiers financiers sur le cloud. Firefly III fonctionne sur le principe que si vous savez où va votre argent, vous pouvez l’empêcher d’y aller. Vous avez maintenant une idée de ce qu’est Firefly III.

Pour être clair, « Firefly III » est un gestionnaire (auto-hébergé) pour vos finances et notamment votre trésorerie.

Cela peut vous aider à suivre vos dépenses et vos revenus, afin que vous puissiez dépenser moins et économiser plus. Firefly III prend en charge l’utilisation de budgets, de catégories et de balises. Il peut importer des données à partir de sources externes et dispose de nombreux rapports financiers soignés.

Caractéristiques de Firefly III

Étape 1 : Mettez à jour et mettez à niveau votre système d’exploitation

Une fois dans le terminal de votre nouveau serveur Ubuntu, mettez-le à jour et mettez-le à niveau et installez les outils essentiels que nous utiliserons.

sudo apt update && sudo apt upgrade
sudo apt install git curl -y

Étape 2 : Installer le fichier de configuration pour apache

Comme vous pouvez le deviner, Firefly III nécessite un serveur web, une base de données et comme il est écrit en PHP, nous devrons également l’installer.

2.1. Installer et configurer un serveur Web et PHP :

Installer php-fpm et ses dépendances

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.2 php8.2-{cli,zip,gd,fpm,json,mysql,zip,mbstring,curl,xml,bcmath,imap,ldap,intl}

Vérifiez si php-fpm est en cours d’exécution.

sudo systemctl status php8.2-fpm
php8.2-fpm.service - The PHP 8.2 FastCGI Process Manager     Loaded: loaded (/lib/systemd/system/php8.2-fpm.service; enabled; vendor preset: enabled)     Active: active (running) since Mon 2023-07-13 13:27:53 EAT; 2min 12s ago       Docs: man:php-fpm8.2(8)    Process: 97804 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.2/fpm/pool.d/www.conf 82 (code=exi>   Main PID: 97791 (php-fpm8.2)     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"      Tasks: 3 (limit: 1035)     Memory: 10.7M     CGroup: /system.slice/php8.2-fpm.service             ├─97791 php-fpm: master process (/etc/php/8.2/fpm/php-fpm.conf)             ├─97802 php-fpm: pool www             └─97803 php-fpm: pool www

2.2. Ajouter les paramètres PHP recommandés :

Ouvrez votre fichier ini php-fpm et ajoutez/modifiez les détails ci-dessous. Ils incluent les paramètres de fuseau horaire et de limite de mémoire. Ajoutez votre date.timezone (vers la ligne 955) et modifiez memory_limit (vers la ligne 400) à 1024Mo.

sudo nano /etc/php/8.2/fpm/php.ini

Modifier certaines lignes du fichier ‘/etc/php/8.2/fpm/php.ini’ de la manières suivante :

memory_limit = 1024M
[Date]
date.timezone = Europe/Paris

Enregistrez et fermer le fichier (appuyez simultanément sur les touches ‘Control’ et ‘x’ puis sur les touches ‘Control’ et ‘o’)


2.3. Configurer le serveur Web Apache :

Nous devons apporter quelques modifications aux paramètres par défaut de configuration du serveur Apache.

Créez un fichier d’hôte virtuel apache pour Firefly III.

sudo nano /etc/apache2/sites-available/firefly-iii.conf

Mettez le texte suivant dans le fichier. Remplacez le texte de couleur par vos données réelles (votre nom de domaine). N’oubliez pas de définir un enregistrement DNS A pour le nom de domaine (comptabilite.exemple.com) . (Notez dans le fichier de configuration que la racine Web est définie sur /var/www/html/firefly-iii/public/, et non /var/www/html/firefly-iii/)

<VirtualHost *:80>
    ServerName comptabilite.exemple.com
    DocumentRoot /var/www/html/firefly-iii/public

    <Directory /var/www/html/firefly-iii/public/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    <Directory /var/www/html/firefly-iii/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/firefly.error.log
    CustomLog ${APACHE_LOG_DIR}/firefly.access.log combined

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite firefly-iii.conf

Configurans les droits d’accès au server apache sur le dossier :

sudo chown www-data:www-data -R  /var/www/html/firefly-iii
sudo chmod 775 -R /var/www/html/firefly-iii/

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl restart apache2

Vous pouvez maintenant accéder à la page de l’assistant de configuration de firefly-III. Si vous voyez la page Apache par défaut au lieu de l’assistant de configuration, vous devez désactiver l’hôte virtuel par défaut.

sudo a2dissite 000-default.conf

Et redémarrez Apache.

sudo systemctl restart apache2

Avant de saisir des informations dans l’assistant de configuration, nous devons activer HTTPS.

2.4. Activer HTTPS :

Pour chiffrer le trafic HTTP de ce nouveau site installé sur votre serveur, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 22.04.

sudo apt install certbot
sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d comptabilite.exemple.com

Redémarrez apache et PHP

sudo systemctl restart apache2 php8.2-fpm
2.5 Configurer le serveur de base de données MariaDB :

Nous allons utiliser MariaDB pour cette configuration.

Une fois la base de données installée, l’étape suivante consiste à créer une base de données et un utilisateur pour Firefly III. Allons donc de l’avant et faisons cela comme indiqué ci-dessous. Vous êtes libre de nommer votre base de données et votre utilisateur différemment et assurez-vous d’utiliser un mot de passe sûr.

$ mysql -u root -p

CREATE DATABASE firefly_database;
CREATE USER 'fireflyuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON firefly_database. * TO 'fireflyuser'@'localhost';
FLUSH PRIVILEGES;
exit;

C’était facile et incroyablement rapide !


Étape 3 : Installer PHP Composer

Le logiciel ‘Composer’ est nécessaire pour installer les dépendances de Firefly. Procédez comme suit pour configurer composer

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Testez si composer est installé avec succès en exécutant la commande composer

$ composer -V
Composer version 1.10.8 2020-06-24 21:23:30

Étape 4 : Installez Firefly III sur Ubuntu

Une fois composer installé, accédez au répertoire qui contiendra les fichiers racine tels que configurés dans Apache ci-dessus et exécutez la commande composer ci-dessous.

cd /var/www/html/
composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.2.8  ##This might take some time to complete!

Dans le même répertoire, fixez les droits d’accès des nouveaux fichiers

sudo chown -R www-data:www-data firefly-iii
sudo chmod -R 775 firefly-iii/storage

Étape 5 : Configurer Firefly III

Dans le répertoire firefly-iii, vous trouverez un fichier .env. Ouvrez ce fichier à l’aide de votre éditeur préféré et apportez les modifications suivantes liées à la base de données conformément aux instructions qui y sont fournies. La base de données et le nom d’utilisateur sont les mêmes que ceux que nous avons définis à l’étape 2.

sudo nano /var/www/html/firefly-iii/.env

Modifier le fichier .env avec les identifiants de la base de données précédemment crée.

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=firefly_database 
DB_USERNAME=fireflyuser 
DB_PASSWORD=password

Notez que le fichier .env a également des paramètres de messagerie si vous souhaitez que Firefly III vous envoie un courrier électronique.


Initialiser la base de données :

Cette étape est très importante, car Firefly III a besoin d’une base de données pour fonctionner et elle vous dira si votre configuration est correcte ou non.
Exécutez la commande suivante dans le répertoire Firefly III.

cd /var/www/html/firefly-iii

sudo php artisan migrate:refresh --seed
sudo php artisan firefly-iii:upgrade-database
sudo php artisan passport:install

Configurer logrotate :

Logrotate vous aidera à gérer efficacement les journaux en vous assurant qu’ils sont bien compressés et réguliers.

sudo nano /etc/logrotate.d/firefly-iii

##Example config:

/opt/firefly-iii/storage/logs/*.log
{
    weekly
    missingok
    rotate 2
    compress
    notifempty
    sharedscripts
    maxage 60
}

Étape 6 : Accéder à Firefly III

Vous pouvez désormais accéder à l’interface Web de Firefly III en accédant au site http://comptabilite.exemple.com/.

Vous devriez voir un écran de connexion, mais vous ne pouvez pas encore vous connecter.

Cliquez sur « Enregistrer un nouveau compte » et remplissez le formulaire.

Le mot de passe doit comporter au moins 16 caractères….

Vous serez connecté automatiquement. Suivez les instructions et le tour est joué !

Vous êtes maintenant prêt à créer des budgets, à suivre vos dépenses, à suivre vos économies….


Etape 7 : Installation de l’importateur de données

Commande principale :

L’installation du module d’import de données (des rélévés bancaires) n’est possible q’une fois que vous avez installé et configuré FireFly II pour votre entreprise ou votre cabinet d’avocats.

Vous accèderez au module d’import de données en tapant l’adresse https://import.exemple.com dans la barre d’adresse de votre navigateur.

L’hypothèse est que vous installerez l’importateur de données dans /var/www. Allez dans le répertoire d’installation.

cd /var/www && \
composer create-project firefly-iii/data-importer \
    --no-dev --prefer-dist data-importer 1.3.2

Fixez les droits d’accès :

sudo chown -R www-data:www-data data-importer
sudo chmod -R 775 data-importer/storage
Configuration :

Dans le répertoire data-importer , vous trouverez un fichier .env. Il y a des instructions quoi faire dans ce fichier. Si vous ne trouvez pas ce fichier, copiez .env.example dans .env.

Reverse proxies :

Pour exécuter l’importateur de données derrière un proxy inverse, définissez la variable d’environnement TRUSTED_PROXIES sur * ou sur l’adresse IP de votre proxy inverse.

A cette fin, créez un fichier d’hôte virtuel :

sudo nano /etc/apache2/sites-available/data-importer.conf

Mettez le texte suivant dans le fichier. Remplacez le texte de couleur par vos données réelles.

N’oubliez pas de définir un enregistrement A pour le nom de domaine (import.exemple.com – consulter l’étape 1 de la phase 4 de ce tutoriel).

<VirtualHost *:80>
    ServerName import.exemple.com
    DocumentRoot /var/www/data-importer/

    <Directory /var/www/data-importer>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/data-importer.error.log
    CustomLog ${APACHE_LOG_DIR}/data-importer.access.log combined

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite data-importer.conf

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl restart apache2

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d comptabilite.exemple.com

Redémarrez apache et PHP

sudo systemctl restart apache2 php8.2-fpm
Accéder à l’importateur de données :

Vous pouvez désormais accéder à l’importateur de données à l’adresse :  https://import.exemple.com

Commencer pas créer un compte sur Nordigen (devenu « Gocardless ») pour pouvoir ensuite importer vos relevés bancaires dans Firefly-III. Vous devrez vous connecter à votre compte bancaire via votre applicatation de votre banque pour autoriser la connection via Nordigen.

Cliquez sur le bouton Next.

Sélectionnez votre Pays, puyis votre banque puis cliquez sur le bouton Next.

Puis cliquez sur le bouton J’accepte.

Autorisez l’accès via l’application mobile de la banque. Validez l’opération.
Sélectionner les comptes à transférer, cocher la case ‘Map data puis cliquer sur le bouton Submit pour importer vos derniers relevés bancaires.

Enfin, cliquez sur le bouton Start Job.


Passer à la phase 11 : Installation de WordPress

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

On continue !


Phase 11 : Installer WordPress

-> Retour au sommaire

Ce tutoriel va vous montrer comment installer WordPress sur Ubuntu 22.04 avec Apache,

WordPress est le CMS (Content Management System) le plus populaire au monde. Il s’agit d’un logiciel qui vous permet de créer et modifier un site internet hébergé sur un serveur.

Par exemple, le site https://juris-tyr.com que vous êtes en train de consulter a été créé et est édité grâce à WordPress. Les principaux avantages d’utiliser WordPress est qu’il vous permet d’éditer un site internet sans connaitre une seule ligne de code informatique, ce logiciel vous permet de choisir et d’installer des thèmes / modèles de sites en fonction de votre activité puis de compléter les blocs de texte du modèle (les fameux sites vitrine vendus en général entre 2000 et 4000 € par certains prestataires…), Wprdpress permet également d’installer sur votre site des modules complémentaires (par exemple si vous exercez la profession d’avocat en France, un module « Woocommerce » ou « Prestashop » pour vendre des modèles de documents depuis votre site internet… ou des liens vers le système de consultations juridiques du CNB pour proposer directement depuis une page de votre site internet des consultations juridiques à vos clients).

On estime que plus d’un tiers des sites Web d’aujourd’hui sont alimentés par WordPress qui a été intégré au référentiel Ubuntu depuis sa version 20.04 et WordPress fonctionne parfaitement avec…

Il existe d’autres CMS tout aussi performants que WordPress, telle que par exemple Drupal. Nous avons sélectionné WordPress en raison de sa popularité et de sa facilité d’installation.

Ce tutoriel détaille l’installation de WordPress sur un serveur ou un VPS mais pas son utilisation (qui est relativement simple, à défaut reportez vous vers les nombreux tutoriels sur WordPress en effectuant une recherche sur internet).

Vous accèderez à l’interface de configuration et d’édition de votre site WordPress en tapant l’adresse https://exemple.com/wp-login dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.

Prérequis :

1. Pour suivre ce didacticiel, vous avez besoin d’un système d’exploitation Ubuntu 22.04 exécuté sur un serveur distant.

2. Vous avez également besoin d’un nom de domaine (exemple.com), afin que les visiteurs puissent saisir un nom de domaine dans la barre d’adresse du navigateur Web pour accéder à votre site Web.


Étape 1 : Télécharger WordPress

Connectez vous avec le logiciel Putty à votre serveur et mettez à jour les logiciels.

sudo apt update && sudo apt upgrade

Aller sur la page de télécharement de  wordpress et téléchargez l’archive zip. Vous pouvez acquérir le lien de téléchargement direct en cliquant avec le bouton droit sur le bouton de téléchargement et en sélectionnant copier l’emplacement du lien.

Ensuite, sur la ligne de commande, tapez wget suivi du lien de téléchargement direct pour télécharger WordPress sur votre serveur Ubuntu 20.04.

wget https://wordpress.org/latest.zip

Ensuite, extrayez l’archive dans le répertoire /var/www/ avec unzip.

sudo apt install unzip

sudo mkdir -p /var/www/

sudo unzip latest.zip -d /var/www/

L’option -d spécifie le répertoire cible. Les fichiers Web WordPress seront extraits vers /var/www/wordpress. Nous pouvons renommer ce répertoire comme ci-dessous, il nous est donc facile d’identifier chaque répertoire. Remplacez example.com par votre vrai nom de domaine.

sudo mv /var/www/wordpress /var/www/example.com

Étape 2 : Créer une base de données et un utilisateur pour le site WordPress

Connectez-vous au shell MariaDB en tant que root avec la commande suivante.

sudo mariadb -u root

ou

sudo mysql -u root

Une fois connecté, créez une base de données pour WordPress à l’aide de la commande suivante. On l’a nommé wordpress, mais vous pouvez utiliser le nom de votre choix, comme le nom de votre site. (N’oubliez pas le point-virgule.)

create database wordpress;

Entrez ensuite la commande ci-dessous pour créer un utilisateur de base de données pour WordPress. Cette commande accorde également tous les privilèges de la base de données WordPress à l’utilisateur. Remplacez wpuser et votre-mot de passe par votre nom d’utilisateur et votre mot de passe préférés.

grant all privileges on wordpress.* to wpuser@localhost identified by 'your-password';

Videz la table des privilèges pour que les modifications prennent effet, puis quittez le shell MariaDB.

flush privileges;

exit;

Étape 3 : Configurez WordPress

Accédez à votre répertoire WordPress.

cd /var/www/example.com/

Copiez l’exemple de fichier de configuration et renommez-le en wp-config.php.

sudo cp wp-config-sample.php wp-config.php

Modifiez maintenant le nouveau fichier de configuration avec un éditeur de texte en ligne de commande comme Nano.

sudo nano wp-config.php

Recherchez les lignes suivantes et remplacez les textes rouges par le nom de la base de données, le nom d’utilisateur et le mot de passe que vous avez créés à l’étape précédente.

/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

Enregistrez et fermez le fichier. Pour enregistrer le fichier dans l’éditeur de texte Nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer. Ensuite, appuyez sur Ctrl+X pour quitter.

Nous devons également définir l’utilisateur Apache (www-data) comme propriétaire du répertoire du site WordPress à l’aide de la commande suivante.

sudo chown www-data:www-data /var/www/example.com/ -R

Étape 4 : Créer un fichier Apache Virtual Host pour WordPress

Exécutez la commande suivante pour créer un fichier d’hôte virtuel pour votre site WordPress dans le répertoire /etc/apache2/sites-available/ .

sudo nano /etc/apache2/sites-available/example.com.conf

Mettez les textes suivants dans le fichier. Remplacez les textes rouges par votre propre nom de domaine. N’oubliez pas de créer des enregistrements A pour votre nom de domaine dans votre gestionnaire DNS.

<VirtualHost *:80>       
        ServerName www.example.com
        ServerAlias example.com

        DocumentRoot /var/www/example.com

        #This enables .htaccess file, which is needed for WordPress Permalink to work. 
        <Directory "/var/www/example.com">
             AllowOverride All
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
        CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined
</VirtualHost>

Enregistrez et fermez le fichier. Testez ensuite les configurations.

sudo apache2ctl configtest

Si vous voyez « Syntaxe OK », activez cet hôte virtuel.

sudo a2ensite example.com.conf

Et rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Définissez un enregistrement A correct pour votre nom de domaine, puis saisissez votre nom de domaine dans la barre d’adresse du navigateur.

example.com

ou

example.com/wp-admin/install.php

Vous verrez l’assistant d’installation de WordPress. Sélectionnez une langue.

Si l’assistant d’installation ne s’affiche pas, vous devez probablement installer certaines extensions PHP8.

sudo apt install php8.2-mbstring php8.2-xml php8.2-mysql  php8.2-gd php8.2-bcmath php8.2-json php8.2-cli php8.2-curl php8.2-zip

Ensuite, rechargez Apache et l’assistant devrait maintenant s’afficher.

sudo systemctl reload apache2

Avant de saisir vos informations sensibles dans l’assistant de configuration, il est recommandé d’activer HTTPS pour empêcher le détournement de trafic.


Étape 5 : Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 22.04.

sudo apt install certbot python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --uir --staple-ocsp --email you@example.com -d yourdomain.com,www.yourdomain.com

Le certificat devrait maintenant être obtenu et installé automatiquement.

Maintenant, si vous rechargez l’assistant de configuration WordPress, vous pouvez voir que HTTP est automatiquement redirigé vers la connexion HTTPS.


Étape 6 : terminer l’installation avec l’assistant de configuration

Créez un compte administrateur et cliquez sur le bouton Installer WordPress .

Et maintenant, votre nouveau site WordPress est installé.


Rediriger le WWW vers le non-WWW (ou vice-versa) :

Nous avons déjà activé la redirection HTTP vers HTTPS, il ne reste plus qu’à rediriger www vers non-www, ou vice versa. Si vous utilisez WordPress, c’est très simple. Accédez simplement à Tableau de bord WordPress > Paramètres > Général et définissez votre version préférée (www ou non-www) dans Adresse WordPress et Adresse du site. Assurez-vous d’inclure le préfixe https://.


Correction de la redirection Double 301 :

Nous définissons la version de domaine préférée dans les champs Adresse WordPress et Adresse du site . Cependant, il y a un double problème de redirection 301. Tout d’abord, le serveur Apache redirige HTTP vers HTTPS, puis WordPress redirige vers le domaine www ou non-www.

Certains diront que vous pouvez perdre du jus de lien SEO lorsque vous effectuez une double redirection 301. Si cela vous inquiète, vous pouvez utiliser la méthode ci-dessous pour que toutes les versions de domaine aillent directement à la destination finale, il y aura donc une seule redirection 301.

Modifiez votre fichier d’hôte virtuel. (Pas l’hôte virtuel SSL)

sudo nano /etc/apache2/sites-enabled/example.com.conf

Le client CertBot a ajouté les lignes suivantes au fichier pour rediriger HTTP vers HTTPS.

RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

Pour rediriger vers un domaine www ou non-www, vous devez modifier la dernière ligne. Remplacez %{SERVER_NAME} par la version de votre domaine préféré, comme ci-dessous. (domaine www)

RewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=permanent]

Si vous préférez un domaine autre que www, remplacez-le par ce qui suit.

RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]

Ensuite, enregistrez et fermez le fichier. Nous devrons également modifier le fichier de configuration du serveur Apache.

sudo nano /etc/apache2/sites-enabled/example.com-le-ssl.conf

Ajoutez les lignes suivantes au-dessus de la balise de fermeture </VirtualHost> pour rediriger le domaine non-www vers le domaine www.

RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=permanent]

Si vous souhaitez rediriger www vers un domaine non www, ajoutez plutôt les lignes suivantes.

RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]

Enregistrez et fermez le fichier. Rechargez le service Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Pour être plus clair, voici une capture d’écran du fichier d’hôte virtuel Apache et du fichier d’hôte virtuel SSL pour rediriger le domaine non-www vers le domaine www.

Apache SSL Virtual Host File

Assurez-vous de définir votre version de domaine préférée dans l’adresse WordPress et l’adresse du site avant de modifier les fichiers de l’hôte virtuel Apache. Si les paramètres de WordPress contredisent la configuration d’Apache, votre site se retrouvera dans une boucle de redirection.


Renouvellement automatique du certificat TLS :

Pour renouveler automatiquement le certificat Let’s Encrypt, modifiez simplement le fichier crontab de l’utilisateur root.

sudo crontab -e

Ajoutez ensuite la ligne suivante en bas.

@daily certbot renew --quiet && systemctl reload apache2

Le rechargement d’Apache est nécessaire pour qu’il présente le nouveau certificat aux clients.


Comment envoyer des e-mails dans WordPress en installant un module spécifique :

Votre site WordPress doit envoyer des e-mails tels que des e-mails d’enregistrement de compte, des e-mails de réinitialisation de mot de passe, des e-mails de notification de commentaires, etc. Au lieu d’utiliser des solutions tierces coûteuses comme Gsuite pour créer des adresses e-mail professionnelles pour votre site Web, vous pouvez suivre ce tutoriel iRedMail créez votre propre serveur de messagerie avec votre propre nom de domaine, afin que vous puissiez avoir un nombre illimité de boîtes aux lettres et envoyer des e-mails illimités sans vous ruiner.

Notez que c’est une bonne pratique d’installer le serveur de messagerie et WordPress sur deux serveurs privés virtuels différents car vous ne voulez pas que le serveur de messagerie ralentisse la vitesse de votre site WordPress, et le serveur de messagerie divulguera l’adresse IP de votre site WordPress s’ils sont sur le même serveur privé virtuel, ce qui signifie que les pirates peuvent contourner tout CDN (réseau de diffusion de contenu) que vous utilisez et lancer une attaque DDoS directement sur votre serveur d’origine.

Une fois que votre serveur de messagerie est opérationnel, vous pouvez installer un plugin SMTP dans WordPress, afin qu’il puisse se connecter à votre serveur de messagerie et envoyer des e-mails. Accédez à votre tableau de bord WordPress -> Plug-ins, cliquez sur Ajouter un nouveau pour installer un nouveau plug-in.

Saisissez ensuite WP Mail SMTP dans le champ de recherche. Installez et activez le plug-in WP Mail SMTP by WPForms.

Rechargez la page Web du tableau de bord WordPress, vous verrez WP Mail SMTP dans la barre de menu de gauche. Cliquez dessus et sélectionnez Paramètres.

Ensuite, faites défiler jusqu’à la section Mailer. Par défaut, le mailer PHP est sélectionné. Nous devons le remplacer par Autre SMTP.

Faites défiler vers le bas et vous devrez entrer les paramètres SMTP.

Après avoir enregistré les paramètres, vous pouvez tester l’envoi d’e-mails en vous déconnectant du tableau de bord WordPress et cliquer sur le lien perdu votre mot de passe pour envoyer un e-mail de réinitialisation du mot de passe.


Passer à la phase 12 : Installation de Jitsi Meet (Visioconférence)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

On continue !


Phase 12 – Installer Jitsi Meet

Ce tutoriel va vous montrer comment installer Jitsi Meet sur le serveur Ubuntu 22.04. Jitsi Meet est un logiciel de visioconférence open source gratuit qui fonctionne sous Linux, macOS, Windows, iOS et Android. Si vous ne faites pas confiance à Zoom ou à Microsoft Teams ou si vous ne voulez plus recevoir des publicités ayant un lien avec vos conversations en visioconférence, vous pouvez exécuter votre propre plate-forme de visioconférence sur votre propre serveur ou VPS.

Vous accèderez à Jitsi Meet en tapant l’adresse https://visio.exemple.com dans la barre d’adresse de votre navigateur.

Caractéristiques de Jitsi Meet :

Étape 1 : Installez Jitsi Meet à partir du référentiel de packages officiel

Jitsi Meet n’est pas inclus dans le référentiel Ubuntu par défaut. Nous pouvons l’installer à partir du référentiel officiel de packages Jitsi, qui contient également plusieurs autres packages logiciels utiles. Connectez-vous à votre serveur via SSH, puis exécutez la commande suivante pour ajouter le référentiel Jitsi officiel.

echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

Importez la clé publique Jitsi afin que le gestionnaire de packages APT puisse vérifier l’intégrité des packages téléchargés depuis ce référentiel.

sudo wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

Étant donné que le référentiel Jitsi nécessite une connexion HTTPS, nous devons donc installer le package apt-transport-https pour permettre à APT d’établir une connexion HTTPS au référentiel Jitsi.

sudo apt install apt-transport-https

Ensuite, mettez à jour l’index des packages locaux et installez Jitsi Meet sur Ubuntu.

sudo apt update sudo apt install jitsi-meet

Lors de l’installation, vous devez saisir un nom d’hôte pour votre instance Jitsi. Il s’agit du nom d’hôte qui apparaîtra dans la barre d’adresse du navigateur Web lorsque les participants rejoindront votre vidéoconférence. Vous pouvez utiliser un nom d’hôte descriptif tel que visio.exemple.com ou meet.linuxbabe.com comme dans l’exemple.

install-jitsi-meet-on-ubuntu-20.04

Dans l’écran suivant, vous pouvez choisir de générer un nouveau certificat TLS auto-signé, afin de pouvoir obtenir et installer ultérieurement un certificat Let’s Encrypt fiable.

jitsi-meet-web-config-ssl-certificate

Le processus d’installation configurera certains paramètres du noyau Linux, qui sont enregistrés dans le fichier /etc/sysctl.d/20-jvb-udp-buffers.conf. Une fois l’installation terminée, Jitsi Meet démarrera automatiquement. Vous pouvez vérifier son statut avec : systemctl status jitsi-videobridge2

Résultat :

jitsi-videobridge2.service - Jitsi Videobridge Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled) 
Active: active (running) since Fri 2022-07-15 19:34:00 HKT; 41s ago Process: 22568 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridg> Main PID: 22567 (java) Tasks: 56 (limit: 65000)
Memory: 224.3M CPU: 17.815s CGroup: /system.slice/jitsi-videobridge2.service

Astuce : si la commande ci-dessus ne se termine pas immédiatement, vous pouvez appuyer sur la touche Q pour la quitter.

Le package jitsi-meet installe également d’autres packages en tant que dépendances, tels que


Étape 2 : Installer le serveur Coturn

Coturn est un serveur TURN et STUN open source gratuit pour la VoIP. Jitsi n’installe pas automatiquement Cotorn sur Ubuntu 22.04. Nous devons l’installer manuellement.

Téléchargez le package deb Coturn.

sudo wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/c/coturn/coturn_4.5.2-3.1_amd64.deb

Installez-le avec apt.

sudo apt install ./coturn_4.5.2-3.1_amd64.deb

ou si vous utiliser un raspberry ou un orange pi :

sudo apt install ./coturn_4.5.2-3.1_arm64.deb

Installez le package jitsi-meet-turnserver.

sudo apt install jitsi-meet-turnserver

Lors de l’installation, Jitsi configurera automatiquement le serveur coturn (/etc/turnserver.conf).


Étape 3 : Ouvrir les ports dans le pare-feu

Jitsi Meet écoute sur plusieurs ports UDP. Pour permettre aux participants de rejoindre une vidéoconférence à partir d’un navigateur Web, vous devez ouvrir les ports TCP 80 et 443. Et pour transférer la vidéo sur le réseau, ouvrez le port UDP 10000 et le port TCP 5349.

Le serveur Coturn doit également ouvrir l’UDP 3478. port.

Si vous utilisez le pare-feu UFW, exécutez la commande suivante pour ouvrir ces ports.

sudo ufw allow 22,80,443,5349/tcp 
sudo ufw allow 10000,3478/udp

Étape 4 : Obtenez un certificat TLS Let’s Encrypt de confiance

Accédez à votre service d’hébergement DNS (généralement votre registraire de domaine) pour créer un enregistrement DNS A pour votre nom d’hôte Jitsi (meet.example.com). Exécutez ensuite le script suivant pour obtenir un certificat TLS Let’s Encrypt de confiance :

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Entrez votre adresse e-mail pour recevoir des notifications importantes sur votre compte. Ensuite, il installera certbot et obtiendra le certificat TLS.

jitsi-meet-https-letsencrypt-ubuntu-22.04.

Si tout va bien, vous verrez le message suivant, indiquant que le certificat TLS a été obtenu et installé avec succès.

jitsi meet https letsencrypt certbot

Notez que ce script utilise le défi http-01, ce qui signifie que votre serveur Web Apache (ou Nginx) doit écouter sur le port 80 de l’adresse IP publique. Si votre environnement de serveur ne prend pas en charge le défi http-01 , vous ne devez pas exécuter le script ci-dessus. Vous devez utiliser d’autres types de configuration. Dans mon cas, j’utilise le paramètre DNS suivant .

sudo certbot --agree-tos -a dns-cloudflare -i apache --redirect --hsts --staple-ocsp --email contact@exemple.com -d visio.exemple.com

Explication:

Si vous obtenez le certificat TLS en exécutant la commande certbot, vous devez alors mettre à jour le certificat TLS et le fichier de clé dans :

Assurez-vous que les utilisateurs prosody, jicofo et jvb peuvent lire les fichiers de certificat TLS.

sudo apt install acl 
sudo setfacl -R -m u:prosody:rx /etc/letsencrypt/live /etc/letsencrypt/archive/ 
sudo setfacl -R -m u:jicofo:rx /etc/letsencrypt/live /etc/letsencrypt/archive/ 
sudo setfacl -R -m u:jvb:rx /etc/letsencrypt/live /etc/letsencrypt/archive/

N’oubliez pas de redémarrer ces services.

sudo systemctl restart apache2 coturn prosody jitsi-videobridge2 jicofo

Étape 5 : Activer HTTP2

HTTP2 peut améliorer la vitesse de chargement des pages Web. Pour activer HTTP2 dans Apache2, modifiez le fichier de configuration de l’hôte virtuel.

sudo nano /etc/apache2/sites-enabled/visio.example.com.conf

Ajoutez la ligne suivante : « Protocols h2 http/1.1 » à l’endroit suivant du fichier de configuration :

<VirtualHost *:80>         
Protocols h2 http/1.1
DocumentRoot .../...
</VirtualHost>

Enregistrez et fermez le fichier. Relancez ensuite Apache pour que la modification prenne effet.

sudo systemctl restart apache2

Étape 6 : démarrer une nouvelle réunion en ligne

Visitez maintenant le site internet : https://visio.exemple.com et vous pourrez démarrer une conférence. Pour transférer de l’audio, vous devez autoriser le navigateur Web à utiliser votre microphone. Et pour transférer une vidéo, vous devez autoriser le navigateur Web à accéder à votre caméra.

Jitsi-meet-self-hosted online meeting

Donnez un nom à votre réunion et cliquez sur le bouton  »Start meeting ».

Une fois la réunion démarrée, vous pouvez éventuellement choisir de définir un mot de passe pour votre réunion.


Conseils de dépannage :

Si vous rencontrez des erreurs, vous pouvez consulter le journal des erreurs pour découvrir ce qui ne va pas.

Vous pouvez également consulter les journaux des services systemd.

sudo journalctl -eu jitsi-videobridge2 
sudo journalctl -eu prosody
sudo journalctl -eu jicofo sudo journalctl -eu coturn

Par exemple, vous pouvez voir l’erreur suivante dans les journaux du journal Prosody.

prosody[71580]: portmanager: 
Error binding encrypted port for https:
No certificate present in SSL/TLS configuration for https port 5281 prosody[71580]: portmanager:
Error binding encrypted port for https:
No certificate present in SSL/TLS configuration for https port 5281

Vous devez modifier le fichier /etc/prosody/conf.d/visio.exemple.com.cfg.lua.

sudo nano /etc/prosody/conf.d/visio.exemple.com.cfg.lua

Trouvez les lignes suivantes.

ssl = { protocol = "tlsv1_2+"; ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; }

Ajoutez le certificat TLS et le fichier de clé.

ssl = { protocol = "tlsv1_2+"; ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; certificate = "/etc/letsencrypt/live/visio.exemple.com/fullchain.pem"; key = "/etc/letsencrypt/live/visio.exemple.com/privkey.pem"; }

Enregistrez et fermez le fichier. Redémarrez ensuite Prosody.

sudo systemctl restart prosody

Astuce : Certaines personnes oublient de remplacer visio.exemple.com par leur véritable nom d’hôte Jisti Meet, ce qui peut également provoquer des erreurs.


Étape 7 : Configurer l’authentification de l’utilisateur

Par défaut, n’importe qui peut accéder à votre instance Jitsi Meet, créer une salle et démarrer une réunion.
Vous ne voulez peut être pas que n’importe qui lance une visio depuis votre serveur en se connectant à l’adresse : visio.exemple.com.

Le cas échéant, pour configurer l’authentification des utilisateurs, modifiez le fichier de configuration Prosody.

sudo nano /etc/prosody/conf.d/visio.exemple.com.cfg.lua

Trouvez la ligne suivante.

authentication = "anonymous"

Modifiez-le comme suit, ce qui obligera l’utilisateur à saisir son nom d’utilisateur et son mot de passe pour démarrer une conférence.

authentication = "internal_hashed"

Cependant, nous ne voulons pas que les participants saisissent leur nom d’utilisateur et leur mot de passe lorsqu’ils rejoignent la conférence, nous devons donc créer une connexion anonyme pour les invités, en ajoutant les lignes suivantes à la fin de ce fichier. Notez que vous n’avez pas besoin de créer un enregistrement DNS A pour guest.visio.exemple.com.

VirtualHost "guest.visio.exemple.com" authentication = "anonymous" c2s_require_encryption = false
jitsi meet prosody user authentication

Enregistrez et fermez le fichier.

Ensuite, modifiez le fichier de configuration Jitsi Meet.

sudo nano /etc/jitsi/meet/visio.exemple.com-config.js

Recherchez la ligne suivante,

//domaine anonyme : 'guest.exemple.com',

Supprimez les doubles barres obliques et modifiez le domaine invité.
Remplacez visio.exemple.com par votre vrai nom d’hôte Jitsi Meet.

anonymousdomain: 'guest.visio.exemple.com',

Enregistrez et fermez le fichier.
Modifiez ensuite le fichier de configuration Jicofo.

sudo nano /etc/jitsi/jicofo/jicofo.conf

Ajoutez les lignes suivantes dans ce fichier.

authentication: { enabled: true type: XMPP login-url: visio.exemple.com }
Jisti Meet enable authentication

Enregistrez et fermez le fichier.

Redémarrez les services systemd pour que les modifications prennent effet.

sudo systemctl restart jitsi-videobridge2 prosody jicofo

Pour créer des comptes d’utilisateurs dans Jisi Meet, exécutez la commande suivante. Vous serez invité à saisir un mot de passe pour le nouvel utilisateur.

sudo prosodyctl register username visio.exemple.com

Si vous rencontrez cette erreur : Création/modification de compte non prise en charge, c’est probablement parce que le paramètre d’authentification est toujours défini sur anonyme ou que le nom d’hôte virtuel est incorrect.

Désormais, si vous créez une salle dans Jitsi Meet, vous devez cliquer sur le bouton Je suis l’hôte .

jitsi meet waiting for the host

Saisissez ensuite un nom d’utilisateur et un mot de passe.

jitsi meet user authentication

Facultatif : configurer Jigasi pour les appels entrants ou sortants par téléphone

Jitsi propose une interface de téléphonie qui permet aux utilisateurs de participer à une conférence ou de passer des appels de rappel. Installez le package jigasi (passerelle Jitsi pour SIP).

sudo apt install jigasi

Lors de l’installation, vous devrez saisir votre nom d’utilisateur et votre mot de passe SIP.

Si vous n’en avez pas, vous pouvez créer un compte SIP gratuit sur OnSIP.com.

jitsi meet jigasi SIP gateway

Si vous avez configuré l’authentification utilisateur à l’étape 6, vous devez alors modifier le fichier de configuration Jigasi.

sudo nano /etc/jitsi/jigasi/sip-communicator.properties

Trouvez les lignes suivantes.

# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN 
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Décommentez-les et saisissez un compte et un mot de passe que vous avez créés à l’étape 6.

org.jitsi.jigasi.xmpp.acc.USER_ID=user1@visio.exemple.com 
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Enregistrez et fermez le fichier. Redémarrez le service jigasi systemd.

sudo systemctl status jigasi

Facultatif : configurer Coturn

Si vous voyez le message suivant lors de l’installation de Jitsi Meet, vous devez configurer Coturn pour qu’il fonctionne correctement.

Warning! Could not resolve your external ip address! Error:^ Your turn server will not work till you edit your /etc/turnserver.conf config file. 

Vous devez définir votre adresse IP externe dans external-ip et redémarrer le service Coturn.

Modifiez le fichier de configuration Coturn.

sudo nano /etc/turnserver.conf

Trouvez la ligne suivante.

external-ip=127.0.0.1

Remplacez 127.0.0.1 par l’adresse IP publique de votre serveur (51.xx.xxx.xx).
Enregistrez et fermez le fichier.
Puis redémarrez Coturn.

sudo systemctl restart coturn

Félicitations ! vous avez terminé le didacticiel !

© L’auteur de ce didacticiel est Timo RAINIO.
Une partie de ce didacticiel a été réalisée en reprenant certains tutoriels publiés sur les sites linuxbabe.com, linuxlink.com en les traduisant en langue française et en les adaptant pour l’installation selon la configuration de la plateforme Juris-Tyr (Ubuntu 22.04, LAMP) , ainsi que depuis les sites de la documentation officielle des logiciels opensource concernés (Nextcloud) (InvoiceNinja) et/ou de Github (pdf signature). Ce didacticiel peut être repris en intégralité seulement, et à condition d’indiquer sur le contenu repris la source : https://juris-tyr.com et de nous informer préalablement par e-mail.


Des observations ou des questions ?

4 réponses à “Installation – Documentation – Didacticiel – Juris-Tyr”
  1. Avatar de ChatGPT Online

    Your expertise is awe-inspiring.

  2. Avatar de Mailchimp Survey

    Everything is very open with a very clear explanation of the issues.
    It was really informative. Your website is useful.
    Many thanks for sharing!

  3. Avatar de AI platform crypto

    I’m impressed, I must say. Seldom do I come across a blog that’s both educative and amusing, and without a doubt, you have hit the nail on the head.
    The problem is an issue that too few people are speaking
    intelligently about. I’m very happy that I came across this in my search
    for something relating to this.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais