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 ,
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.