GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer un serveur de messagerie avec Exim4 et DBMail sur un VPS Debian 7

Dans cet article, nous vous guiderons à travers les étapes sur comment configurer un serveur de messagerie avec Exim4 et DBMail sur un VPS Linux Debian 7 (Wheezy) .

Qu'est-ce qu'Exim4 ?

Il s'agit d'un agent de transfert de courrier (MTA) utilisé sur les systèmes d'exploitation de type Unix qui est responsable de la réception, du routage et de la livraison des messages électroniques.

Qu'est-ce que DBMail ?

Il s'agit d'un service de messagerie basé sur sql, rapide et évolutif, qui stocke les messages électroniques dans une base de données relationnelle. Il prend en charge plusieurs frontaux comme IMAP4 , POP3 , GérerSieve , LMTP etc. et plusieurs back-ends comme MySQL , PostgreSQL , Oracle et SQLite .

Principaux avantages de DBMail sont :

  • Évolutivité
  • Gérabilité
  • Vitesse
  • Sécurité
  • Flexibilité

Configuration requise ?

  • Un hébergement VPS Linux Debian 7
  • Serveur de base de données
  • MTA Exim

MISE À JOUR DU SYSTÈME

La première chose à faire est de vous connecter en SSH à votre VPS Debian, lancez un screen session et mettez à jour votre vps Linux à l'aide des commandes suivantes :

## screen -U -S exim-dbmail
## apt-get update
## apt-get upgrade

AJOUTER DES SOURCES DBMAIL

Continuez en ajoutant les sources de DBMail à votre sources.list afin que vous puissiez installer les packages requis à l'étape suivante. Vous pouvez ajouter les sources à l'aide des commandes suivantes :

## cp /etc/apt/sources.list{,.orig}
## echo "deb http://debian.nfgd.net/debian stable main" >> /etc/apt/sources.list
## echo "deb-src http://debian.nfgd.net/debian stable main" >> /etc/apt/sources.list

INSTALLER LES PACKAGES REQUIS

Mettre à jour les sources en utilisant apt et installez les packages nécessaires en exécutant les commandes suivantes dans votre terminal en tant que root :

## apt-get update
## apt-get install exim4 exim4-daemon-heavy mysql-server mysql-client dbmail
## apt-get purge sendmail*

CRÉER UNE BASE DE DONNÉES DBMAIL

Ensuite, DBMail nécessite une base de données comme back-end et puisque dans cet article nous utilisons le serveur de base de données MySQL, procédez à la création d'un nouvel utilisateur et d'une base de données en exécutant les commandes suivantes :

## mysql -u root -p

CREATE DATABASE dbmail;
GRANT ALL ON dbmail.* TO dbmail@localhost IDENTIFIED BY 'DATABASE_PASSWORD';
\q

REMPLIR LES TABLES DE LA BASE DE DONNÉES DBMAIL

Ok, la prochaine chose à faire est de remplir la base de données nouvellement créée avec les tables de base de données requises fournies par DBMail. Vous pouvez y parvenir en utilisant les commandes suivantes :

## zcat /usr/share/doc/dbmail/examples/create_tables.mysql.gz > /tmp/dbmail_create_tables.sql
## mysql -u dbmail -p dbmail < /tmp/dbmail_create_tables.sql

CONFIGURER DBMAIL

Modifier /etc/dbmail/dbmail.conf et configurez le back-end DBMail en configurant ce qui suit :

## vim /etc/dbmail/dbmail.conf

dburi = mysql://dbmail:DATABASE_PASSWORD@localhost:3306/dbmail
authdriver = sql

n'oubliez pas de remplacer DATABASE_PASSWORD par le mot de passe réel que vous avez utilisé lors de la création de la base de données

Ensuite, modifiez /etc/default/dbmail et définissez ce qui suit :

## vim /etc/default/dbmail

START_IMAPD=true
START_LMTPD=true

REDÉMARRER LE SERVICE DBMAIL

Une fois la configuration de DBMail en place, procédez au démarrage du service en utilisant :

## service dbmail restart

AJOUTER DBMAIL AU DÉMARRAGE DU SYSTÈME

Ajoutez le service DBMail au démarrage de votre VPS Debain afin que le service soit automatiquement démarré lorsque vous redémarrez votre serveur :

## update-rc.d -f dbmail enable

CONFIGURER EXIM

Ensuite, vous devez configurer correctement Exim avec DBMail. Cela inclut la configuration des recherches dans la base de données des utilisateurs, l'authentification, le routage et le transport. Configurez d'abord le fichier de configuration principal d'Exim et continuez avec les recherches d'utilisateurs, donc :

## vim /etc/exim4/update-exim4.conf.conf

dc_eximconfig_configtype='internet'
dc_other_hostnames='mydomain.com'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets='127.0.0.0/8'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

remplacez mondomaine.com par votre nom de domaine actuel

## vim /etc/exim4/conf.d/main/05_exim4-config_dbmail_user_lookup

hide mysql_servers = localhost/dbmail/dbmail/DATABASE_PASSWORD

Configurez la bannière MTA en ajoutant ce qui suit :

## vim /etc/exim4/conf.d/main/06_exim4-config_smtp_banner

smtp_banner = $smtp_active_hostname MTA

Maintenant, configurez DBMail lmtp en configurant ce qui suit :

## vim /etc/exim4/conf.d/transport/30_exim4-config_dbmail_lmtp

dbmail_lmtp:
driver = smtp
protocol = lmtp
hosts = 127.0.0.1
allow_localhost
return_path_add

Ensuite, configurez la recherche d'utilisateur :

## vim /etc/exim4/conf.d/router/750_exim4-config_dbmail_user

dbmail_user:
debug_print = "R: dbmail_user for $local_part@$domain"
driver = accept
condition = ${lookup mysql{\
SELECT alias_idnr FROM dbmail_aliases WHERE \
alias='${quote_mysql:$local_part@$domain}' OR \
alias='${quote_mysql:@$domain}'}{yes}{no}}
transport = dbmail_lmtp
cannot_route_message = Unknown user

et procédez à la configuration de l'authentification de l'utilisateur :

## vim /etc/exim4/conf.d/auth/10_exim4_config_dbmail_auth_plain

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{\
SELECT user_idnr FROM dbmail_users WHERE \
userid='${quote_mysql:$2}' AND \
passwd='${quote_mysql:$3}'}{yes}{no}}
server_prompts =:
server_set_id = $2
## vim /etc/exim4/conf.d/auth/15_exim4-config_dbmail_auth_login

auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{\
SELECT user_idnr FROM dbmail_users WHERE \
userid='${quote_mysql:$1}' AND \
passwd='${quote_mysql:$2}'}{yes}{no}}
server_prompts = Username::: Password::
server_set_id = $1
## vim /etc/exim4/conf.d/auth/20_exim4-config_dbmail_auth_cram_md5

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{\
SELECT passwd FROM dbmail_users WHERE \
userid='${quote_mysql:$1}'}{$value}fail}
server_set_id = $1

Ajouter lmtp à /etc/services

## vim /etc/services

lmtp            24/tcp

et enfin mettre à jour la configuration d'Exim et redémarrer le MTA en utilisant :

## update-exim4.conf
## service exim4 restart

CRÉER UN NOUVEAU COMPTE E-MAIL

DBMail fournit de jolis utilitaires de ligne de commande pour gérer les comptes. Par exemple, pour créer un nouveau compte, vous utiliserez :

## dbmail-users -a USERNAME -w PASSWORD -s [email protected]

Vous trouverez plus d'informations à ce sujet sur http://www.dbmail.org/dokuwiki/doku.php/manage_users

AJOUTER UN AUTRE DOMAINE

Pour ajouter un autre domaine au serveur de messagerie, vous devez modifier /etc/exim4/update-exim4.conf.conf et ajoutez votre domaine dans dc_other_hostnames séparés par un point-virgule comme dans :

## vim /etc/exim4/update-exim4.conf.conf

dc_other_hostnames='mydomain.com;myotherdomain.org'

enregistrez et fermez le fichier, mettez à jour le fichier de configuration Exim et redémarrez le MTA en utilisant :

## update-exim4.conf
## service exim4 restart

Utilisez la commande suivante :

## tail -f /var/log/exim4/mainlog  /var/log/dbmail/dbmail.* /var/log/mail.log

pour lire les fichiers journaux de votre serveur de messagerie.

C'est ça. Rendez-vous sur http://www.dbmail.org/dokuwiki/doku.php pour en savoir plus sur DBMail et son utilisation.

Bien sûr, vous n'avez rien à faire de tout cela si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer Exim avec DBMail . 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 à gauche ou laissez simplement une réponse ci-dessous. Merci.


Debian
  1. Comment installer et configurer l'hôte Docker minimaliste de Debian 8

  2. Comment configurer le serveur et le client NTP sur Debian 9 Stretch Linux

  3. Comment configurer des conteneurs virtuels avec LXC et la prise en charge des quotas sur Debian 8

  4. Comment configurer PostgreSQL Streaming Replication avec des emplacements de réplication sur Debian 10

  5. Comment configurer le basculement IP avec KeepAlived sur Ubuntu et Debian

Comment configurer un serveur FTP avec VSFTPD sur Debian 9

Comment installer et configurer Drupal avec Apache sur Debian 9

Comment installer AbanteCart avec Nginx et SSL sur Debian 11

Comment installer Etherpad avec Nginx et SSL sur Debian 11

Comment installer et configurer vsftpd avec TLS sur Debian 8 (Jessie)

Comment configurer Mailman avec Debian et ISPConfig