Configuración de Servidor · 2 min read · Oct 07, 2025

Usuarios y Dominios Virtuales Con Postfix, Courier Y MySQL (Debian Etch) - Página 3

6 Configurar Saslauthd

Primero ejecuta

mkdir -p /var/spool/postfix/var/run/saslauthd

Luego edita /etc/default/saslauthd. Establece START en yes y cambia la línea OPTIONS=”-c” a OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”:

vi /etc/default/saslauthd

| # # Configuraciones para el demonio saslauthd # # ¿Debería saslauthd ejecutarse automáticamente al inicio? (predeterminado: no) START=yes # ¿Qué mecanismos de autenticación debería usar saslauthd? (predeterminado: pam) # # Opciones disponibles en este paquete de Debian: # getpwent -- usar la función de biblioteca getpwent() # kerberos5 -- usar Kerberos 5 # pam -- usar PAM # rimap -- usar un servidor IMAP remoto # shadow -- usar el archivo de contraseñas shadow local # sasldb -- usar el archivo de base de datos sasldb local # ldap -- usar LDAP (la configuración está en /etc/saslauthd.conf) # # Solo se puede usar una opción a la vez. Consulta la página del manual de saslauthd # para más información. # # Ejemplo: MECHANISMS="pam" MECHANISMS="pam" # Opciones adicionales para este mecanismo. (predeterminado: ninguna) # Consulta la página del manual de saslauthd para información sobre opciones específicas de mech. MECH_OPTIONS="" # ¿Cuántos procesos de saslauthd deberíamos ejecutar? (predeterminado: 5) # Un valor de 0 generará un nuevo proceso para cada conexión. THREADS=5 # Otras opciones (predeterminado: -c) # Consulta la página del manual de saslauthd para información sobre estas opciones. # # Ejemplo para usuarios de postfix: "-c -m /var/spool/postfix/var/run/saslauthd" # Nota: Consulta /usr/share/doc/sasl2-bin/README.Debian OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" |

Luego crea el archivo /etc/pam.d/smtp. Debe contener solo las siguientes dos líneas (asegúrate de completar tus detalles de base de datos correctos):

vi /etc/pam.d/smtp

| auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 |

A continuación, crea el archivo /etc/postfix/sasl/smtpd.conf. Debe verse así:

vi /etc/postfix/sasl/smtpd.conf

| pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail_admin sql_passwd: mail_admin_password sql_database: mail sql_select: select password from users where email = '%u' |

Luego reinicia Postfix y Saslauthd:

/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart

7 Configurar Courier

Ahora tenemos que decirle a Courier que debe autenticar contra nuestra base de datos MySQL. Primero, edita /etc/courier/authdaemonrc y cambia el valor de authmodulelist para que diga:

vi /etc/courier/authdaemonrc

| [...] authmodulelist="authmysql" [...] |

Luego haz una copia de seguridad de /etc/courier/authmysqlrc y vacía el archivo antiguo:

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig  
cat /dev/null > /etc/courier/authmysqlrc

Luego abre /etc/courier/authmysqlrc y pon las siguientes líneas en él:

vi /etc/courier/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

Luego reinicia Courier:

/etc/init.d/courier-authdaemon restart  
/etc/init.d/courier-imap restart  
/etc/init.d/courier-imap-ssl restart  
/etc/init.d/courier-pop restart  
/etc/init.d/courier-pop-ssl restart

Al ejecutar

telnet localhost pop3

puedes ver si tu servidor POP3 está funcionando correctamente. Debería devolver +OK Hello there. (Escribe quit para volver a la shell de Linux.)

server1:/etc/postfix# telnet localhost pop3  
Trying 127.0.0.1...  
Connected to localhost.localdomain.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.

8 Modificar /etc/aliases

Ahora deberíamos abrir /etc/aliases. Asegúrate de que postmaster apunte a root y root a tu propio nombre de usuario o tu dirección de correo electrónico, por ejemplo, así:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

Cada vez que modifiques /etc/aliases, debes ejecutar

newaliases

y reiniciar Postfix:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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