GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar un servidor de correo con Exim4 y DBMail en un VPS Debian 7

En este artículo, lo guiaremos a través de los pasos sobre cómo configurar un servidor de correo con Exim4 y DBMail en un VPS Linux Debian 7 (Wheezy) .

¿Qué es Exim4?

Es un agente de transferencia de correo (MTA) utilizado en sistemas operativos similares a Unix que es responsable de recibir, enrutar y entregar mensajes de correo electrónico.

¿Qué es DBMail?

Es un servicio de correo electrónico rápido y escalable basado en sql que almacena mensajes de correo electrónico en una base de datos relacional. Admite múltiples interfaces como IMAP4 , POP3 , Gestionar tamiz , LMTP etc. y múltiples back-ends como MySQL , PostgreSQL , Oráculo y SQLite .

Principales ventajas de DBMail son:

  • Escalabilidad
  • Manejabilidad
  • Velocidad
  • Seguridad
  • Flexibilidad

¿Requisitos del sistema?

  • Un alojamiento VPS Linux Debian 7
  • Servidor de base de datos
  • MTA de Exim

ACTUALIZAR EL SISTEMA

Lo primero que debe hacer es SSH a su Debian VPS, inicie una screen sesión y actualice su linux vps usando los siguientes comandos:

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

AGREGAR FUENTES DBMAIL

Continúe agregando las fuentes de DBMail a su sources.list para que pueda instalar los paquetes necesarios en el siguiente paso. Puede agregar las fuentes usando los siguientes comandos:

## 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

INSTALE LOS PAQUETES NECESARIOS

Actualice las fuentes usando apt e instale los paquetes necesarios ejecutando los siguientes comandos en su terminal como root:

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

CREAR BASE DE DATOS DBMAIL

A continuación, DBMail requiere una base de datos como back-end y dado que en este artículo estamos utilizando el servidor de base de datos MySQL, continúe con la creación de un nuevo usuario y base de datos ejecutando los siguientes comandos:

## mysql -u root -p

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

LLENAR TABLAS DE LA BASE DE DATOS DBMAIL

Ok, lo siguiente que debe hacer es llenar la base de datos recién creada con las tablas de base de datos requeridas proporcionadas por DBMail. Puede lograr esto usando los siguientes comandos:

## 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

CONFIGURAR CORREO BD

Edite /etc/dbmail/dbmail.conf y configure el back-end de DBMail configurando lo siguiente:

## vim /etc/dbmail/dbmail.conf

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

no olvide reemplazar DATABASE_PASSWORD con la contraseña real que utilizó cuando creó la base de datos

A continuación, edite /etc/default/dbmail y establece lo siguiente:

## vim /etc/default/dbmail

START_IMAPD=true
START_LMTPD=true

REINICIAR SERVICIO DBMAIL

Con la configuración de DBMail en su lugar, proceda a iniciar el servicio usando:

## service dbmail restart

AGREGAR DBMAIL AL INICIO DEL SISTEMA

Agregue el servicio DBMail al inicio de su Debain VPS para que el servicio se inicie automáticamente cuando reinicie su servidor:

## update-rc.d -f dbmail enable

CONFIGURAR EXIM

A continuación, debe configurar correctamente Exim con DBMail. Esto incluye la configuración de búsquedas de bases de datos de usuarios, autenticación, enrutamiento y transporte. Primero configure el archivo de configuración principal de Exim y continúe con las búsquedas de usuarios, así que:

## 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'

reemplace mydomain.com con su nombre de dominio real

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

hide mysql_servers = localhost/dbmail/dbmail/DATABASE_PASSWORD

Configure el banner de MTA agregando lo siguiente:

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

smtp_banner = $smtp_active_hostname MTA

Ahora, configure DBMail lmtp configurando lo siguiente:

## 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

A continuación, configure la búsqueda de usuarios:

## 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

y continúe con la configuración de la autenticación de usuario:

## 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

Agregar lmtp a /etc/services

## vim /etc/services

lmtp            24/tcp

y finalmente actualice la configuración de Exim y reinicie el MTA usando:

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

CREAR UNA NUEVA CUENTA DE CORREO ELECTRÓNICO

DBMail proporciona algunas buenas utilidades de línea de comandos para administrar las cuentas. Por ejemplo, para crear una nueva cuenta usaría:

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

Puede encontrar más información sobre esto en http://www.dbmail.org/dokuwiki/doku.php/manage_users

AGREGAR OTRO DOMINIO

Para agregar otro dominio al servidor de correo, debe editar /etc/exim4/update-exim4.conf.conf y agrega tu dominio en dc_other_hostnames separados por un punto y coma como en:

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

dc_other_hostnames='mydomain.com;myotherdomain.org'

guarde y cierre el archivo, actualice el archivo de configuración de Exim y reinicie el MTA usando:

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

Utilice el siguiente comando:

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

para leer los archivos de registro de su servidor de correo.

Eso es todo. Dirígete a http://www.dbmail.org/dokuwiki/doku.php para obtener más información sobre DBMail y cómo usarlo.

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que instalen Exim con DBMail. . Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Debian
  1. Cómo configurar LogAnalyzer con Rsyslog y MySQL

  2. Cómo configurar la conmutación por error de IP con KeepAlived en Ubuntu y Debian

  3. Cómo configurar Opencart con LAMP (PHP, Apache, Mariadb) en Debian 11

  4. Cómo instalar Drupal con PostgreSQL en un VPS Debian 8

  5. Cómo instalar FuelPHP con Nginx en un VPS Debian 8

Cómo configurar un servidor FTP con VSFTPD en Debian 9

Cómo instalar y configurar Drupal con Apache en Debian 9

Cómo instalar AbanteCart con Nginx y SSL en Debian 11

Cómo instalar Etherpad con Nginx y SSL en Debian 11

Cómo instalar y configurar vsftpd con TLS en Debian 8 (Jessie)

Cómo configurar Mailman con Debian e ISPConfig