# Déployer un Serveur Mail sur Debian 12 avec Postfix, Dovecot, MySQL, et RoundCube Par Neil ANDRE, le 04/07/2025 Dans ce tutoriel, nous allons apprendre à déployer un serveur mail sur Debian 12 avec Postfix, Dovecot, MySQL, et RoundCube. Un serveur mail peut être défini comme un programme ou un logiciel qui gère la réception, l'envoi et la gestion des emails dans une organisation. Cela est crucial car cela détermine comment la communication se fait sur votre réseau. Chaque fois qu'un email est envoyé, il passe par plusieurs serveurs avant d'atteindre sa destination. Cependant, ce processus est si rapide que vous ne réalisez peut-être pas la complexité impliquée. Les serveurs mail sont divisés en deux catégories principales : - **Serveurs Mail Hébergés** : Ils sont généralement fournis par des prestataires de services tiers qui offrent tout ce qui est nécessaire et vous n'avez pas à vous soucier de la configuration, de la maintenance ou de la sécurité du serveur. Des exemples de tels serveurs mail sont Zoho Mail, Google Workspace (anciennement G Suite), Microsoft 365 (anciennement Office 365), FastMail, etc. - **Serveurs Mail Auto-Hébergés** : Ceux-ci sont configurés et gérés par l'organisation et les utilisateurs ont un contrôle total sur la configuration du serveur, les choix de logiciels et la sécurité. Ceux-ci nécessitent une expertise technique pour la configuration et la maintenance. Des exemples incluent Microsoft Exchange Server, Postfix, Exim, Dovecot, Cyrus IMAP, Zimbra, etc. Dans ce guide, nous allons apprendre à déployer un serveur mail auto-hébergé avec Postfix, Dovecot, MySQL, et RoundCube. Tous les composants ici joueront leur rôle crucial comme expliqué ci-dessous : - **Postfix** : C'est un agent de transfert de mail (MTA) puissant, polyvalent, gratuit et open-source. Il est utilisé pour relayer le courrier électronique entre les serveurs via Internet. Postfix est hautement configurable et offre une flexibilité exceptionnelle, permettant aux utilisateurs de personnaliser son comportement pour répondre à leurs besoins et exigences spécifiques. - **Dovecot** : Ce serveur de messagerie open-source est conçu pour les systèmes de type Linux/UNIX et sert de serveur IMAP et POP3 sécurisé. Conçu avec un accent principal sur la sécurité, il fonctionne comme un agent de livraison local (LDA). Son rôle principal consiste à recevoir les emails de Postfix ou d'autres logiciels de serveur de messagerie/MTA et à les stocker en toute sécurité pour les utilisateurs. - **Roundcube** : Une interface conviviale est essentielle pour accéder et gérer les emails. Roundcube est une solution très appréciée qui répond à ces besoins de manière transparente. En tant que client IMAP multilingue basé sur un navigateur, Roundcube offre une interface utilisateur de type application, le rendant intuitif et familier aux utilisateurs. Il offre une suite complète de fonctionnalités de client de messagerie, y compris un carnet d'adresses, une manipulation facile des dossiers, une vérification orthographique, une recherche de messages efficace et un support MIME robuste. Avec Roundcube, les utilisateurs profitent d'une expérience de messagerie riche en fonctionnalités et sans tracas, ce qui en fait un choix idéal pour la gestion des emails. ## Prérequis Pour que ce guide fonctionne, vous avez besoin des éléments suivants : - Un nom de domaine entièrement qualifié (FQDN) - Créer des enregistrements A et MX pour votre domaine dans un serveur de noms de domaine public # a. Commencez par mettre à jour votre système : sudo apt update && sudo apt upgrade -y # b. Définissez le nom d'hôte : sudo hostnamectl set-hostname mail.univ-poitiers.fr # c. Mapper ce nom d'hôte vers /etc/hosts : sudo nano /etc/hosts 127.0.0.1 mail.univ-poitiers.fr # d. Vérifiez les modifications : hostnamectl 1. Installer Postfix, Apache et PHP : sudo apt-get install postfix postfix-mysql vim apache2 curl -y # Installez PHP et toutes les extensions requises : sudo apt install php php-{pear,cgi,common,curl,gmp,fpm,mbstring,gd,bcmath,json,xml,fpm,intl,zip} php8.2-{gettext,mysql} -y # Vérifiez la version de PHP installée : php --version 2. Générer un certificat SSL pour votre domaine: A récupérer dans le répertoire des certificats : mail-ca (ca.crt, mail-ca.crt, mail-ca.key) # Créez un répertoire avec les permissions requises pour les certificats : sudo mkdir /etc/postfix/ssl sudo chmod -R 775 /etc/postfix/ssl # Copiez les certificats générés dans le répertoire dans /tmp/ et les recopier dans le bon répertoire : sudo cp /tmp/ca.crt /etc/postfix/ssl/ sudo cp /tmp/mail-ca.crt /etc/postfix/ssl/ sudo cp /tmp/mail-ca.key /etc/postfix/ssl/ 3. Installer et configurer la base de données MariaDB : sudo apt install mariadb-server -y # Activer et démarrer le service : sudo systemctl enable --now mariadb # Sécurisez votre installation MariaDB : sudo mysql_secure_installation --- Enter current password for root (enter for none): Appuyez simplement sur Entrée ...... Switch to unix_socket authentication [Y/n] Y ..... Change the root password? [Y/n] Y New password: Nouveau-mot-de-passe-root Re-enter new password: Réentrez Nouveau-mot-de-passe-root .... Remove anonymous users? [Y/n] Y .... Disallow root login remotely? [Y/n] Y ..... Remove test database and access to it? [Y/n] Y ...... Reload privilege tables now? [Y/n] Y ... Thanks for using MariaDB! --- # Connectez-vous en utilisant l'utilisateur root et le mot de passe créé ci-dessus : mysql -u root -p # Créez une base de données et un utilisateur pour Roundcube : create database roundcube; grant all on roundcube.* to roundcube_admin@localhost identified by 'Password*2025'; flush privileges; # Créez la base de données et l'utilisateur requis pour Postfix : create database postfix_accounts; grant all on postfix_accounts.* to postfix_admin@localhost identified by 'Password*2025'; flush privileges; # Créez une table dans la base de données pour stocker les domaines : CREATE TABLE `postfix_accounts`.`domains_table` ( `DomainId` INT NOT NULL AUTO_INCREMENT, `DomainName` VARCHAR(50) NOT NULL, PRIMARY KEY (`DomainId`) ) ENGINE = InnoDB; # Créez une autre table pour stocker les comptes utilisateurs : CREATE TABLE `postfix_accounts`.`accounts_table` ( `AccountId` INT NOT NULL AUTO_INCREMENT, `DomainId` INT NOT NULL, `password` VARCHAR(300) NOT NULL, `Email` VARCHAR(100) NOT NULL, PRIMARY KEY (`AccountId`), UNIQUE KEY `Email` (`Email`), FOREIGN KEY (DomainId) REFERENCES domains_table(DomainId) ON DELETE CASCADE ) ENGINE = InnoDB; # Créez également une table pour stocker les données d'alias d'email : CREATE TABLE `postfix_accounts`.`alias_table` ( `AliasId` INT NOT NULL AUTO_INCREMENT, `DomainId` INT NOT NULL, `Source` varchar(100) NOT NULL, `Destination` varchar(100) NOT NULL, PRIMARY KEY (`AliasId`), FOREIGN KEY (DomainId) REFERENCES domains_table(DomainId) ON DELETE CASCADE ) ENGINE = InnoDB; # Dans la table des comptes créée, nous allons ajouter quelques comptes et alias : INSERT INTO `postfix_accounts`.`domains_table` (DomainName) VALUES ('univ-poitiers.fr'); INSERT INTO `postfix_accounts`.`accounts_table` (DomainId, password, Email) VALUES (1, ENCRYPT('Password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'tech@univ-poitiers.fr'); INSERT INTO `postfix_accounts`.`accounts_table` (DomainId, password, Email) VALUES (1, ENCRYPT('Password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'alain@univ-poitiers.fr'); INSERT INTO `postfix_accounts`.`alias_table` (DomainId, Source, Destination) VALUES (1, 'neil.andre@univ-poitiers.fr', 'neil@univ-poitiers.fr'); # Il faudra utiliser le compte utilisateur postfix_admin et mots de passe créé. Quittez le shell : exit 4. Configurer Postfix MTA # Ouvrez le fichier de configuration principal : sudo nano /etc/postfix/master.cf #Décommentez les lignes suivantes : ---- submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt ## Commentez ceci si vous n'avez pas de SSL (non recommandé) -o smtpd_tls_auth_only=yes ## Commentez ceci si vous n'avez pas de SSL (non recommandé) -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING -o smtpd_reject_unlisted_recipient=no # Ajoutez les lignes suivantes en bas pour Dovecot : dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} ---- # Ouvrez la configuration principale de Postfix : sudo nano /etc/postfix/main.cf ---- myhostname = mail.univ-poitiers.fr #Décommentez ces lignes : myorigin = \$myhostname inet_interfaces = all inet_protocols = all mydestination = \$myhostname, localhost.univ-poitiers.fr, localhost smtpd_recipient_restrictions = permit_mynetworks home_mailbox = Maildir/ #Ajouter les lignes suivantes : config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 smtpd_tls_cert_file = /etc/postfix/ssl/mail-ca.crt smtpd_tls_key_file = /etc/postfix/ssl/mail-ca.key smtpd_use_tls=yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:\${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:\${data_directory}/smtp_scache virtual_transport = dovecot smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth virtual_mailbox_domains = mysql:/etc/postfix/database-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/database-users.cf virtual_alias_maps = mysql:/etc/postfix/database-alias.cf ---- # Configurer les fichiers pour la base de données : sudo nano /etc/postfix/database-domains.cf --- user = postfix_admin password = Password*2025 hosts = 127.0.0.1 dbname = postfix_accounts query = SELECT 1 FROM domains_table WHERE DomainName='%s' --- # Fournissez les détails du compte utilisateur : sudo nano /etc/postfix/database-users.cf --- user = postfix_admin password = Password*2025 hosts = 127.0.0.1 dbname = postfix_accounts query = SELECT 1 FROM accounts_table WHERE Email='%s' # Pour les alias d'email : sudo nano /etc/postfix/database-alias.cf --- user = postfix_admin password = Password*2025 hosts = 127.0.0.1 dbname = postfix_accounts query = SELECT Destination FROM alias_table WHERE Source='%s' --- # Fournissez les permissions requises pour les fichiers : sudo chmod 640 /etc/postfix/database-domains.cf sudo chmod 640 /etc/postfix/database-users.cf sudo chmod 640 /etc/postfix/database-alias.cf sudo chown root\:postfix /etc/postfix/database-domains.cf sudo chown root\:postfix /etc/postfix/database-users.cf sudo chown root\:postfix /etc/postfix/database-alias.cf # Rdémarrez Postfix : sudo systemctl restart postfix # Tester le bon fonctionnement de Postfix: sudo postmap -q univ-poitiers.fr mysql:/etc/postfix/database-domains.cf sudo postmap -q tech@univ-poitiers.fr mysql:/etc/postfix/database-users.cf sudo postmap -q vincent@univ-poitiers.fr mysql:/etc/postfix/database-users.cf sudo postmap -q alain@univ-poitiers.fr mysql:/etc/postfix/database-alias.cf 5. Installer et configurer Dovecot # Installez les paquets requis en utilisant la commande : sudo apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql -y # Aoutez un utilisateur pour gérer les emails : sudo groupadd -g 6000 vmail sudo useradd -g vmail -u 6000 vmail -d /home/vmail -m # Ouvrez le fichier de configuration principal : sudo nano /etc/dovecot/dovecot.conf --- protocols = imap pop3 lmtp listen = *, :: log_path = /var/log/dovecot.log ## Ajoutez ceci pour les logs --- # Créez un chemin pour stocker les logs pour Dovecot : sudo touch /var/log/dovecot.log sudo chmod 777 /var/log/dovecot.log # Modifiez le fichier suivant comme indiqué : sudo nano /etc/dovecot/conf.d/10-auth.conf --- disable_plaintext_auth = yes auth_mechanisms = plain login #!include auth-system.conf.ext !include auth-sql.conf.ext ## Activez uniquement l'authentification via SQL et laissez toutes les autres méthodes d'authentification désactivées --- # Définir les variables dans le fichier auth-sql.conf.ext spécifié ci-dessus : sudo nano /etc/dovecot/conf.d/auth-sql.conf.ext ---- passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } #userdb { # driver = sql # args = /etc/dovecot/dovecot-sql.conf.ext #} userdb { driver = static ## N'oubliez pas de changer ceci args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir } # Créez le répertoire : sudo mkdir /home/vmail/univ-poitiers.fr #ajoutez les détails de la base de données pour Postfix comme indiqué : sudo nano /etc/dovecot/dovecot-sql.conf.ext ---- driver = mysql connect = "host=127.0.0.1 dbname=postfix_accounts user=postfix_admin password=Password*2025" default_pass_scheme = SHA512-CRYPT password_query = SELECT Email as User, password FROM accounts_table WHERE Email='%u'; ---- # Configurez les emplacements des boîtes aux lettres et les espaces de noms : sudo nano /etc/dovecot/conf.d/10-mail.conf ---- mail_location = maildir:/home/vmail/%d/%n/Maildir/ namespace inbox { inbox = yes } mail_privileged_group = mail ---- # Ouvrez le fichier de configuration principal de Dovecot et faites ces ajustements : sudo nano /etc/dovecot/conf.d/10-master.conf ---- service imap-login { inet_listener imap { port = 0 #143 } inet_listener imaps { port = 993 ssl = yes } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service submission-login { inet_listener submission { #port = 587 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail } user = dovecot } service auth-worker { user = vmail } service dict { unix_listener dict { } } service stats { unix_listener stats-reader { user = vmail group = vmail mode = 0660 } unix_listener stats-writer { user = vmail group = vmail mode = 0660 } } ---- # Définissez les permissions et les droits de propriété corrects : sudo chown -R vmail\:vmail /home/vmail sudo chmod -R 775 /home/vmail sudo chown -R vmail\:dovecot /etc/dovecot sudo chmod -R o-rwx /etc/dovecot # Configurez les paramètres SSL pour Dovecot : sudo nano /etc/dovecot/conf.d/10-ssl.conf ---- # ssl = no ## Si vous souhaitez utiliser SSL ici, utilisez ssl = required puis ajoutez les fichiers comme suit : ssl = required ssl_cert = Cliquer sur le bouton : CREATE CONFIG ->Cliquer sur CONTINUE ->Cliquer sur Initialize database # Définir les permissions correctes : sudo chown www-data\:www-data /var/www/html/roundcubemail/config/config.inc.php # Modifiez le fichier pour fournir la configuration : sudo nano /var/www/html/roundcubemail/config/config.inc.php ..... ## If SSL is configured, (comment out the line below and use): #$config['imap_host'] = 'localhost:143'; ##Use this if no SSL is configured #$config['default_host'] = 'ssl://mail.univ-poitiers.fr'; $config['imap_host'] = 'ssl://mail.univ-poitiers.fr'; ## If SSL is confgured, use: #$config['smtp_host'] = 'mail.univ-poitiers.fr'; ##Use this if no SSL is configured $config['smtp_host'] = 'tls://mail.univ-poitiers.fr'; $config['support_url'] = ''; $config['default_port'] = 993; #$config['default_port'] = 143; ##enable this if no SSL is enabled $config['smtp_port'] = 587; $config['smtp_user'] = '%u'; $config['smtp_pass'] = '%p'; $config['smtp_auth_type'] = 'LOGIN'; $config['debug_level'] = 1; $config['smtp_debug'] = true; $config['auto_create_user'] = true; $config['plugins'] = array('virtuser_query'); $config['virtuser_query'] = "SELECT Email FROM postfix_accounts.accounts_table WHERE Email = '%u'"; ## Enables Roundcube to use authentication for virtual users for outgoing mail ---- # Ouvrir des ports pour le pare-feu: sudo ufw allow 443/tcp sudo ufw allow 25/tcp sudo ufw allow 110/tcp sudo ufw allow 143/tcp sudo ufw allow 465/tcp sudo ufw allow 587/tcp sudo ufw allow 993/tcp sudo ufw allow 995/tcp # Administrer le serveur mail les actions possibles : -> Pour ajouter un nouveau domaine : mysql -u postfix_admin -p -e "INSERT INTO postfix_accounts.domains_table (DomainName) VALUES ('univ-poitiers.fr');" -> Pour ajouter un nouveau compte de messagerie : mysql -u postfix_admin -p -e "INSERT INTO postfix_accounts.accounts_table (DomainId, password, Email) VALUES ((SELECT DomainId FROM postfix_accounts.domains_table WHERE DomainName='univ-poitiers.fr'), ENCRYPT('Password*2025', CONCAT('\$6\$', SUBSTRING(SHA(RAND()), -16))), 'vincent@univ-poitiers.fr');" mysql -u postfix_admin -p -e "INSERT INTO postfix_accounts.accounts_table (DomainId, password, Email) VALUES ((SELECT DomainId FROM postfix_accounts.domains_table WHERE DomainName='univ-poitiers.fr'), ENCRYPT('Password*2025', CONCAT('\$6\$', SUBSTRING(SHA(RAND()), -16))), 'neil@univ-poitiers.fr');" -> Pour ajouter un alias : mysql -u postfix_admin -p -e "INSERT INTO postfix_accounts.alias_table (DomainId, Source, Destination) VALUES ((SELECT DomainId FROM postfix_accounts.domains_table WHERE DomainName='univ-poitiers.fr'), 'alias@univ-poitiers.fr', 'destination@univ-poitiers.fr');" ex : mysql -u postfix_admin -p -e "INSERT INTO postfix_accounts.alias_table (DomainId, Source, Destination) VALUES ((SELECT DomainId FROM postfix_accounts.domains_table WHERE DomainName='univ-poitiers.fr'), 'vincent.dubois@univ-poitiers.fr', 'vincent@univ-poitiers.fr');" -> Pour mettre à jour le mot de passe d'un compte de messagerie : mysql -u postfix_admin -p -e "UPDATE postfix_accounts.accounts_table SET password = ENCRYPT('Password*2025', CONCAT('\$6\$', SUBSTRING(SHA(RAND()), -16))) WHERE Email = 'vincent@univ-poitiers.fr';" -> Pour supprimer un compte de messagerie : mysql -u postfix_admin -p -e "DELETE FROM postfix_accounts.accounts_table WHERE Email = 'vincent@univ-poitiers.fr';" -> Pour supprimer un alias mysql -u postfix_admin -p -e "DELETE FROM postfix_accounts.alias_table WHERE Source = 'alias@univ-poitiers.fr';" mysql -u postfix_admin -p -e "DELETE FROM alias_table WHERE Source = 'vincent@univ-poitiers.fr';" -> Pour vérifier les quotas et les boites mails : sudo doveadm quota get -u vincent@univ-poitiers.fr -> Utilisation et options de doveadmin : La commande doveadm mailbox status est utilisée pour obtenir des informations sur l'état d'une ou plusieurs boîtes aux lettres pour un utilisateur spécifique dans Dovecot. Voici quelques options et paramètres que vous pouvez utiliser avec cette commande : -u : Cette option vous permet de spécifier l'utilisateur pour lequel vous souhaitez obtenir des informations sur la boîte aux lettres. Par exemple, -u vincent@univ-poitiers.fr. -A : Utilisez cette option pour obtenir des informations sur toutes les boîtes aux lettres de tous les utilisateurs. C'est utile pour les administrateurs qui ont besoin d'un aperçu global. -S : Cette option vous permet de spécifier le chemin d'un socket Dovecot à utiliser pour la communication. Cela peut être utile si Dovecot est configuré pour utiliser un socket non standard. : Vous pouvez spécifier les champs que vous souhaitez inclure dans la sortie. Voici quelques champs courants que vous pouvez utiliser : messages : Nombre total de messages. recent : Nombre de messages récents. unseen : Nombre de messages non lus. uidnext : L'UID suivant qui sera attribué à un nouveau message. firstunseen : L'UID du premier message non lu. size : Taille totale de la boîte aux lettres en octets. vsizes : Taille virtuelle totale des messages. guid : Identifiant global unique de la boîte aux lettres. : Vous pouvez spécifier une ou plusieurs boîtes aux lettres pour lesquelles vous souhaitez obtenir des informations. Par exemple, INBOX, Sent, Trash, etc. Utilisez * pour inclure toutes les boîtes aux lettres. Exemples d'utilisation -> Pour obtenir le nombre total de messages et de messages non lus pour la boîte de réception de l'utilisateur vincent@univ-poitiers.fr : sudo doveadm mailbox status -u vincent@univ-poitiers.fr messages unseen INBOX -> Pour obtenir des informations sur toutes les boîtes aux lettres de tous les utilisateurs : sudo doveadm mailbox status -A messages unseen size '*' -> Pour obtenir des informations détaillées sur toutes les boîtes aux lettres de l'utilisateur vincent@univ-poitiers.fr : sudo doveadm mailbox status -u vincent@univ-poitiers.fr all '*' -> Pour surveiller et diagnostiquer les problèmes, vérifiez les logs de Postfix et Dovecot : sudo tail -f /var/log/mail.log sudo tail -f /var/log/dovecot.log -> Redémarrage des services : sudo systemctl restart postfix sudo systemctl restart dovecot -> Pour sauvegarder régulièrement votre base de données : mysqldump -u postfix_admin -p postfix_accounts > postfix_accounts_backup.sql # Connexion au serveur mail : http://mail.univ-poitiers.fr/roundcubemail # Faire un test d'envoie et de réception de mail # Vérifier les logs sudo tail -f /var/log/dovecot.log # Désactiver le dossier installer sudo rm -rf /var/www/html/roundcubemail/installer ### Manipulation la base de données postfix_admin : # Connexion à la base de données : mysql -u postfix_admin -p # Afficher les bases de données disponibles : show databases; # Sélectionner la base de données souhaitée : use postfix_accounts # Afficher les tables : show tables; # Afficher le contenu de chaque table : select * from domains_table; select * from accounts_table; select * from alias_table; ### S'il y a des erreurs : Vérifier les logs sudo mkdir -p /var/lib/postfix sudo postmap /var/lib/postfix/smtpd_scache sudo touch /var/lib/postfix/smtpd_scache sudo postmap /var/lib/postfix/smtpd_scache ## Si on veut administrer le serveur mail via une interface graphique, installer PostfixAdmin : #Installation de PostfixAdmin #Télécharger PostfixAdmin #Vous pouvez télécharger la dernière version de PostfixAdmin depuis son dépôt officiel sur SourceForge ou GitHub. Utilisez la commande suivante pour télécharger la dernière version depuis GitHub : wget https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.3.10.tar.gz sudo tar -xvzf postfixadmin-3.3.10.tar.gz -C /var/www/html sudo mv /var/www/html/postfixadmin-postfixadmin-3.3.10 /var/www/html/postfixadmin sudo chown -R www-data:www-data /var/www/html/postfixadmin mysql -u root -p CREATE DATABASE postfixadmin; CREATE USER 'postfixadmin_user'@'localhost' IDENTIFIED BY 'Password*2025'; GRANT ALL PRIVILEGES ON postfixadmin.* TO 'postfixadmin_user'@'localhost'; FLUSH PRIVILEGES; cd /var/www/html/postfixadmin sudo cp config.inc.php.sample config.inc.php sudo nano config.inc.php ---- $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin_user'; $CONF['database_password'] = 'Password*2025'; $CONF['database_name'] = 'postfixadmin'; $CONF['encrypt'] = 'md5crypt'; --- sudo nano /etc/apache2/sites-available/postfixadmin.conf ---- ServerAdmin admin@yourdomain.com DocumentRoot /var/www/html/postfixadmin ServerName postfixadmin.yourdomain.com Options FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ---- sudo a2ensite postfixadmin.conf sudo systemctl restart apache2 http://postfixadmin.univ-poitiers.fr Lors de la première connexion, vous devrez configurer le super administrateur. Suivez les instructions à l'écran pour créer le compte administrateur