Servidor de correo · 7 min read · Nov 13, 2025

Cómo configurar el servidor de correo ISP con usuarios/dominios virtuales en Centos 5.0 usando Postfix, Dovecot, MySQL, phpMyAdmin, TLS/SSL - Página 3

Pruebas y verificación de tu configuración:

Verificar soporte de MySQL en Postfix

postconf -m
btree  
cidr  
environ  
hash  
ldap  
mysql  
is  
proxy  
regexp  
static  
unix

Si MySQL no aparece, verifica tu instalación y recompila Postfix nuevamente.

Verificar soporte de AUTH SMTP en Postfix

telnet mail.example.co.tz 25

(S: = servidor, C: = cliente):

S: 220 mail.example.co.tz ESMTP Postfix  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: quit

¿Notas las dos nuevas líneas?

250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI

Estas son las líneas que Postfix emite cuando ofrece el uso de AUTH SMTP.

Verificar soporte de TLS en Postfix

telnet mail.example.co.tz 25

Esta sección se aplica tanto para instalaciones NON-RPM como RPM.

En nuestro HOWTO, el demonio smtpd está en /usr/libexec/postfix/. Así que hacemos lo siguiente en la línea de comandos:

ldd /usr/libexec/postfix/smtpd
libsasl.so.7 => /usr/lib/libsasl.so.7 (0x4001e000)  
libssl.so.2 => /lib/libssl.so.2 (0x4002a000)  
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40057000)  
libdb-3.2.so => /lib/libdb-3.2.so (0x4011a000)  
libnsl.so.1 => /lib/libnsl.so.1 (0x401c1000)  
libresolv.so.2 => /lib/libresolv.so.2 (0x401d7000)  
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x401ea000)  
libc.so.6 => /lib/i686/libc.so.6 (0x401f1000)  
libdl.so.2 => /lib/libdl.so.2 (0x4032c000)  
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40330000)  
libpam.so.0 => /lib/libpam.so.0 (0x4035d000)  
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x40365000)  
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x40378000)  
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x403d1000)  
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x403e2000)  
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

El demonio smtpd soporta TLS. Si no puedes encontrar libssl en la salida, o bien construiste Postfix con bibliotecas estáticas o la construcción de Postfix con TLS no funcionó. En este caso, tendrás que reconfigurar tu fuente de Postfix, recompilar o reconstruirlo, hacer una copia de seguridad de los datos en /etc/postfix/ y reinstalar los binarios de Postfix recién compilados.

A continuación, verificaremos si podemos iniciar una sesión TLS. Nos conectamos al servidor y verificamos si la cadena STARTTLS aparece cuando Postfix publicita sus capacidades. Luego simplemente escribimos STARTTLS y esperamos a que Postfix responda que está listo para iniciar TLS. Así es como debería verse nuestra sesión telnet exitosa:

telnet mail.example.co.tz 25
S: 220 mail.example.co.tz ESMTP Postfix (1.1.5)  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-STARTTLS - -Soporte TLS  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: STARTTLS  
S: 220 Listo para iniciar TLS

Enviar un correo de prueba desde la máquina local

Primero verificaremos que podemos enviar correo en localhost al usuario test. Este es el caso de prueba más simple que tenemos. Si tenemos éxito, pasaremos a enviar correos a test desde un cliente de correo que no se ejecute en nuestro servidor Postfix.

mail [email protected]
Subject: Prueba desde localhost  
Test #1  
.  
Cc:  
[[email protected]]#

Verificar la entrega del correo de prueba en la máquina local

Conéctate a pop3 para ver si postfix entregó tu correo:

telnet example.co.tz pop3
Intentando 192.168.49.81...  
Conectado a mail.example.co.tz (192.168.49.81).  
El carácter de escape es '^]'.  
+OK Dovecot listo.  
user [email protected]  
+OK  
pass mwamaLis  
+OK Conectado.  
list  
+OK 1 mensajes:  
1 429  
.  
retr 1  
+OK 429 octetos  
Return-Path: <[email protected]>  
X-Original-To: [email protected]  
Delivered-To: [email protected]  
Received: by mail.example.co.tz (Postfix, from userid 500)  
id 74408C0AC6; Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
To: [email protected]  
Subject: Prueba desde local  
Message-Id: <[email protected]>  
Date: Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
From: [email protected] (Usuario)
Test #1  
.  
]^  
[[email protected]]$

Consulta el Apéndice B para más casos de prueba.

Finalmente, abre el navegador y ve a http://mail.example.co.tz e ingresa el nombre de usuario y la contraseña y luego haz clic en Iniciar sesión. Y disfruta jugando con tu servidor de correo.

Instalación y configuración de phpMyAdmin:

PhpMyAdmin es una utilidad escrita en PHP que está destinada a ayudar en la administración de un servidor MySQL, ya sea localmente o a través de la WWW. Se mantiene gracias al arduo trabajo y dedicación de las personas del proyecto phpMyAdmin, y actualmente está disponible en 47 idiomas diferentes.

Instalación:

Descarga y extrae el paquete de phpMyAdmin. Vamos a mover el archivo a donde lo necesitamos y cambiar el nombre a algo más fácil;

mv phpMyAdmin-2.11.6-english /var/www/html/phpadmin

Cambia el directorio a la raíz de phpadmin:

cd phpadmin/

Ahora, lo que necesitamos hacer es renombrar y editar el archivo config.sample.inc.php para que funcione con tu configuración.

cp -p config.sample.inc.php config.inc.php

Así que usando vi, o cualquier editor que prefieras, abre config.inc.php, encuentra las siguientes líneas y edítalas según sea apropiado para tu configuración;

vi config.inc.php

Edita las siguientes líneas:

Ingresa esta línea con una palabra o frase como contraseña; ejemplo:

$cfg['blowfish_secret'] = 'bongo';

$cfg['Servers'][$i]['controluser'] = 'pma'; --Nombre de usuario MySQL
$cfg['Servers'][$i]['controlpass'] = 'pmapass'; --Contraseña MySQL

Guarda y cierra el archivo.

Crea un alias virtual en /etc/httpd/conf/httpd.conf agregando las siguientes líneas.

vi /etc/httpd/conf/httpd.conf
Alias /phpadmin /var/www/html/phpadmin

  Order allow,deny
  Allow from all

Después de esto, abre un navegador e ingresa http://127.0.0.1/phpadmin en la barra de direcciones. Ingresa el nombre de usuario y la contraseña y comienza a usarlo. Disfruta usando phpMyAdmin para crear usuarios, dominios y alias.

Apéndice A:

Opciones del compilador:

Las opciones que Postfix necesita en su Makefile están definidas en variables de entorno como CCARGS.
CCARGS: Proporciona argumentos adicionales al compilador. Si tu compilador permite opciones especiales o tus archivos de soporte no están ubicados en directorios predeterminados, indica esas opciones con esta variable. La ubicación estándar para los archivos de encabezado es el directorio /usr/include. Si tus archivos de encabezado están ubicados en otro lugar, debes decirle al compilador dónde buscarlos. La opción -I del compilador se utiliza para especificar directorios adicionales donde el compilador podría encontrar archivos de encabezado.

CCARGS='-I/usr/local/include/'

Usa opciones -I adicionales para cada directorio adicional que el compilador deba buscar.

Postfix utiliza compilación condicional durante su construcción, dependiendo de qué bibliotecas u otros recursos estén disponibles en tu sistema. Define ciertos macros basados en lo que descubre sobre tu sistema o en función de las opciones que has seleccionado. La opción -D proporciona una forma de definir macros en el momento en que compilas Postfix. Los paquetes adicionales para Postfix requieren que definas un macro particular para indicarle a Postfix que lo incluya al construir.

Por ejemplo, si deseas incluir soporte para MySQL, defines el macro HAS_MYSQL:

CCARGS='-DHAS_MYSQL'

Las opciones del enlazador se establecen en la variable AUXLIBS. Después de que Postfix ha compilado los archivos objeto, los enlaza junto con las bibliotecas requeridas en archivos ejecutables. La ubicación estándar para las bibliotecas del sistema es /usr/lib. Para indicarle al enlazador que busque directorios adicionales para bibliotecas, usa la opción -L:

AUXLIBS='-L/usr/local/lib'

También debes indicarle al enlazador qué bibliotecas específicas enlazar. La opción -l se utiliza para nombrar bibliotecas específicas. Los archivos de biblioteca deben estar en una ubicación estándar o en un directorio indicado con la opción -L. Los archivos de archivo de biblioteca se nombran comenzando con lib, seguido de su nombre, seguido de la extensión, que normalmente es .a para bibliotecas estáticas y .so o .sl para objetos compartidos o bibliotecas compartidas. Cuando usas la opción -l, omites el lib inicial y la extensión del archivo de biblioteca. Para enlazar con la biblioteca cliente de MySQL, por ejemplo, donde el archivo de biblioteca se llama libmysqlclient.a, la opción -l se especifica de la siguiente manera:

AUXLIBS='-L/usr/local/lib -lmysqlclient

Apéndice B

Entregar correo a un usuario remoto (Reenvío)

Nos conectamos a mail.example.co.tz 25. Desde una máquina remota, telnet a 192.168.49.81 puerto 25. En una conexión exitosa, Postfix se iniciará y nos saludará con su banner smtpd. (Si no puedes conectarte, verifica las reglas de tu firewall o si Postfix está en ejecución). Una vez conectado, ejecuta los siguientes comandos.

(S: = servidor, C: = cliente):

S: 220 mail.example.co.tz ESMTP Postfix
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-XVERP
S: 250 8BITMIME
C: mail from:< [email protected] >
S: 250 Ok
C: rcpt to:< [email protected] >
S: 250 Ok
C: data
S: 354 Finaliza los datos con .
C: Correo de prueba reenviando correo de [email protected] a [email protected]
C: Test #3
C: .
S: 250 Ok: en cola como 84BA64078A
C: quit
S: 221 Adiós

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.