GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur de messagerie avec PostfixAdmin sur CentOS 7

Dans ce didacticiel, nous allons vous montrer comment installer et configurer Mail Server With PostfixAdmin sur CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, Postfixadmin est une interface Web pour MySQL ou Base de données MariaDB utilisée par Postfix. Avec Postfixadmin, nous pouvons facilement gérer à partir d'un navigateur Web notre service Postfix, ajouter et supprimer des utilisateurs et des domaines de messagerie, des alias de messagerie, des quotas de disque, etc.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation étape par étape de Mail Server With PostfixAdmin sur un serveur CentOS 7.

Prérequis

  • Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 7.
  • Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
  • Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
  • Un non-root sudo user ou l'accès à l'root user . Nous vous recommandons d'agir en tant qu'non-root sudo user , cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.

Installer le serveur de messagerie avec PostfixAdmin sur CentOS 7

Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.

yum clean allyum -y mise à jour

Étape 2. Installez le serveur LAMP.

Un serveur de pile CentOS 7 LAMP est requis. Si vous n'avez pas installé de LAMP, vous pouvez suivre notre guide ici. Installez également les modules PHP requis :

yum installer php70w-cli php70w-gd php70w-xml php70w-curl php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt

Étape 3. Configuration de MariaDB pour PostfixAdmin.

Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide de mysql_secure_installation scénario. Vous devez lire attentivement et ci-dessous chaque étape qui définira le mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé :

mysql_secure_installation

Configurez-le comme ceci :

- Définir le mot de passe root ? [O/n] y- Supprimer les utilisateurs anonymes ? [O/n] y- Interdire la connexion root à distance ? [O/n] y- Supprimer la base de données de test et y accéder ? [O/n] y- Recharger les tables de privilèges maintenant ? [O/n] oui

Ensuite, nous devrons nous connecter à la console MariaDB et créer une base de données pour PostfixAdmin. Exécutez la commande suivante :

mysql -u root -p

Cela vous demandera un mot de passe, alors entrez votre mot de passe root MariaDB et appuyez sur Entrée. Une fois que vous êtes connecté à votre serveur de base de données, vous devez créer une base de données pour Installation de PostfixAdmin :

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

Étape 4. Installation de PostfixAdmin.

La première chose à faire est d'aller sur la page de téléchargement de PostfixAdmin et de télécharger la dernière version stable de PostfixAdmin :

cd /var/www/htmlwget https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-3.3.11.tar.gztar -xzf postfixadmin-3.3.11.tar.gz 

Ouvrez le fichier de configuration principal :

nano /var/www/html/postfixadmin-3.3.11/config.inc.php

Modifiez les valeurs suivantes :

$CONF['configured'] =true;$CONF['database_type'] ='mysqli';$CONF['database_host'] ='localhost';$CONF['database_user'] ='postfixadmin';$ CONF['database_password'] ='strong_password';$CONF['database_name'] ='postfixadmin';$CONF['domain_path'] ='NO';$CONF['domain_in_mailbox'] ='YES';

Vous devez maintenant attribuer la propriété des fichiers et dossiers à l'utilisateur et au groupe Apache. Pour ce faire, la commande est :

chown -R apache :/var/www/html/postfixadmin-3.3.11

Pour remplir la base de données, allez sur https://Your_IP_Address/postfixadmin-3.0.2/setup.php et vous devriez voir quelque chose comme ci-dessous :

Test de la connexion à la base de données - OK - mysqli://postfixadmin:xxxxx@localhost/postfixadminTout semble correct... tentative de création/mise à jour de la structure de la base de données

Créez un nouvel utilisateur administrateur :

bash /var/www/html/postfixadmin-3.3.11/scripts/postfixadmin-cli admin add admin@your_domain_idroot.us --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1

Étape 5. Installation et configuration de Postfix.

Installez postfix avec la commande suivante :

yum -y install postfix

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

mkdir -p /etc/postfix/sql/
nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =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

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM boîte aux lettres,alias_domain WHERE alias_domain.alias_domain ='%d' and mailbox.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

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =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

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'#expansion_limit =100
nano /etc/postfix/sql/mysql_virtual_domains_maps.cf

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery          =SELECT domaine FROM domaine WHERE domaine='%s' AND active ='1'#query          =SELECT domaine FROM domaine WHERE domaine='%s'#requête facultative à utiliser lorsque relais pour la sauvegarde MX#query           =SELECT domain FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1'#expansion_limit =100
nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT quota FROM boîte aux lettres WHERE username='%s' AND active ='1'
nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf

Modifiez les valeurs suivantes :

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery           =SELECT maildir FROM boîte aux lettres WHERE username='%s' AND active ='1'#expansion_limit =100

Ensuite, modifiez le fichier main.cf :

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/pki/tls/certs/localhost.crt"postconf -e "smtpd_tls_key_file =/ etc/pki/tls/private/localhost.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, rejette_unauth_destination"postcon f -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, recherchez les sections de soumission inet n et smtps inet n et modifiez-les comme suit :

nano /etc/postfix/master.cf

Modifiez les valeurs suivantes :

 soumission iNet n - n - - smtpd -o syslog_name =postfix / soumission -o smtpd_tls_security_level =Crypter -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 -o smtpd_recipient_restrictions smtpd_relay_restrictions =permit_sasl_authenticated, rejeter -o milter_macro_daemon_name =ORIGINATINGsmtps iNet n - n - - smtpd -o syslog_name =postfix / smtps # -o smtpd_tls_wrappermode =yes -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 -o smtpd_recipient_restrictions smtpd_relay_restrictions =permit_sasl_authenticated, rejeter -o milter_macro_daemon_name =ORIGIN ATTER

Enfin, activez le service postfix :

systemctl enable postfixsystemctl restart postfix

Étape 6. Installation et configuration de Dovecot.

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

yum install dovecot dovecot-mysql

Ouvrez le fichier /etc/dovecot/conf.d/10-mail.conf :

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

Modifiez les valeurs suivantes :

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 :

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

Modifiez les valeurs suivantes :

auth_mechanisms =plain login#!include auth-system.conf.ext!include auth-sql.conf.ext

Créez un nouveau fichier dovecot-sql.conf.ext :

nano /etc/dovecot/dovecot-sql.conf.ext

Modifiez les valeurs suivantes :

driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=strong_passworddefault_pass_scheme =MD5-CRYPTpassword_query =SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/ var/vmail/%d/%n' comme userdb_mail, 150 comme userdb_uid, 8 comme 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'

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

ssl =oui

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

postmaster_address =postmaster@votre_nom_de_domaine.com

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

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

Trouvez 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    #group =vmail  }  user =dovecot} 

Changez la section service auth-worker comme suit :

service auth-worker {  user =vmail}

Vous devez maintenant attribuer la propriété des fichiers et des dossiers. Pour ce faire, la commande est :

chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecot

Enfin, activez et redémarrez le service dovecot :

systemctl enable dovecot systemctl restart dovecot

Étape 7. Installation et configuration de Spamassassin.

Installez SpamAssassin en utilisant la commande ci-dessous :

yum -y installer spamassassin

Créez un utilisateur système SpamAssassin :

groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassin

Ensuite, configurez Postfix pour utiliser SpamAssassin :

nano /etc/postfix/master.cf

Modifier les valeurs :

smtp      inet  n       -       n       -       -       smtpd

Avec :

smtp      inet  n       -       n       -       -       -       smtpd -o content_filter=spamassassin

Ajoutez la ligne suivante à la fin du fichier :

systemctl enable spamassassin systemctl restart spamassassin

Enfin, redémarrez le service postfix :

systemctl redémarrer postfix

Étape 8. Accéder à PostfixAdmin.

Si tout est configuré correctement maintenant, vous devriez pouvoir vous connecter à votre backend PostfixAdmin en allant sur http://Your_IP_Address/postfixadmin-3.0.2.2 et créez votre premier domaine virtuel et votre première boîte aux lettres.

Félicitations ! Vous avez installé PostfixAdmin avec succès. Merci d'avoir utilisé ce didacticiel pour l'installation de Mail Server With PostfixAdmin sur le système CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site Web officiel de PostfixAdmin.


Cent OS
  1. Comment installer SpamAssassin sur un serveur virtuel avec CentOS 6

  2. Comment installer Website Baker sur un VPS CentOS 7

  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 gérer le serveur CentOS 7 avec Webmin

Comment installer Lighttpd avec PHP-FPM et MariaDB sur CentOS 8

Comment installer Cacti Monitoring Server sur CentOS 8

Comment installer Zabbix Server 5.0 / 4.0 sur CentOS 8 / RHEL 8

Comment installer le serveur de messagerie Exim sur CentOS 6

Comment installer le serveur LEMP sur CentOS 8