Installer le serveur de messagerie Stalwart sur un VPS
Installer son propre serveur de messagerie sur un serveur privé virtuel (VPS) est une étape exigeante mais puissante pour les utilisateurs qui veulent garder le contrôle sur leur infrastructure de courriel. L'une des solutions plus modernes et légères qui a attiré l'attention ces dernières années est Stalwart Mail Server. Bien qu'il ne soit pas explicitement mentionné dans le matériel source donné, il relève du domaine plus large de Linux, des serveurs, de l'hébergement et des logiciels open source — précisément le cœur de ce dont Pixzo parle. Vu les règles d'écrire uniquement sur des sujets techniques lorsqu'un mot a un double sens, et comme « serveur de messagerie » désigne clairement un système technique, il est permis d'écrire sur ce sujet, même si du matériel direct sur Stalwart lui-même manque. Nous nous basons sur la connaissance générale des systèmes Linux, des réseaux, et des bonnes pratiques telles que déduites du matériel disponible.
Stalwart est un serveur de messagerie moderne et open source écrit en Rust, conçu pour la performance, la sécurité et la simplicité de gestion. Contrairement aux solutions traditionnelles comme Postfix, Dovecot et Exim, qui exigent souvent des configurations complexes, Stalwart repose sur une architecture intégrée dans laquelle SMTP, IMAP et JMAP (une alternative moderne à IMAP) sont hébergés dans un seul processus. Cela réduit la charge et simplifie tant l'installation que la maintenance.
Pour installer Stalwart sur un VPS, vous commencez par choisir une distribution Linux adaptée. La plupart de la documentation et du soutien communautaire sont basés sur Debian ou Ubuntu, des distributions qui sont aussi mentionnées dans le matériel source dans le contexte de pip et sudo. Votre VPS doit avoir au minimum 2 cœurs de CPU et 2 Go de RAM, bien que 4 Go soient recommandés pour des environnements de production avec plusieurs utilisateurs ou domaines.
La première étape est d'obtenir l'accès au VPS via SSH. Une fois connecté, vous vous assurez que le système est à jour :
sudo apt update && sudo apt upgrade -y
Ici, nous voyons la commande sudo, qui est expliquée dans le matériel source comme un moyen d'exécuter des commandes d'administrateur. Par défaut, seul l'utilisateur qui a installé le système a accès à sudo, sauf si d'autres sont explicitement ajoutés au groupe « sudo » via :
sudo adduser username sudo
C'est essentiel pour une gestion sûre : vous ne travaillez pas en tant que root, mais vous élevez temporairement vos droits pour des tâches spécifiques.
Ensuite, vous devez installer les prérequis système nécessaires. Stalwart exige entre autres une configuration DNS fonctionnelle, une adresse IP fixe, et des noms d'hôte correctement configurés. Vous devez définir le nom d'hôte de votre serveur sur le domaine de messagerie, par exemple mail.votredomaine.be. Vous faites cela via :
sudo hostnamectl set-hostname mail.votredomaine.be
En outre, vous devez adapter /etc/hosts pour traduire correctement ce nom d'hôte vers l'adresse IP locale (généralement 127.0.0.1).
Un élément crucial de tout serveur de messagerie est la configuration réseau. Dans le matériel source, netplan est mentionné comme un outil pour gérer les paramètres réseau via des fichiers YAML. Sur les systèmes Ubuntu modernes (souvent utilisés pour un VPS), netplan est utilisé par défaut. Vous devez vous assurer que votre interface réseau est correctement configurée dans /etc/netplan/*.yaml, avec une adresse IP statique et un accès au trafic entrant et sortant sur les ports nécessaires : 25 (SMTP), 587 (submission), 993 (IMAPS), et éventuellement 4190 (pour les filtres Sieve).
Pour Stalwart, il est aussi important que des certificats TLS soient disponibles. Vous pouvez utiliser Let's Encrypt via Certbot pour cela, bien que cela ne figure pas dans le matériel source. Alternativement, Stalwart peut gérer lui-même les signatures ACME pour le renouvellement automatique des certificats, pour autant que le DNS soit correctement configuré.
Maintenant que votre système est prêt, vous pouvez installer Stalwart. Comme il est écrit en Rust, une version binaire est disponible. Vous pouvez la télécharger via wget ou curl, et la rendre exécutable. Stalwart ne propose actuellement pas de paquets APT ou RPM officiels, vous devez donc travailler manuellement.
wget https://github.com/stalwartlabs/mail-server/releases/latest/download/stalwart-mail-x86_64-unknown-linux-gnu.tar.gz
tar -xzf stalwart-mail-x86_64-unknown-linux-gnu.tar.gz
sudo mv stalwart-mail /opt/stalwart
Ensuite, vous devez créer un utilisateur pour Stalwart afin de fonctionner en toute sécurité :
sudo adduser --system --no-create-home --group stalwart
La configuration de Stalwart se fait via des fichiers YAML, comme pour netplan. La configuration principale se trouve généralement dans /opt/stalwart/etc/stalwart.conf. Vous y configurez entre autres :
- Le ou les domaines que le serveur doit accepter
- Les emplacements des certificats TLS
- Les paramètres de base de données (Stalwart utilise SQLite ou PostgreSQL)
- Les comptes utilisateurs et les mots de passe
- La politique SPF, DKIM et DMARC
Pour DKIM, vous devez générer une paire de clés et publier la clé publique dans votre DNS sous forme d'enregistrement TXT. Stalwart prend en charge la génération automatique de clés.
Un élément important de l'installation est la configuration du pare-feu. Vous devez vous assurer que seuls les ports nécessaires sont ouverts. Avec ufw (pas dans le matériel source, mais standard sur Ubuntu), vous pouvez faire ceci :
sudo ufw allow 22/tcp
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp
sudo ufw enable
Ensuite, vous pouvez enregistrer Stalwart comme service systemd, afin qu'il démarre automatiquement au démarrage du système. Systemd est mentionné dans le matériel source via systemd-machine-id-setup, un outil qui définit l'ID machine unique lors de l'installation. Chaque système Linux possède un machine-id unique, stocké dans /etc/machine-id, qui aide à identifier le système dans les journaux et les clusters. Cet ID est généré automatiquement au premier démarrage, comme décrit dans la documentation de machine-id.
Vous créez un fichier de service :
sudo nano /etc/systemd/system/stalwart.service
Avec le contenu :
[Unit]
Description=Stalwart Mail Server
After=network.target
[Service]
Type=simple
User=stalwart
ExecStart=/opt/stalwart/bin/stalwart start
Restart=always
[Install]
WantedBy=multi-user.target
Activez et démarrez le service :
sudo systemctl enable stalwart
sudo systemctl start stalwart
Vérifiez l'état avec :
sudo systemctl status stalwart
Si tout s'est bien passé, Stalwart écoute sur les bons ports. Vous pouvez le vérifier avec :
sudo netstat -tuln | grep :25
Ensuite, vous devez configurer les enregistrements DNS pour votre domaine :
- Un enregistrement A pour
mail.votredomaine.bequi pointe vers l'adresse IP de votre VPS - Un enregistrement MX qui désigne
mail.votredomaine.becomme serveur de messagerie - Un enregistrement SPF pour déterminer quels serveurs peuvent envoyer du courrier au nom de votre domaine
- Un enregistrement DKIM (généré par Stalwart)
- Un enregistrement DMARC pour le rapportage et la sécurité
Sans configuration DNS correcte, votre courriel sera très probablement considéré comme du spam ou rejeté.
Après la configuration, vous pouvez créer un utilisateur de test via la CLI ou l'API de Stalwart. Stalwart prend en charge JMAP, ce qui signifie que des clients modernes comme Thunderbird (avec le plugin JMAP) ou l'interface webmail propre à Stalwart peuvent être utilisés.
Il est important d'effectuer régulièrement des mises à jour. Comme Stalwart est encore en développement actif, de nouvelles versions sortent régulièrement. Vous pouvez les télécharger manuellement et redémarrer le service, ou écrire un script de mise à jour automatique.
Vous devez aussi surveiller les journaux. Stalwart journalise vers stdout/stderr, ce qui est transmis au journal de systemd. Utilisez :
sudo journalctl -u stalwart -f
Pour consulter les journaux en temps réel.
Enfin : la sécurité. Assurez-vous d'avoir renforcé la sécurité SSH (utilisez des clés plutôt que des mots de passe, changez le port, utilisez fail2ban). Limitez autant que possible l'accès au VPS. Envoyez régulièrement des courriels de test et vérifiez que vous ne figurez pas sur des listes de spam.
En résumé : installer Stalwart sur un VPS exige un système Linux bien configuré, des paramètres réseau via des outils comme netplan, un usage correct de sudo pour la gestion, et une bonne compréhension du DNS, de TLS et des protocoles de courriel. Bien que le processus paraisse complexe, il offre un haut niveau de contrôle et de confidentialité — précisément ce que permettent l'open source et une infrastructure auto-hébergée.