GNU/Linux >> Tutoriels Linux >  >> Debian

Configurer un serveur de messagerie avec PostfixAdmin sur Debian 9

Dans ce tutoriel, nous allons vous montrer comment configurer un serveur de messagerie avec PostfixAdmin sur un VPS Debian 9. Nous allons configurer un serveur de messagerie avec Postfix, Dovecot et MariaDB.

PostfixAdmin est une interface graphique Web pour la base de données utilisée par Postfix. Vous pouvez facilement gérer votre serveur de messagerie, comme l'ajout et la suppression de domaines, de comptes de messagerie, d'alias et de quotas grâce à l'utilisation de Postfixadmin. L'interface graphique basée sur le Web rend ces fonctions et caractéristiques plus accessibles et vous permet de modifier et d'accéder aux informations lorsque vous êtes loin de votre terminal. Commençons.

Prérequis :

  • un VPS Debian 9
  • Accès SSH avec privilèges root ou accès à un utilisateur disposant de privilèges sudo

Étape 1 :Connectez-vous via SSH et mettez à jour le système

Connectez-vous à votre VPS Debian 9 :

# ssh root@IP_Address -p Port_number

Vous pouvez vérifier si vous avez la bonne version de Debian installée sur votre serveur avec la commande suivante :

# lsb_release -a

Vous devriez obtenir ce résultat :

ID distributeur :DebianDescription :Debian GNU/Linux 9.9 (Stretch)Version :9.9Nom de code :stretch

Ensuite, exécutez la commande suivante pour vous assurer que tous les packages installés sur le serveur sont mis à jour vers leurs dernières versions disponibles :

# apt update &&apt upgrade

Étape 2 :Créer un utilisateur système

Pour des raisons de sécurité, nous allons créer un nouvel utilisateur système qui sera le propriétaire de toutes les boîtes aux lettres.

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Utilisateur de messagerie virtuelle" vmail# mkdir -p /var/vmail# chmod -R 770 /var/vmail # chown -R vmail:mail /var/vmail

Étape 3 :Installer le serveur MariaDB

PostfixAdmin prend en charge les systèmes de bases de données MySQL/MariaDB, PostgreSQL et SQLite. Dans ce didacticiel, nous utiliserons MySQL/MariaDB comme moteur de stockage de base de données.

# apt install mariadb-server

Pour démarrer le service MariaDB et lui permettre de démarrer au démarrage, exécutez les commandes suivantes :

# systemctl start mariadb# systemctl enable mariadb

Maintenant, vous pouvez ignorer l'étape suivante si vous préférez ne pas avoir de mot de passe root MySQL.

# mysql_secure_installation

Lorsque vous y êtes invité, répondez aux questions ci-dessous en suivant le guide.

Entrez le mot de passe actuel pour root (entrez pour aucun) :appuyez simplement sur la touche [Entrée] puisqu'il n'y a pas de mot de passe par défaut. Définir le mot de passe root ? [O/n] : YNouveau mot de passe :saisissez le mot de passe. Saisissez à nouveau le nouveau mot de passe :répétez le mot de passe. Supprimer les utilisateurs anonymes ? [O/n] :YInterdire la connexion root à distance ? [O/n] :YSupprimer la base de données de test et y accéder ? [O/n] :YRecharger les tables de privilèges maintenant ? [O/n] :O

Si vous avez suivi l'étape ci-dessus, vous auriez alors un mot de passe nouvellement défini pour l'utilisateur root de MySQL.

Ensuite, exécutez cette commande pour accéder au shell MySQL.

# mysql -u root -p

N'oubliez pas d'entrer votre mot de passe root si vous avez exécuté le script d'installation sécurisée.

Continuons avec la création d'une base de données pour PostfixAdmin :

MariaDB [(aucun)]> CRÉER UNE BASE DE DONNÉES postfixadmin;MariaDB [(aucun)]> ACCORDER TOUS LES PRIVILÈGES SUR postfixadmin.* À 'postfixadmin'@'localhost' IDENTIFIÉ PAR 'M0d1fyth15';MariaDB [(aucun)]> FLUSH PRIVILÈGES;MariaDB [(aucun)]> \q

Assurez-vous de remplacer le mot de passe de l'utilisateur de la base de données par un bon mot de passe unique.

Étape 4 :Installez PHP et tous les modules PHP nécessaires

C'est

apt installer apache2 php php-mbstring php-imap php-mysql libapache2-mod-php7.0

Étape 5 :Installez Postfix

Installez Postfix avec la commande ci-dessous :

# apt install postfix-mysql


Choisissez Site Internet et cliquez sur OK pour continuer.

Il vous sera demandé le nom de messagerie du système, assurez-vous qu'il est identique à votre nom d'hôte.

Une fois l'installation terminée, nous devons créer des fichiers de configuration :

# mkdir -p /etc/postfix/sql/

À partir de là, plusieurs fichiers de configuration seront créés. Assurez-vous de remplacer ici toutes les valeurs qui sont différentes des valeurs nécessaires, sinon votre configuration risque de ne pas fonctionner.

# nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =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'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM boîte aux lettres,alias_domain WHERE alias_domain.alias_domain ='%d' et boîte aux lettres.username =CONCAT('%u', '@', alias_domain.target_domain) AND boîte aux lettres .active =1 ET alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =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 ET alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_domains_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT domain FROM domain WHERE domain='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT quota FROM boîte aux lettres WHERE username='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM boîte aux lettres WHERE username='%s' AND active ='1'

Dans les fichiers de configuration ci-dessus, nous utilisons 'm0d1fyth15' comme mot de passe, veuillez le changer pour votre propre mot de passe.

Maintenant, éditons le main.cf fichier en invoquant les commandes suivantes :

postconf -e "myhostname =$(hostname -f)"postconf -e "virtual_mailbox_domains =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"postconf -e "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"postconf -e "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"postconf -e "smtpd_tls_cert_file =/etc/ssl/certs/ssl-cert-snakeoil.pem"postconf -e "smtpd_tls_key_file =/etc/ssl/private/ssl-cert-snakeoil.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =yes"postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_sasl_path =private/auth" postconf -e "smtpd_sasl_auth_enable =yes" postconf -e "smtpd_recipient_restrictions =permit_sasl_authenticated, permit_mynetworks, reflect_unauth_destination" postconf -e "mydestination =localhost"postconf -e "mynetworks =127.0.0.0/8"postconf -e "inet_protocols =ipv4"postconf -e "inet_interfaces =all"postconf -e "virtual_transport =lmtp:unix:private/dovecot- lmtp"

Ouvrez le master.cf fichier, trouver submission inet n et smtps inet n sections et modifiez-les comme suit :

# nano /etc/postfix/master.cf
smtp inet n - y - - smtpd#smtp inet n - y - 1 postscreen#smtpd pass - - y - - smtpd#dnsblog unix - - y - 0 dnsblog#tlsproxy unix - - y - 0 tlsproxysubmission inet n - y - - smtpd-o syslog_name=postfix/submission-o smtpd_tls_security_level=encrypt-o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# - o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o smtpd_client_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATINGsmtps inet n - y - - smtpd-o syslog_name=postfix/smtps# -o smtpd_tls_wrappermode=yes-o smtpd_sasl_auth_enable=yes# - o smtpd_reject_unlisted_recipient=non-o smtpd_client_restrictions=permit_sasl_authenticated,reject# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATING

Activez et redémarrez le service Postfix :

# systemctl enable postfix# systemctl restart postfix

Étape 6 :Installez Dovecot

Installez Dovecot à l'aide de la commande ci-dessous :

# apt install dovecot-mysql

Ouvrez le fichier /etc/dovecot/conf.d/10-mail.conf et modifiez les valeurs suivantes :

# nano /etc/dovecot/conf.d/10-mail.conf
mail_location =maildir :/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150

Ouvrez le fichier /etc/dovecot/conf.d/10-auth.conf et modifiez les valeurs suivantes :

# nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms =plain login#!include auth-system.conf.ext!include auth-sql.conf.ext

Modifiez le dovecot-sql.conf.ext fichier, puis ajoutez ces lignes :

# nano /etc/dovecot/dovecot-sql.conf.ext
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=M0d1fyth15default_pass_scheme =MD5-CRYPTpassword_query =SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/ var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid FROM mailbox WHERE username ='%u' AND active ='1'user_query =SELECT '/var/vmail/%d/%u' as home, 'maildir:/var/vmail/%d/%u' as mail, 150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota FROM boîte aux lettres WHERE username ='%u' ET actif ='1'

N'oubliez pas de remplacer le mot de passe ainsi que toute autre valeur différente ici également.

Dans le fichier /etc/dovecot/conf.d/10-ssl.conf, activez le support SSL :

# nano /etc/dovecot/conf.d/10-ssl.conf
ssl =oui

Ouvrez le fichier /etc/dovecot/conf.d/15-lda.conf et définissez le postmaster_address adresse e-mail.

# nano /etc/dovecot/conf.d/15-lda.conf
postmaster_address [email protected]

Ouvrez le fichier /etc/dovecot/conf.d/10-master.conf, recherchez la section service lmtp et modifiez-la comme suit :

# nano /etc/dovecot/conf.d/10-master.conf
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}

recherchez la section d'authentification du service et remplacez-la par :

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}

Modifiez la section service auth-worker comme suit :

service auth-worker {user =vmail}

Définissez les autorisations :

# chown -R vmail:dovecot /etc/dovecot# chmod -R o-rwx /etc/dovecot

Activer et redémarrer le service Dovecot

# systemctl enable dovecot# systemctl restart dovecot

Étape 7 :Installez PostfixAdmin

Dans cette étape, nous allons télécharger PostfixAdmin depuis Github et le stocker dans le /opt répertoire.

# apt install git# cd /opt# git clone https://github.com/postfixadmin/postfixadmin.git# ln -s /opt/postfixadmin/public/ /var/www/html/mailadmin

Insérez ces lignes dans /opt/postfixadmin/config.local.php

# nano /opt/postfixadmin/config.local.php
# mkdir /opt/postfixadmin/templates_c# chown -R www-data:/opt/postfixadmin

Connectez-vous à http://1.2.3.4/mailadmin/setup.php, en veillant à remplacer 1.2.3.4 par l'adresse IP réelle de votre serveur. Si tout va bien, faites défiler vers le bas et créez un mot de passe de configuration.

cliquez sur générer un hachage, et vous verrez ceci :

Vous devez coller le setup_password hachage comme indiqué dans l'image ci-dessus vers /opt/postfixadmin/config.local.php, il devrait ressembler à ceci


 Enregistrez le fichier, puis vous pouvez revenir à la page de configuration pour créer un utilisateur administrateur PostfixAdmin. Le mot de passe de configuration de cette page est le même mot de passe que vous avez utilisé à l'étape précédente - remplissez les autres champs comme vous le souhaitez, puis cliquez sur le bouton "Ajouter un administrateur".

Maintenant, vous pouvez aller sur http://1.2.3.4/mailadmin/login.php pour ajouter vos domaines et y créer des adresses e-mail.

C'est ça! Vous avez maintenant PostfixAdmin configuré et exécuté sur votre serveur Debian 9.

Bien sûr, vous n'avez pas besoin de configurer un serveur de messagerie avec PostfixAdmin sur Debian 9 si vous utilisez l'un de nos services d'hébergement de serveur de messagerie, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer un serveur de messagerie pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la configuration d'un serveur de messagerie avec PostfixAdmin sur Debian 9, ou si vous l'avez trouvé utile, partagez-le avec vos amis sur les réseaux sociaux en utilisant les raccourcis de partage, ou laissez simplement un commentaire dans la section Commentaires dessous. Merci.


Debian
  1. Configurer un serveur de messagerie avec PostfixAdmin

  2. Comment configurer un serveur SFTP sur le serveur Debian 11

  3. Configurer un serveur de messagerie avec PostfixAdmin et MariaDB sur CentOS 7

  4. Comment configurer un serveur de messagerie avec PostfixAdmin sur CentOS 7

  5. Comment installer un serveur de messagerie avec PostfixAdmin sur Ubuntu 20.04

Comment configurer facilement un serveur de messagerie sur Debian 9 Stretch avec iRedMail

Comment configurer facilement un serveur de messagerie sur Debian 10 Buster avec iRedMail

Configuration initiale du serveur avec Debian 11

Comment configurer LAMP avec Debian 11

Comment installer le serveur de messagerie avec PostfixAdmin sur CentOS 7

Comment configurer un serveur de messagerie avec Modoboa sur Ubuntu 20.04