Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Fedora 1-2-3

luchonidas's Diary
Por luchonidas
departamento Probando que es gerundio , Sección Diarios
Puesto a las Wed Apr 20th, 2005 at 03:47:29 PM CET
Tras casi dos meses de prueba, y para no perder la línea de mi diario, aquí va una nueva entrada de mi diario, más que nada echa para que yo no me olvide de lo que he hecho, ya que la documentación que he escrito sobre el tema, de momento es nula.
Instalación de un servidor de correo con Fedora.

 


El regalo
Poco antes de navidad, recibimos de un cliente, un Netfinity 5500 M20 (una especie de renting o algo así). El aparatito ya tiene unos años, creo que cinco, (Aquí las características del equipo) aunque nos llegó bien provista de ram, 512 Mb, pero con una sola cpu (PIII 500)

Bueno, la llegada del equipo vino bastante bien, porque ya tenía idea de pasar algunos de los procesos de nuestro "multi"-servidor (multi, porque tiene muchos servicios: web,dns,bbdd,correo,antivirus,etc) a algún otro servidor, que el pobre ya estaba un poco cargado; el SpamAssassin y el antivirus consumian la mayor parte de los recursos. Este servidor es el mismo modelo de Netfinity, pero con 256 Mb de Ram y dos cpu's, así que hice un intercambio de memoria entre los dos.

La elección
Desde un primer momento sabía que no iba a ponerle al servidor un Windows 2000 o 2003, por motivos personales ;)... Bueno, no era la mejor elección para el servidor; 256Mb es bastante poco... y no tenía ganas de ponerme a pelear con un Exchange; Postfix ya lo conozco. La empresa será partner de Microsoft, pero tengo mis motivos.
Primero intenté instalar Debian 3.0, pero me encontré conque la instalación por defecto no pillaba la controladora RAID, y tampoco tenía muchas ganas de ponerme a buscar los módulos por internet. Linex quedaba descartada por causa de su origen (Debian), y Guadalinex también (además que en las pocas pruebas que he hecho la he visto un verde para el servidor). Mandrake y Suse no he llegado a probarlas. Ya tenía experiencia con RedHat 7.3, que es lo que tenemos en otros servidores; no creo que mis jefes fuesen a querer pagar la licencia de RHEL3, para poder tenerla actualizada, así que me decanté por Fedora (la verdad es que ya tenía ganas de probarla), que me proporciona un linux relativamente actualizado, con casi todas las herramientas que necesito y con la posibilidad de mantenerlo actualizado. Si el equipo se quedaba pequeño, siempre tenía la posibilidad de volver a RH 7.3 y actualizar a mano.

La instalación
Unas semanas antes, teniendo ganas de actualizar otros servidores, ya me había descargado los cuatro cd's de la Fedora 3, así que me pusé a instalar. La máquina venía con un W2000 Server que eliminé sin piedad, realizé las particiones en los distintos discos, seleccioné todo el software que me hacía falta, y procedí a instalar. Esperé un buen rato, cambié varios discos, y al final ya tenía un bonito servidor con una Fedora 3, sin entorno gráfico.

La configuración
Antes de configurar y conectar a internet por la linea de los servidores tocaba actualizar. up2date seguía existiendo, así que conecté el ordenador al ADSL, lanzé up2date y a esperar que se actualice todo. Después descubrí el nuevo comando yum, bastante bueno, aunque todavía no es como apt. Una vez actualizado... al ataque!!, llamo a un par de fuertes brazos ya que el monstruo pesa casi 56 kilos, subimos el servidor a la planta de arriba, donde están los servidores, conecto a internet, le doy su IP definitiva,abro el firewall y comienzo a configurar los servicios... y me encuentro los problemas.

Administración
Para la administración remota lo que suelo utilizar es Webmin, además de acceder por ssh al servidor. Hasta aquí todo bien. Voy a la página de webmin www.webmin.com, descargo la última versión en formato rpm, y la instalo. Sin problemas.

Usuarios
Voy al webmin del servidor antiguo, exporto todos los usuarios que me interesan, copio el fichero resultante en mi máquina y se lo paso al webmin de la nueva máquina, con esto ya están copiados todos los usuarios (pero no sus correos, eso ya lo veremos más adelante).

Servidor de correo
Fedora 3 viene con Postfix y Sendmail. Por gusto y comodidad de instalación metí Postfix, pasé la configuración de la máquina antigua, y modifiqué lo necesario para que utilice Maildir para guardar los mensajes. Meto todos los dominios, los alias y usuarios virtuales. Sin problemas, el servidor puede enviar y recibir correo. Hago las pruebas con un dominio que tenemos sin utilizar y todo funciona bien. Además por defecto viene compilado con autentificación de usuarios. Perfecto.

POP 3 e IMAP
Fedora, por defecto, instala Cyrus como servidor de correo. Había leído maravillas sobre Cyrus, así que lo instalé. Pruebo a acceder con el usuario con el que estaba haciendo las pruebas y .... error de autentificación. ¿? No entendía nada, el usuario estaba creado, la contraseña era correcta (era el mismo usuario con el que accedía por ssh). Recurrí a San Google y encontré que Cyrus maneja su propia base de datos :(, mi gozo en un pozo. Ya iba a tener bastante jaleo en pasar todos los buzones de los usuarios de formato mbox a maildir para que encima tuviera que pasarlos al formato de Cyrus...
Busqué un poco más y encontré un par de artículos en Bulma que hablaban de como montar el chiringuito con Courier+Postfix+Mysql (para los usuarios virtuales)... bien. Hago yum install courier-imap... Nothing to do. Bueno, busco la página de Courier, lo descargo, genero directamente el RPM, se instala, y hala, a correr.

Convertir buzones
Uno de los problemas que tenía en el servidor antiguo, era que algunos usuarios no borraban los mensajes antiguos, con lo que llegaban a tener buzones de hasta 250 Megas. Si a eso le añadimos que el sistema trabajaba con buzones Mbox... pues como que le costaba bastante trabajar. Ese fue uno de los motivos para pasarme a Maildir: un mensaje, un fichero.
El cambio por el lado de Postfix fue sencillo, descomentar la línea que pone home_mailbox = Maildir/ y listo. Courier solo trabaja con el formato Maildir, y Procmail... ¡ay!. Tuve que añadir lo siguiente al fichero /etc/procmailrc:
LOGFILE=/tmp/logprocmail.txt
VERBOSE=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
La primera linea es para tener un registro y ver que funciona bien la entrega.

Para extraer todos los mensajes de los buzones, utilizé un script que se encuentra en la página de Qmail: mbox2maildir que extrae todo el contenido de los ficheros mbox. Para usarlo hay que definir una serie de variables en el entorno: MAILDIR, que es el directorio donde se extraen los ficheros, y MAIL, que es el nombre del fichero mbox a procesar. Por ejemplo:
#export MAILDIR=/home/paquito/Maildir
#export MAIL=/var/spool/mail/paquito
#mbox2maildir
Usando un script que extrae HOME de /etc/passwd para cada uno de los ficheros a procesar, extraemos todos los mensajes de todos los buzones. Lo siento, el script se me ha perdido, pero era una conjunción de grep y cut.
El único problema que he tenido es con los usuarios que tenían cientos y cientos de mensajes leídos y no borrados, que les han vuelto a aparecer los mismos mensajes.

Autentificación
El servidor antiguo no tenía autentificación de envío, todo la autentificación SMTP se realizaba con pop-before-smtp. Aunque en el servidor nuevo Postfix viene compilado con autentificación, tengo bastantes usuarios que ya se conocen el truquillo, y sería bastante difícil el explicarles los cambios que tienen que hacer, así que descargué la nueva versión de pop-before-smtp, instalé los módulos de Perl que hacen falta, copié los ficheros a las carpetas correctas y configuré postfix, siguiendo los pasos de la guía de instalación rápida, y Et voila! ya tenemos autentificación por IP (incluso aunque tengas ip dinámica).

Amavis + SpamAssassin + antivirus
Los pasos para instalar el conjunto de Amavis, SpamAssassin y el antivirus fué casi lo más simple. Siguiendo los pasos de esta guía que encontré en Bulma, eso sí, descargando el .tar.gz de amavisd-new e instalando SpamAssassin directamente a través de yum.
Instalo todos los módulos que necesita amavis (detallados en INSTALL.txt), copio lo que hace falta, se configura postfix, y se inicia amavis.
Para iniciar amavis cada vez que se inicia el ordenador, basta con copiar el fichero amavisd_init.sh a /etc/init.d y crear el enlace en el directorio del nivel que se considere adecuado, en mi caso ln -s /etc/init.d/amavisd_init.sh /etc/rc.d/rc3.d/S99amavisd.


Con esto ya tenemos un servidor de correo utilizable... pero aquí no acaban las desventuras...

Primeros problemas
Después de tener instalado el servidor, modificados los DNS, resuelto un problema con la línea que se había caído, ampliado el ancho de banda, y aplicado QoS en el firewall, es decir, casi un mes entero, me pude volver a dedicar de lleno al nuevo servidor, más que nada porque me di cuenta que se recibía más spam que con el servidor antiguo... ¿qué es lo que pasaba?. Comencé mirando los logs y ví que el spamassassin cogía menos mensajes que antes, y los que marcaba les asignaba menos puntuación. La configuración del amavis era la misma en el servidor nuevo y en el antiguo, la única diferencia era la versión del SpamAssassin, en el servidor antiguo era la 3.000001 y en el nuevo la 3.000002. Miro los ficheros de definiciones y si, habían cambiado.
Intenté copiar las definiciones de la versión antigua a la nueva, pero no funcionó, así que me quedé con la versión nueva y más spam. Me puse a enseñarle al SpamAssassin cual era el spam que quería que filtrase, según explicaban en Bulma... pero siempre dejaba pasar los mismos. Activé Razor2, pero no encontré diferencia alguna. Leyendo y leyendo me encontré con las listas grises, y así llegué al siguiente paso.

Postgrey
Postgrey es un demonio en perl que implementa el sistema/protocolo de las listas grises para postfix (explicación en inglés sobre las listas grises). Este protocolo sirve para rechazar el spam antes de que llegue al servidor, sin necesidad de analizar el contenido del email. Su instalación es bastante simple, hay que instalar, si no se tienen ya, los módulos perl necesarios, descargar la versión fuente o empaquetada del programa (yo escogí esta última) e instalarlo. Se configura Postfix según indica en perldoc postgrey y se reinicia el servicio.
Solo llevo con el instalado desde el lunes por la tarde y se ha notado bastante la disminución del spam, ¡y de los virus!. Pongo un enlace al gráfico de los virus que han sido detectados por el antivirus en las últimas 24 horas y en la última semana. Se nota como desde el lunes a la tarde el número de virus detectado es bastante menor (casí no se ven en la gráfica semanal).
Las estadísticas están sacadas con amavis-stat, escrito en perl y que utiliza RRDTools para guardar los datos y hacer los gráficos.

El hueco que se ve al principio del gráfico semanal, sin virus detectados, es porque la semana pasada ocurrió uno de los problemas más raros con este servidor.

La muerte del Amavis
Por alguna causa extraña, el martes 12 y miércoles 13, por la tarde, después de salir por la puerta y tomar el tren para volver a casa, el servidor comenzaba a hacer cosas extrañas, recibiendo en mi móvil los avisos de que el servicio pop3, ftp, imap, fallaban y se volvían a restaurar, así varias veces hasta eso de las ocho o nueve de la noche, en la que se quedaban tranquilos. Al volver al día siguiente y revisar el servidor veo que el amavis estaba parado y que había unos 700 y pico mensajes pendientes de salir. Inicio el servicio, y dejo pasar los mensajes. Comienzo a mirar los logs (especialmente /var/log/messages) y me encuentro con un nuevo (para mi) desconocido oom-killer. Por razones aún desconocidas se llenaba toda la memoria y el núcleo comenzaba a matar procesos, teniéndole predilección al amavis.
Después de buscar y rebuscar por internet encuentro que la posible solución viene por poner a 1 overcommit_ratio con un echo "1" > /proc/sys/vm/overcommit_ratio. Resuelto este tema, todavía no tengo claro las razones que hacían que se llenase toda la memoria (física y swap), ya que todavía no he tenido tiempo de mirar los logs detenidamente.

Otro problema, este por causa del procmail y del perl, fue con un pequeño script que funciona como una lista de correo (majordomo pero muy en pequeño) que había realizado en el servidor antiguo y que al pasar al nuevo dejo de funcionar. Parece ser que al configurar el procmail para usar Maildir, este estaba lanzando el script con el directorio por defecto equivocado, cuando el script estaba pensado para ser lanzado desde el directorio por defecto. Nada que no se solucione añadiendo las siguiente líneas al inicio del script:
use File::chdir;
use Cwd;
$CWD = "/home/lista_correo";
use lib qw(/home/lista_correo);
Quizás alguna línea sobre, pero eso resolvió todo el problema.

Epílogo
Bueno, después de dos meses en funcionamiento, con un 99% de fiabilidad, más que nada hasta pillarle las manías al nuevo sistema, puedo decir que estoy satisfecho con el servidor. Instalación rápida, tiene casi todo lo que necesito, y puedo actualizar casi todo el sistema rápidamente. Y al funcionar todo el sistema sin entorno gráfico, el sistema no es pesado.

Lamento si el artículo quedó muy grande, si hay faltas de ortografía, si es demasiado pesado, etc, etc. El artículo está más pensado para acordarme yo, en un futuro, de lo que hice, que para ser una guía para instalar Fedora como servidor, aunque espero que le pueda ser útil a cualquiera que necesite montar un servidor de correo.
< Movilización contra las patentes de software en Europa el 27-A (3 comments) | Debian en mac mini (I) (32 comments) >
Enlaces Relacionados
· Aquí las características del equipo
· www.webmin.com
· genero directamente el RPM
· mbox2maildir
· pop-before-smtp
· guía de instalación rápida
· esta guía
· amavisd-new
· INSTALL.txt
· Postgrey
· listas grises
· últimas 24 horas
· última semana
· amavis-stat
· More on luchonidas's Diary
· Also by luchonidas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Fedora 1-2-3 | 5 comentarios (5 temáticos, editoriales, 0 ocultos)
¿Demasiado largo? (none / 0) (#1)
por toomany a las Wed Apr 20th, 2005 at 07:37:55 PM CET
(Información Usuario) http://www.toomany.net

Noooooo tio, nop.
Muchas gracias por esta gran aportación, ya que este tipo de blogs/comentarios, siempre son de mucha utilidad para más de uno.
Por mi parte, creo que es más entrada en portada que entrada de blog personal ;-)

Have a nice day ;-) TooManySecrets


 
A portada por aclamación popular (none / 0) (#2)
por pbenavent a las Fri Apr 22nd, 2005 at 12:27:40 PM CET
(Información Usuario) http://www.benavent.org

Habemus articulus, sí, sí, claro, se me el plumero, utilizo Fedora en el portátil, trabajo de administrador de correo, me gusta Perl (aunque se aun principiante)... normal que me sienta identificado...

--
"El hombre es la medida de todas las cosas"
Protágoras


 
Cediendo a la presión popular ;) (none / 0) (#3)
por luchonidas (luchonidas [arroba] yahoo com) a las Fri Apr 22nd, 2005 at 01:38:06 PM CET
(Información Usuario) http://potaje.bitacoras.com/

Al momento de contar los votos, encontramos que el 100% de los comentarios escrutados solicitan el paso a portada de la entrada, así que cuando tenga algo de tiempo voy a reorganizar un poco el articulo para su pase a portada.

Por cierto, ahora caigo en la cuenta que me olvidé un detalle. Cuando escribí el artículo estaba probando Opera 8, y me ha sorprendido la rapidez con la que "dibuja" las páginas. No tengo ningún maquinón, y aunque el firefoz no se arrastra, a veces le cuesta al pobre.
Al menos Libertonia se ve bien en Opera.

-----
Jeje, vamos a probar eso de las bitácoras: http://potaje.bitacoras.com/


 
Migracion futura (none / 0) (#4)
por sinner a las Sat Apr 23rd, 2005 at 04:10:13 AM CET
(Información Usuario) http://www.escomposlinux.org/sinner/

Hola,

Yo iria documentando el proceso, p.q. en un futuro no muy lejano vas a tener que migrar el SO.

Si, amigo, Fedora Core 3 va a pasar a engrosar la lista de versiones no soportadas directamente dentro de unos 6 meses. 4 meses si tienes mala suerte, 8 si tienes mucha suerte.

?A que mola?

Y, cuando Fedora Core 3 deje de estar soportada, te vas e encontrar que Fedora Core 3 pasa a manos de Fedora Legacy, que ya estan sobre-saturados, no tienen recursos, se les pide cada vez mas...

... Y YPMQ dentro de muy poco unicamente van a soportar RHL 7.3 y una o dos versiones de Fedora Core.

Y el resto de versiones, "a cascarla!"

Mirate la pagina principal de Fedora, veras que rapido se mueven las versiones a Fedora Legacy http://fedora.redhat.com/ Y mirate Fedora Legacy para ver la "1-2-3 Policy", tal como se explica en la FAQ: http://fedoralegacy.org/about/faq.php

Yo te recomiendo que pienses en migrar a CentOS, que es RHEL sin tener que pagar esa pasta anual. Vamos, un sistema tipo RedHat (que veo que con el te desenvuelves bien) y, lo mas importante, actualizaciones de seguridad durante unos 5 anyos. Ideal para todo servidor serio.

Sobre CentOS se ha hablado anteriormente en Libertonia (http://libertonia.escomposlinux.org/story/2003/12/20/143125/33 y en http://libertonia.escomposlinux.org/story/2003/12/3/23353/2498), Slashdot (http://linux.slashdot.org/article.pl?sid=05/03/02/1739228&tid=190&tid=110&tid=106, http://linux.slashdot.org/article.pl?sid=05/02/14/1255206&tid=110&tid=218 ) y habitualmente en el IRC de escomposlinux.org

Mas sobre CentOS en http://centos.org


Salut,
Sinner


--
Sinner from the Prairy
Pogüered bai Mandrake
BOFHers Syndicate http://bofhers.org


... y además (none / 0) (#5)
por pbenavent a las Sat Apr 23rd, 2005 at 06:16:27 PM CET
(Información Usuario) http://www.benavent.org

Estoy de acuerdo con sinner, en mi comentario dejo claro que utilizo Fedora para el portátil, vamos, objetivos distintos, importa más reconocimiento de hardware, software reciente y orientación a escritorios (sí, ya sé lo de la Mandarina ;-) )

Como dice sinner CentOS es un proyecto muy digno de tener en cuenta -y echarle una ayudita los que puedan-, una anecdota real que me ha pasado:
- oye, qué te parece CentOS?
- uhmmm, qué te parece Advanced Server?
- ...bien, no me vale para mi equipo pero aquí, para los servidores, con Oracle, y ... pues sí
- bueno, pues CentOS lo mismo, pero cambiando las pegatinas.


Hay otras además de CentOS las más reputadas -no es que sean muy putas, no, es que tienen mucha reputación- son:
  1. CentOS, es tal vez, la mejor alternativa (por número de desarrolladores, base instalada, tiendo de liberación de actualizaciones 24h, ...) y buscando en libertonia encontrarás comentarios interesantes
  2. WhiteBoxLinux, el principal desarrollador unió esfuerzos con CentOS, queda la página donde dice textualmente he preparado una página para migrar de WhiteBoxLinux a CentOS, suficiente no?
  3. Tao Linux, creo recordar que es el esfuerzo de un solo desarrollador, que lo tiene muy claro, lo hace por que quiere, dejará de hacerlo cuando no lo necesita, es más divertido, le gusta su artwork, aprende haciendolo y solo él tiene el control total sobre Tao Linux


Si quieres hacer una instalación mínima -lo normal en un servidor al que añadiremos solo lo deseado, te recomiendo esta nota acerca de instalación mínimas en CentOS y similares.

Si quieres más clones de RH el de Tao Linux ofrece un enlace a proyectos similares basados en RHEL.

--
"El hombre es la medida de todas las cosas"
Protágoras
[ Padre ]


 
Fedora 1-2-3 | 5 comentarios (5 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda