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.