Cómo configurar Postfix y Dovecot con usuarios de dominio virtual en Linux
En el artículo anterior de esta serie explicamos cómo configurar y administrar la base de datos del servidor de correo de forma segura usando phpMyAdmin.
Requisito:
Instalar Postfix Mail Server y Dovecot con MariaDB - Parte 1
Configurar Postfix y Dovecot con usuarios de dominio virtual - Parte 2
Ha llegado el momento de configurar los programas internos que harán realidad el envío y la recepción de correos electrónicos: Sufijo y Palomar (para manejar correos electrónicos entrantes y salientes, respectivamente).
Configuración del servidor de correo Postfix
Antes de comenzar a configurar Sufijo, valdría la pena echar un vistazo a sus páginas de manual aquí, poniendo especial énfasis en la sección titulada "Información para nuevos usuarios de Postfix“. Si lo hace, le resultará más fácil seguir este tutorial.
En pocas palabras, debe saber que existen dos archivos de configuración para Sufijo:
/etc/postfix/main.cf (Parámetros de configuración de Postfix, consulte hombre 5 postconf para más detalles).
/etc/postfix/master.cf (Configuración del demonio maestro de Postfix, consulte hombre 5 maestro para mas detalles).
En /etc/postfix/main.cf, ubique (o agregue, si es necesario) las siguientes líneas y asegúrese de que coincidan con los valores indicados a continuación:
Los siguientes tres ajustes son de especial importancia. En los archivos indicados en amarillo configuraremos el acceso de Postfix al Domains_tbl, Users_tbl, y Alias_tbl mesas:
Tenga en cuenta que puede elegir diferentes nombres de archivo arriba, siempre que se asegure de crearlos e insertar los siguientes contenidos en ellos. En cada caso, reemplace Tu contraseña con la contraseña que eligió para el dba usuario en Parte 1, o también puede utilizar el MariaDB credenciales de root para el usuario y la contraseña a continuación.
Además, asegúrese de utilizar exactamente los mismos nombres de la base de datos del servidor de correo electrónico y las tablas creadas en Parte 1.
En /etc/postfix/mariadb-vdomains.cf:
mariadb-vdomains.cf
usuario = dba. contraseña = YourPassword. hosts = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FROM Domains_tbl DONDE DomainName = '% s'
En /etc/postfix/mariadb-vusers.cf:
mariadb-vusers.cf
usuario = dba. contraseña = YourPassword. hosts = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FROM Users_tbl DONDE Correo electrónico = '% s'
En /etc/postfix/mariadb-valias.cf:
mariadb-valias.cf
usuario = dba. contraseña = YourPassword. hosts = 127.0.0.1. dbname = EmailServer_db. query = SELECCIONAR Destino DESDE Alias_tbl DONDE Fuente = '% s'
Por último, no olvide cambiar los permisos de estos archivos a 640:
# raíz chown: postfix /etc/postfix/mariadb-vdomains.cf. # raíz de chown: postfix /etc/postfix/mariadb-vusers.cf. # raíz de chown: postfix /etc/postfix/mariadb-valias.cf.
A continuación, para habilitar las conexiones seguras, debemos asegurarnos de que las siguientes configuraciones no estén comentadas (o agregadas, si es necesario) en /etc/postfix/master.cf:
master.cf
envío inet n - n - - smtpd -o nombre_syslog = postfix / envío -o smtpd_tls_security_level = cifrar -o smtpd_sasl_auth_enable = sí -o smtpd_reject_unlisted_recipient = no -o smtpd_recipient_restrictions = permit_sasl_authenticated, rechazar -o milter_macro_daemon_name = ORIGINANDO. pastilla unix n - n 60 1 pastilla. limpieza unix n - n - 0 limpieza. qmgr unix n - n 300 1 qmgr. tlsmgr unix - - n 1000? 1 tlsmgr. reescribir unix - - n - - trivial-rewrite. rebote unix - - n - 0 rebote. diferir unix - - n - 0 rebote. trace unix - - n - 0 rebote. verificar unix - - n - 1 verificar. enjuague unix n - n 1000? 0 descarga. proxymap unix - - n - - proxymap. proxywrite unix - - n - 1 mapa de proxy. smtp unix - - n - - smtp. relé unix - - n - - smtp showq unix n - n - - showq. error unix - - n - - error. reintentar unix - - n - - error. descartar unix - - n - - descartar. local unix - n n - - local. #virtual unix - n n - - virtual. lmtp unix - - n - - lmtp. yunque unix - - n - 1 yunque. scache unix - - n - 1 scache.
Nota: La sangría en las líneas que comienzan con el -o la opción es crítica; de lo contrario, la comprobación de postfijo devolverá un error:
Compruebe la configuración de Postfix
Antes de guardar los cambios, agregue las siguientes líneas al final del archivo:
En este punto es fundamental comprobar si Postfix tiene acceso a las tablas de la base de datos y los dominios, cuentas y alias que creamos en Parte 1.
Para hacerlo, usaremos el mapa postal comando, una utilidad para probar la comunicación con las tablas que Postfix buscará durante la operación, pero antes que nada tendremos que reiniciar postfix:
En la imagen de abajo podemos ver que para los registros existentes en la base de datos, un 1 es regresado. De lo contrario, no se muestra nada en la pantalla. En el caso de la verificación de alias, tenga en cuenta que se devuelve la cuenta de correo electrónico real a la que está asignado el alias:
Verifique la comunicación de la tabla Postfix
Tenga en cuenta que somos NO Al autenticarnos con las credenciales establecidas para cada cuenta de correo electrónico, solo estamos probando la capacidad de Postfix para detectar esos registros en la base de datos.
Por lo tanto, si obtiene una salida diferente a la anterior, asegúrese de que está utilizando un par de usuario / contraseña válido en mariadb-vdomains.cf, mariadb-vusers.cf, y mariadb-valias.cf (o como quieras llamar a esos archivos).
Configuración de Dovecot
Como un IMAP / POP3 servidor, Dovecot proporciona una forma para los usuarios a través de un Agente de usuario de correo (MUA, o también conocido como cliente), como Thunderbird o panorama, por nombrar algunos ejemplos para acceder a su correo.
Para comenzar, creemos un usuario y un grupo para manejar los correos electrónicos (lo necesitaremos ya que nuestras cuentas de correo electrónico no están asociadas con un usuario del sistema). Puedes usar otro UID y GID (otro que 5000 como lo hacemos a continuación) siempre que no esté en uso y sea un número alto:
La configuración de Dovecot se divide en varios archivos de configuración (asegúrese de que las siguientes líneas no estén comentadas y / o edítelas para que coincidan con las configuraciones indicadas a continuación).
En /etc/dovecot/conf.d/auth-sql.conf.ext (tenga en cuenta que almacenaremos los correos electrónicos dentro de un directorio llamado tudominio.com dentro /home/vmail, que debe crear si no existe. En nuestro caso lo hicimos mkdir /home/vmail/linuxnewz.com para administrar correos electrónicos para ese dominio):
auth-sql.conf.ext
passdb {controlador = sql args = /etc/dovecot/dovecot-sql.conf.ext. } userdb {driver = static args = uid = vmail gid = vmail home = / home / vmail /% d /% n / Maildir. }
Se crearán bandejas de entrada individuales para las cuentas de usuario cuando se reciban por primera vez los correos electrónicos de dichas cuentas.
En /etc/dovecot/conf.d/10-mail.conf:
10-mail.conf
mail_location = maildir: / home / vmail /% d /% n / Maildir. bandeja de entrada del espacio de nombres {bandeja de entrada = sí. } mail_privileged_group = correo. mbox_write_locks = fcntl.
En /etc/dovecot/conf.d/10-master.conf:
10-master.conf
servicio imap-login {inet_listener imap {puerto = 143} inet_listener imaps {} } servicio pop3-login {inet_listener pop3 {port = 110} inet_listener pop3s {} } servicio lmtp {unix_listener / var / spool / postfix / private / dovecot-lmtp {mode = 0600 user = postfix group = postfix} } service auth {unix_listener / var / spool / postfix / private / auth {mode = 0666 user = postfix group = postfix} unix_listener auth-userdb {mode = 0600 user = vmail} user = dovecot. } service auth-worker {usuario = vmail. } dictado de servicio {unix_listener dict {} }
En /etc/dovecot/conf.d/10-ssl.conf (reemplace el certificado y las rutas clave si planea usar un certificado firmado por una CA):
10-ssl.conf
ssl = obligatorio. ssl_cert =
En /etc/dovecot/dovecot-sql.conf.ext ingrese la información de su base de datos y las credenciales del usuario administrativo creado en Parte 1.
Importante: si su contraseña contiene un asterisco (#), deberá incluir la cadena de conexión como se indica en el siguiente ejemplo:
Verifique y corrija la configuración de Postifix y habilite SMTP, POP3 e IMAP en el firewall
Si tiene algún problema al configurar Postfix y / o Dovecot, en lugar de enviar todos de los archivos de configuración para pedir ayuda, puede obtener un resumen de la configuración (solo líneas sin comentarios) con:
# postconf –n # Resumen de /etc/postfix/main.cf. # postconf –M # Resumen de /etc/postfix/master.cf. # doveconf –n # Resumen de todos los archivos de configuración de Dovecot.
Además, asegúrese de que las bandejas de entrada de correo electrónico sean legibles por vmail solamente:
# chown –R vmail: vmail / home / vmail.
Los archivos de configuración también deben ser legibles por vmail y palomar usuarios:
Configurar Thunderbird como cliente de correo electrónico para Postfix
Habiendo asegurado el acceso a través del firewall para los puertos utilizados en las comunicaciones por correo electrónico, es hora de configurar un cliente de correo electrónico. Utilizando [correo electrónico protegido] y su correspondiente contraseña, junto con mail.linuxnewz.com como servidor IMAP (o POP3) y SMTP, estamos listos para comenzar a enviar y recibir correos electrónicos desde y hacia dicha cuenta:
Postfix: configurar el cliente Thunderbird
Puede ignorar con seguridad el mensaje de advertencia que se muestra porque está utilizando un certificado que no está firmado por una CA de terceros de confianza:
Thunderbird: agregar una excepción de seguridad
Redactemos un breve correo electrónico de prueba y haga clic en Enviar:
Redactar un correo electrónico en Thunderbird
Cuando se le solicite que acepte el certificado autofirmado para el servidor saliente, confírmelo previamente como antes:
Thunderbird: aceptar certificado SSL
Finalmente, vaya al correo electrónico de destino para ver si recibió el correo electrónico que acaba de enviar. Si es así, responda y vea si se devuelve a la bandeja de entrada del correo electrónico de origen (de lo contrario, consulte el registro de Postfix en /var/log/maillog o el registro de Dovecot en /var/log/dovecot.log para obtener información sobre solución de problemas):
Verificar la entrega de correo electrónico de Postfix y Dovecot
Ahora tiene un servidor de correo electrónico Postfix y Dovecot en funcionamiento y puede comenzar a enviar y recibir correos electrónicos.
Resumen
En este artículo, hemos explicado cómo configurar Postfix y Dovecot para manejar el tráfico de correo electrónico en su servidor Linux. Si algo no funciona como se indica en este artículo, asegúrese de tomarse el tiempo para verificar el Sufijo y Palomar documentación.
Tenga en cuenta que, aunque configurar un servidor de correo Postfix no es una tarea fácil, es una experiencia gratificante para todos los administradores del sistema.
Si después de revisar los documentos todavía tiene problemas con Sufijo y / o Palomar, no dude en enviarnos una nota utilizando el formulario de comentarios a continuación y estaremos encantados de ayudarle (no Olvídese de cargar en un servicio de almacenamiento en línea la configuración de Postfix y Dovecot tal como se recuperó utilizando postconf y doveconf como se describe en este artículo).