¿Tienes una cuenta? identificate: Usuario Contraseña o puedes obtener una gratis.

ToRo Blog

jojojo

miércoles 06 de febrero, 2008 - 20:25

qmail+vpopmail+roaming users+dovecot (POP3/IMAP)+spamdyke

O como instalar un servidor de correo en RHEL (RedHat Enterprise Linux) 4.
Resulta que hace días cambiamos de hosting, y después de pelearme con varias cosas como la administración del sistema (al ser compartido con dos amigos) lo verdaderamente bueno fue para configurar el correo electrónico.

Lo que necesitaba

# Servidor con soporte de correo con usuarios virtuales (no del sistema).
# No recibir mucho spam… al día a una cuenta de ymipollo me llegaban unos 200 mails de correo basura.
# Que tuviera acceso vía POP3, IMAP, que no aceptara relay y tuviera webmail compatible.
# Una nieve de limón.

Requisitos previos de instalación.

  1. MySQL, server, shared-libs, devel y client
  2. Obviamente apache y php con soporte de imap (si es que se requiere acceso desde web), los pasos para compilar php fueron:


./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-force-cgi-redirect --with-config-file-path=/etc --with-zlib --enable-exif --with-gd=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf --with-gettext=/usr --enable-mbstring --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --enable-sqlite-utf8 --with-curlwrappers --with-openssl=/usr --enable-zip --with-curl=/usr --with-imap=/usr --with-imap-ssl --with-kerberos

Instalando


Así que después de mucho batallar con postfix decidí que era mejor dejarlo por la paz e instalar lo que conozco: qmail. La instalación es muy sencilla siguiendo los pasos de “Life with qmail”.


El segundo paso fue instalar vpopmail, lo cual está muy sencillo siguiendo las instrucciones del INSTALL.mysql, los datos que use para compilar fueron:


./configure --enable-logging=p --disable-passwd --enable-clear-passwd --enable-auth-module=mysql --disable-domain-quotas --enable-auth-logging --enable-roaming-users --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-relay-clear-minutes=180


Una vez probada la instalación y funcionando, instalamos spamdyke con las instrucciones del mismo paquete y modificamos la forma en que arranca el servicio de SMTP, editando /service/qmail-smtpd/run de tal forma que la línea que arranca SMTP quede más o menos así:

exec /usr/local/bin/softlimit -m 200000000 /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd 2>&1

El tamaño en softlimit dependerá de la memoria que se tenga, aquí cuidado porque con los datos por defecto simplemente se muere el programa spamdyke y después de horas de buscar cambiando el tamaño pude arreglarlo.

En /etc/spamdyke.conf tengo:

log-level=3
local-domains-file=/var/qmail/control/rcpthosts
max-recipients=50
idle-timeout-secs=60
graylist-dir=/home/vpopmail/graylist
graylist-min-secs=300
graylist-max-secs=1814400
greeting-delay-secs=5
reject-missing-sender-mx
reject-empty-rdns
check-dnsrbl=zombie.dnsbl.sorbs.net
check-dnsrbl=dul.dnsbl.sorbs.net
check-dnsrbl=bogons.cymru.com

Así que tengo graylisting, dnsrbl, rdns y que tengan MX asignado. No me extenderé mas en esto pero cabe señalar que esto detiene un 95% del spam y aproximadamente 1% de correos “buenos” (generalmente que no siguen los protocolos de correo).

Ahora para que inicie el servicio de dovecot (lo compilé manual, opciones predefinidas nada en especial) hay que decirle que levante pop3 e imap, de otra forma solo levantará IMAP aunque el servicio de pop esté configurado, eso también me dio lata durante horas.
Así quedó mi configuración:

protocols = imap pop3
disable_plaintext_auth = no
ssl_disable = yes
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
mail_location = maildir:/home/vpopmail/domains/%d/%n/Maildir
first_valid_uid = 89
protocol imap {
mail_executable = /home/COMUN/scripts/updateRelay /usr/local/libexec/dovecot/imap
listen = *:143
}
protocol pop3 {
login_executable = /usr/local/libexec/dovecot/pop3-login
listen = *:110
mail_executable = /home/COMUN/scripts/updateRelay /usr/local/libexec/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
}
protocol lda { postmaster_address = postmaster example.com }
auth_cache_size = 1000
auth_cache_ttl = 3600
auth_verbose = no
auth_debug = no
auth default {
mechanisms = plain
passdb vpopmail { }
userdb vpopmail { }
}
dict { }
plugin { }


Notar el archivo /home/COMUN/scripts/updateRelay, no es mas que un script para loggear el ip con el que se identifican para tener identificados de donde entran, de esa forma podemos utilizando el archive /home/vpopmail/bin/clearopensmtp para regenerar y limpiar los ips que pueden hacer relay… si es una forma poco limpia de hacerlo, pero funciona y además fue tomada de un ejemplo. Aquí el contenido del script:

(
IP=`echo $IP | grep -v '^192.168.'`
TD=`date +%s`;
if [ -n "$IP" ]
then
export HOME=/root/
echo "replace into relay VALUES('$IP','$TD');" | mysql vpop -u vpopr
export HOME=/
fi
) >> /var/log/maillog 2>&1
exec "$@"

Y creo que ya… nadamás tendríamos que poner a la herramienta clearopensmtp en crontab.

Referencias

* http://www.lifewithqmail.org/
* http://www.inter7.com/
* http://www.php.net/
* http://www.mysql.com/
* http://www.apache.org/
* http://www.dovecot.org/
* http://www.spamdyke.org/

Almacenado en Correo, Tutoriales, Servidores [ Enlace | 10 comentarios ] del.icio.us del.icio.us Estrella este post *****
comparte esto
Comparte esta entrada (del.icio.us, por correo, etc) o agrega este blog a tu Google Reader.

Entradas relacionadas:
  1. Confirmado en el Siglo de Torreón
  2. Novell GroupWise
  3. Moto RZRZ K1
  4. IMAP con groupwise
  5. Rectoría de Chapingo
  6. Mejores programas para PALM: SMBMate
  7. trabajo
  8. Evangelizando
  9. Gmail limpiecito
  10. Primera reunión de IRCops 2005
  11. Prueba de post desde correo electrónico.
  12. Buscando cliente de correo para PALM
  13. problemas para conectar a red-latina
  14. Compra de nuevo servidor
  15. Esta semana...

Han escrito 10 comentarios de «qmail+vpopmail+roaming users+dovecot (POP3/IMAP)+spamdyke»

foto Eskarabajo
Miércoles 06 de febrero, 2008 20:55.

esta es una de las pocas veces que podran leer algo de mi diciendo “Bendito Lotus Notes”

Es nuestro servidor de Correos
la administración e instalación es realmente muy sencilla.
aun que la programación en lotus Designer siga siendo de weba

foto germangv
Miércoles 06 de febrero, 2008 20:55.

Estem… muy sencillo mira… no le entiendo ni maiz jajaja!!! eso del SQL nunca se me dio :s suerte.

foto germangv
Miércoles 06 de febrero, 2008 20:55.

NOTA: Cómo chingao regreso a la pagina principal del pollo??.... ah! ya vi gracias :D

foto michelongo
Miércoles 06 de febrero, 2008 20:55.

soy administrador de correo exchange y es mas simple la configuracion todo con ventanitas y todo lo que lleva microsoft…referente a los SPAM como los detienes. por ip por direccion por dominio o simplemente se basa atraves de blacklist como exchange (claro aparte de la explicacion que ya mencionaste)...saludos..

foto ToRo
Miércoles 06 de febrero, 2008 20:56.

Si, pero cualquiera de esos sistemas cuestan aprox 150 usd por usuario… además con esta solución he implementado sistemas de correos con mas de 10 mil usuarios ;-).

foto michelongo
Miércoles 06 de febrero, 2008 22:38.

tienes razon caros y con intermitencias continuas.. excelente 10 mil guau bendito sea linux…saludos y buen administrador mis respetos

foto forever
Miércoles 06 de febrero, 2008 22:37.

Estoy verde con esto de los servidores de correo, pero me gusta picar piedra con el linux, así que con una guía como esta que pones tengo para empezar a leer, tengo el CentOS ahí, ahora necesito leer lo necesario sobre los MX records (ignoro que hacen pero sé que son importantes), y lo necesario para saber si podemos dejar de depender de Triara (telmex =/) para el correo.

Gracias!!

foto pollo666
Miércoles 06 de febrero, 2008 22:37.

y la nieve de limon??

o.O?

foto daniel
Jueves 07 de febrero, 2008 10:00.

Uhm… creo que tengo que empezar a leer un poco mas.

foto firmost
Jueves 07 de febrero, 2008 10:00.

pues como estoy hasta la madre tanto de linnux, MySQL, Apache, Java, Microsoft, tendré que ponerme a diseñar sistemas nuevos, yo no pienso usar 0 y 1 como lo hace el sistema binario, es algo realmente demasiado complicado para mentes normales como las de ustedes

Si usted tiene una cuenta en ymipollo.com, identifíquese:
Usuario: Password: (recordar identificación en este blog)
De lo contrario, escriba sus datos (todos los campos son obligatorios.):
Nombre: Correo E.:
Blog/Web: recordar datos.
[ si eres visitante puedes obtener tus comentarios con foto suscribiendote a gravatar. Tenga en cuenta que como usuario anónimo, su dirección IP será almacenada y mostrada al dueño de la entrada en cada comentario. ]
Escriba su comentario:
Por favor escriba respecto al post, procure revisar su ortografía. Si su comentario no es respecto al tema, por favor no lo haga.

Usted escribirá este mensaje como:
Es posible que su comentario no aparezca de forma inmediata (o que nunca aparezca) eso depende de la decisión del autor de este blog.

suscribirse a este post.

JORGE MARTÍNEZ MAURICIO

Esta entrada fue escrita el miércoles 06 de feb de 2008 a las 19:53, almacenada en Correo, Tutoriales, Servidores. El permiso para esta entrada es PUBLICO (10 comentario/s).

Puedes seguir esta entrada mediante RSS 2.0 o bien dejar algún comentario.


Otras secciones

Lo más reciente
Acerca de mi
Galería de Imágenes
Lo más visto
Amigos
Todos mis posts

Ymipollo.com

Lectura obligada

Gabriela
Mi blog del trabajo

Monos de Patricio
El chamuco virtual
Sensacional de Derechos Humanos

Linuxman
Munoz
Neo
RIVE
Ciscas
Minid


1,182 visitas » Diseño basado en I-HAEV-STYEL re-modificado por minid.