Nom de domaine

– Article en partenariat avec Zextras –

Marre de laisser Google fouiller dans vos mails comme un chat de gouttière dans une poubelle ? Envie de claquer la porte au nez de Microsoft 365 tout en gardant des outils collaboratifs cools ? Alors c’est l’heure d’installer Carbonio CE, votre serveur de mail badass et open source qui fait tout ce que les géants du web font, mais chez vous et sans vous stalker!

Que vous soyez un admin sys qui veut reprendre le contrôle de ses données, un geek qui veut héberger la messagerie de son asso, ou juste quelqu’un qui en a ras-le-bol de se faire espionner par Big Brother, alors ce tuto est pour vous ! En moins d’une heure, vous aurez ainsi votre propre Google Workspace-killer qui vous appartiendra à 100%, sans abonnement mensuel ni monétisation de vos données.

Mais avant de plonger dans le terminal, je vais d’abord vous lister les avantage à adopter cette solution :

  • Indépendance numérique : Adieu Google/Microsoft qui lisent vos mails pour vous vendre des trucs
  • Solution complète : Mail, calendrier, contacts, chat, visio, édition de docs, stockage de fichiers… tout ça dans un seul produit open source
  • Autonomie totale : Vous possédez vos données et vous contrôlez tout de A à Z
  • Économies : Fini les abonnements mensuels qui vous saignent pour des services collaboratifs

Donc si vous étiez en train de vous demander “Mais POURQUOI je paie 6 €/mois et par utilisateur à Google alors que je pourrais auto-héberger tout ça ?

Et bien la réponse est simple : Parce que vous n’aviez pas encore trouvé ce tuto ! mdr !

SCR 20250404 lfjn

Prérequis – Ce qu’il vous faut pour démarrer

Avant de transformer votre serveur en machine de guerre anti-GAFAM, assurez-vous donc d’avoir:

  • Un serveur Ubuntu 20.04 ou 22.04 (marche aussi sous RedHat mais mon tuto n’ira pas)
  • Au moins 8 Go de RAM, sinon, ça va ramer
  • Au moins 50 Go d’espace disque parce que les pièces jointes dans les mails, ça prend de la place…
  • Un nom de domaine configuré pour pointer vers votre serveur (genre mail.votredomaine.fr)
  • Et un accès root au serveur

1. Préparer votre système

Commençons par configurer correctement le nom d’hôte de votre serveur. Remplacez exemple.fr par votre nom de domaine et xx.xx.xx.xx par l’adresse IP publique de votre serveur:

# Définir le nom d'hôte 
sudo hostnamectl set-hostname mail.votredomaine.fr
# Modifier le fichier hosts 
sudo echo -e "127.0.0.1 localhost\nxx.xx.xx.xx mail.votredomaine.fr mail" > /etc/hosts

Cette étape est cruciale, car sans un nom d’hôte correct, votre serveur sera plus confus qu’un aspirateur robot devant un escalier. Votre nom de domaine doit également être configuré sur l’IP de votre serveur avec également un enregistrement MX.

SCR 20250404 kpzl

Avant de passer à la suite, sachez que Zextras propose un script qui est censé tout installer facilement mais je n’ai jamais réussi à le faire fonctionner correctement, donc je suis parti sur une bonne vieille install manuelle.

2. Installer et configurer PostgreSQL

Carbonio utilise PostgreSQL donc installons cette merveille, mais attention, si vous êtes root sur la machine, n’utilisez pas de sudo :

Pour Ubuntu 22.04

# Ajouter le dépôt PostgreSQL 
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

sudo wget -O- "https://www.postgresql.org/media/keys/ACCC4CF8.asc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/postgres.gpg > /dev/null 

sudo chmod 644 /usr/share/keyrings/postgres.gpg 

sudo sed -i 's/deb/deb [signed-by=\/usr\/share\/keyrings\/postgres.gpg] /' /etc/apt/sources.list.d/pgdg.list 

# Installer PostgreSQL 
sudo apt update 
sudo apt install postgresql-16

Oui, cette commande est plus longue que la liste d’excuses de votre FAI quand votre fibre plante, mais elle en vaut la peine!

Configurer PostgreSQL

# Créer un mot de passe pour l'administrateur de la base de données 
sudo read -s -p "Entrez un mot de passe pour la base de données: " DB_ADM_PWD 

# Créer un rôle Carbonio dans PostgreSQL 

sudo su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\"" 

# Créer la base de données 

sudo su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\"" 

# Configurer PostgreSQL pour accepter les connexions 

sudo su - postgres -c "psql --command=\"ALTER SYSTEM SET listen_addresses TO '*';\"" 

sudo su - postgres -c "psql --command=\"ALTER SYSTEM SET max_connections = 500;\"" 

sudo su - postgres -c "psql --command=\"ALTER SYSTEM SET shared_buffers = 5000;\"" 

sudo echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/16/main/pg_hba.conf 

sudo systemctl restart postgresql

Notez que vous pouvez remplacer 0.0.0.0/0 par l’adresse de votre réseau local pour limiter les accès.

3. Configurer le dépôt Carbonio

On va maintenant dire à Ubuntu où trouver les paquets Carbonio :

# Créer le fichier de dépôt 

sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main" > /etc/apt/sources.list.d/zextras.list 

# Télécharger et installer la clé GPG 

sudo wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" | gpg --dearmor | sudo tee /usr/share/keyrings/zextras.gpg > /dev/null 

sudo chmod 644 /usr/share/keyrings/zextras.gpg

4. Installer les paquets Carbonio

Maintenant, installons Carbonio :

# Mettre à jour les dépôts 

sudo apt update && sudo apt upgrade -y 

# Installer tous les paquets nécessaires (accrochez-vous, c'est la liste de courses la plus épique que vous verrez aujourd'hui) 

sudo apt install service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-webui \
carbonio-files-ui carbonio-mta carbonio-mailbox-db \
carbonio-appserver carbonio-user-management \
carbonio-files-ce carbonio-files-public-folder-ui \
carbonio-files-db carbonio-tasks-ce carbonio-tasks-db \
carbonio-tasks-ui carbonio-storages-ce carbonio-preview-ce \
carbonio-docs-connector-ce carbonio-docs-connector-db \
carbonio-docs-editor carbonio-prometheus \
carbonio-message-broker carbonio-message-dispatcher \
carbonio-message-dispatcher-db carbonio-ws-collaboration-ce \
carbonio-ws-collaboration-db carbonio-ws-collaboration-ui \
carbonio-videoserver-ce carbonio-catalog

Cette commande installe tellement de composants que je vous invite à aller vous chercher un café !

5. Configurer Carbonio

Maintenant que tous les morceaux sont là, on va les assembler.

Bootstrap initial – Le premier battement de cœur

Appuyez sur y pour appliquer la configuration, puis sur Entrée pour continuer.

SCR 20250404 krzw

Configurer Carbonio Mesh – Le système nerveux central

Carbonio Mesh permet la communication entre les composants, un peu comme la Force qui relie tous les Jedi :

sudo service-discover setup-wizard

Suivez les instructions et:

  • Entrez l’adresse IP et le masque de réseau de votre serveur
  • Créez un mot de passe fort pour le service Mesh (16 caractères minimum, avec minuscules, majuscules, chiffres et caractères spéciaux)

Important : Conservez absolument ce mot de passe !!!

6. Configurer les bases de données

Maintenant on va configurer les bases de données comme ceci :

# Configuration de la base de données Carbonio Files 
sudo PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1

# Configuration de la base de données Carbonio Tasks 
sudo PGPASSWORD=$DB_ADM_PWD carbonio-tasks-db-bootstrap carbonio_adm 127.0.0.1 

# Configuration de la base de données Carbonio Collaboration sudo PGPASSWORD=$DB_ADM_PWD carbonio-ws-collaboration-db-bootstrap carbonio_adm 127.0.0.1 

# Configuration de la base de données du dispatcher de messages 

sudo PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-db-bootstrap carbonio_adm 127.0.0.1 

sudo PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000

Oui, c’est beaucoup de bases de données mais c’est ultra organisé.

A cette étape, appliquez ensuite obligatoirement les configurations en attente comme ceci :

7. Redémarrer les services – Le grand reset

# Redémarrer les services en tant qu'utilisateur zextras 

sudo su - zextras -c "zmcontrol stop" 

sudo su - zextras -c "zmcontrol start"

SCR 20250404 ldxs

C’est comme redémarrer un Windows, ça résoudra 80% des problèmes magiquement.

8. Activer les fonctionnalités de messagerie instantanée

Les emails, c’est cool mais c’est une technologie un peu has been maintenant. C’est pourquoi on va en plus activer la messagerie instantanée !

# Activer le chat pour tous les utilisateurs 

sudo su - zextras -c "carbonio prov mc default carbonioFeatureWscEnabled TRUE" 

# Redémarrer les services associés 

sudo systemctl restart carbonio-message-broker 
sudo systemctl restart carbonio-message-dispatcher 
sudo systemctl restart carbonio-ws-collaboration 
sudo systemctl restart carbonio-videoserver

Maintenant vous pouvez chatter comme sur Slack ou Teams, mais sans envoyer vos conversations boulot à des entreprises américaines qui veulent vous vendre des trucs.

9. Configurer le pare-feu

On va maintenant ouvrir les ports nécessaires dans votre pare-feu :

sudo apt install ufw 
sudo ufw allow 22/tcp 
# SSH 
sudo ufw allow 80/tcp 
# HTTP 
sudo ufw allow 443/tcp 
# HTTPS 
sudo ufw allow 25/tcp 
# SMTP 
sudo ufw allow 587/tcp 
# SMTP Submission 
sudo ufw allow 143/tcp 
# IMAP 
sudo ufw allow 993/tcp 
# IMAPS 
sudo ufw allow 110/tcp 
# POP3 
sudo ufw allow 995/tcp 
# POP3S
sudo ufw allow 6071/tcp
# Le port de l'admin
sudo ufw enable

10. Accéder à l’interface Web – Enfin le moment de vérité

Une fois l’installation terminée, vous pouvez accéder à:

  • Interface utilisateur: https://mail.votredomaine.fr (le beau webmail pour vos utilisateurs)
  • Interface d’administration: https://mail.votredomaine.fr:6071

Lors de la première connexion à l’interface d’administration, utilisez:

  • Nom d’utilisateur : [email protected] (remplacez par votre domaine)
  • Mot de passe : celui que le script vous a fourni lors de l’installation.

SCR 20250404 lidy

Si vous ne l’avez pas noté, vous pouvez lister les comptes admin comme ceci :

sudo su - zextras -c "zmprov -l gaaa"

Et changer le mot de passe du compte admoin de votre choix comme ceci :

SCR 20250404 lyfl 2

Conseils post-installation

Je vous donne quand même quelques conseils de trucs à faire après l’install :

  1. Changez immédiatement le mot de passe administrateur depuis l’interface d’administration
  2. Configurez un certificat SSL valide pour une connexion sécurisée (Let’s Encrypt est votre ami)
  3. Créez des comptes utilisateurs pour commencer à utiliser le système
  4. Configurez les paramètres DKIM pour améliorer la délivrabilité des emails (sinon vos mails finiront dans les spams plus souvent que l’héritage d’un vieil oncle africain)

Voilà, j’espère que j’aurais réussi à vous accompagner jusque là ! Encore merci à Zextras pour sa confiance et amusez-vous bien avec votre nouveau serveur de messagerie.


Source link

Categorized in: