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

Comment configurer un serveur de messagerie avec PostfixAdmin sur CentOS 7

Dans cet article, nous allons vous montrer comment installer et configurer un serveur de messagerie avec PostfixAdmin, Postfix, Dovecot et SQLite sur un VPS CentOS. PostfixAdmin est une interface Web basée sur PHP qui vous permet de gérer des domaines virtuels et des utilisateurs pour un agent de transport de courrier Postfix. Ce guide devrait également fonctionner sur d'autres systèmes VPS Linux, mais a été testé et écrit pour un VPS CentOS 7.

Si vous utilisez Ubuntu, suivez notre tutoriel pour configurer Postfix, Dovecot, Spamassassin, SQLite et PostfixAdmin sur un VPS Ubuntu 16.04 avec Nginx et PHP 7.0

1. Mettez à jour le système et installez les packages nécessaires

yum mettre à jour yum installer wget nano sqlite

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" vmailmkdir -p /var/vmailchmod -R 770 /var/vmailchown -R vmail:mail /var/vmail

3. Installer PostfixAdmin

La dernière version de PostfixAdmin, version 3, prend en charge les bases de données MySQL, PostgreSQL et SQLite. Dans ce guide, nous utiliserons SQLite.
Téléchargez l'archive PostfixAdmin depuis SourceForge et extrayez-la dans le répertoire /var/www/html/ :

wget -q -O - "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2.2/postfixadmin-3.0.2.2.tar.gz" | tar -xzf - -C /var/www/html

Ouvrez le fichier de configuration de messagerie et modifiez les valeurs suivantes :

nano /var/www/html/postfixadmin-3.0.2/config.inc.php
$CONF['configured'] =true;$CONF['database_type'] ='sqlite';// $CONF['database_host'] ='localhost';// $CONF['database_user'] =' postfix';// $CONF['database_password'] ='postfixadmin';$CONF['database_name'] ='/var/vmail/postfixadmin.db';$CONF['domain_path'] ='NO';$CONF ['domain_in_mailbox'] ='OUI' ;
chown -R apache :/var/www/html/postfixadmin-3.0.2

Créez la base de données SQLite :

touchez /var/vmail/postfixadmin.dbchown vmail:mail /var/vmail/postfixadmin.dbchmod 660 /var/vmail/postfixadmin.dbusermod -a -G mail apache

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 :
Testing database connection - OK - sqlite://:xxxxx@//var/vmail/postfixadmin.db
Everything seems fine... attempting to create/update database structure

Créez un nouvel utilisateur administrateur :

bash /var/www/html/postfixadmin-3.0.2/scripts/postfixadmin-cli admin add admin@your_domain_name.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1

4. Installer et configurer postfix

Postfix version 3 n'est pas disponible dans le référentiel CentOS 7 par défaut, nous allons donc utiliser le référentiel GhettoForge :

rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Installez postfix3 avec le support SQLite avec la commande ci-dessous :

yum installer postfix3 postfix3-sqlite --enablerepo=gf-plus

Une fois l'installation terminée, créez les fichiers suivants :

nano /etc/postfix/sqlite_virtual_alias_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address ='%u' || '@' || alias_domain.target_domain AND alias.active =1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address ='@' || alias_domain.target_domain AND alias.active =1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT domaine FROM domaine WHERE domaine='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM boîte aux lettres WHERE username='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM boîte aux lettres,alias_domain WHERE alias_domain.alias_domain ='%d' et boîte aux lettres.username ='%u' || '@' || alias_domain.target_domain ET boîte aux lettres.active =1 ET alias_domain.active='1'

[ecko_alert color="blue"]Coincé quelque part ? Obtenez un VPS de notre part et nous ferons tout cela pour vous, gratuitement ! Nous installerons et configurerons complètement un serveur de messagerie pour vous. [/ecko_alert]

Modifiez le main.cf fichier :

postconf -e "myhostname =$(hostname -f)" postconf -e "virtual_mailbox_domains =sqlite:/etc/postfix/sqlite_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =sqlite:/etc/postfix/sqlite_virtual_alias_maps.cf, sqlite :/etc/postfix/sqlite_virtual_alias_domain_maps.cf, sqlite :/etc/postfix/sqlite_virtual_alias_domain_catchall_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 =oui" postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_sasl_path =privé/auth"postconf -e "smtpd_sasl_auth_enable =oui"postconf -e "smtpd_recipient_restrictions =" 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
soumission inet n - n - - 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_helo_client_restrictions=$mua_helo_client_restrictions# -o smtp_restrictions# -o _helo_client_restrictions# -o smtp_restrictions# -o smtpd_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=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 smtpd_recipient_restrictions=-o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGI NATION

Activer et redémarrer le service postfix

systemctl enable postfixsystemctl restart postfix

5. Installer et configurer Dovecot

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

yum install dovecot

Ouvrez le /etc/dovecot/conf.d/10-mail.conf fichier 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 /etc/dovecot/conf.d/10-auth.conf fichier 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

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

nano /etc/dovecot/dovecot-sql.conf.ext
driver =sqliteconnect =/var/vmail/postfixadmin.dbdefault_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 boîte aux lettres WHERE username ='%u' AND active ='1'user_query =\ SELECT '/var/vmail/%d/%n' comme home, 'maildir:/var/vmail/%d/%n' comme mail, \ 150 AS uid, 8 AS gid, 'dirsize:storage=' || quota AS quota \ FROM boîte aux lettres WHERE username ='%u' AND active ='1'

Dans le /etc/dovecot/conf.d/10-ssl.conf fichier activer la prise en charge SSL :

ssl =oui

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

postmaster_address =postmaster@votre_nom_de_domaine.com

Ouvrez le /etc/dovecot/conf.d/10-master.conf fichier, 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 }}

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 #group =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/dovecotchmod -R o-rwx /etc/dovecot

Activer et redémarrer le service pigeonnier

systemctl enable dovecot systemctl restart dovecot 

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.

Bien sûr, vous n'êtes pas obligé de configurer un serveur de messagerie avec PostfixAdmin sur CentOS 7, 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 le configurer 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, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons ci-dessous ou laissez simplement un commentaire dans la section Commentaires ci-dessous. Merci.


Cent OS
  1. Comment configurer des serveurs DNS privés avec BIND sur CentOS 8

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

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

  4. Configurer un serveur de messagerie avec PostfixAdmin sur Debian 9

  5. Comment configurer VSFTPD sur CentOS 8

Comment installer le serveur de messagerie Exim sur CentOS 6

Comment installer le serveur de messagerie avec PostfixAdmin sur CentOS 7

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer un serveur TeamSpeak sur CentOS 7

Comment configurer un serveur de messagerie complet avec IRedMail sur Centos 7 VPS

Comment configurer un serveur de messagerie avec Modoboa sur Ubuntu 20.04