lunes, 27 de abril de 2009

!Queda Prohibido!

¿Qué es lo verdaderamente importante?,
busco en mi interior la respuesta,
y me es tan difícil de encontrar.

Falsas ideas invaden mi mente,
acostumbrada a enmascarar lo que no entiende,
aturdida en un mundo de irreales ilusiones,
donde la vanidad, el miedo, la riqueza,
la violencia, el odio, la indiferencia,
se convierten en adorados héroes,
!no me extraña que exista tanta confusión,
tanta lejanía de todo, tanta desilusión!.

Me preguntas cómo se puede ser feliz,
cómo entre tanta mentira puede uno convivir,
cada cual es quien se tiene que responder,
aunque para mí, aquí, ahora y para siempre:

Queda prohibido llorar sin aprender,
levantarme un día sin saber qué hacer,
tener miedo a mis recuerdos,
sentirme sólo alguna vez.

Queda prohibido no sonreir a los problemas,
no luchar por lo que quiero,
abandonarlo todo por tener miedo,
no convertir en realidad mis sueños.

Queda prohibido no demostrarte mi amor,
hacer que pagues mis dudas y mi mal humor,
inventarme cosas que nunca ocurrieron,
recordarte sólo cuando no te tengo.

Queda prohibido dejar a mis amigos,
no intentar comprender lo que vivimos,
llamarles sólo cuando los necesito,
no ver que también nosotros somos distintos.

Queda prohibido no ser yo ante la gente,
fingir ante las personas que no me importan,
hacerme el gracioso con tal de que me recuerden,
olvidar a todos aquellos que me quieren.

Queda prohibido no hacer las cosas por mí mismo,
ttener miedo a la vida y a sus castigos,
no vivir cada día como si fuera un último suspiro.

Queda prohibido echarte de menos sin alegrarme,
odiar los momentos que me hicieron quererte,
todo porque nuestros caminos han dejado de abrazarse,
olvidar nuestro pasado y pagarlo con nuestro presente.

Queda prohibido no intentar comprender a las personas,
pensar que sus vidas valen más que la mía,
no saber que cada uno tiene su camino y su dicha,
sentir que su con su falta el mundo se termina.

Queda prohibido no crear mi historia,
dejar de dar las gracias a mi familia por mi vida,
no tener un momento para la gente que me necesita,
no comprender que lo que la vida nos da, también nos lo quita.
Alfredo Cuervo Barrero

domingo, 26 de abril de 2009

Instalación de un servidor de correo con POSTFIX, CYRUS Y SQUIRREMAIL en Linux CENTOS 5

1 Introducción

1.1 Conceptos básicos.

1.2 Agentes de transporte de Correo.

1.3 Postfix

1.4 Servidores POP e IMAP

1.5 Cyrus

1.6 Cliente de correo web Squirrelmail

1.7 Apache y PHP

2 Instalación de Cyrus

2.1 Configuración de Cyrus

2.2 Creación de usuarios y contraseñas

3 Instalación de Postfix

3.1 Configuración de Postfix

4 Instalación de Apache

5 Instalación de Squirrelmail

5.1 Configuración de Squirrelmail


Autor: Francisco Sosa Romero

http://fsrlinux.blogspot.com


Introducción


Los servidores de correo proporcionan a los usuarios de Internet servicios de correo electrónico, basan su funcionamiento en protocolos TCP/IP propios como SMTP (Protocolo de Transferencia de Correo Simple), POP (Protocolo de Oficina Postal) e IMAP (Protocolo de acceso a correo de Internet).


Cuando un usuario envía un correo, primero lo envía al servidor, este se encargará de enviar dicho mensaje al servidor correspondiente en Internet, después el servidor de recepción se encargará de entregar el correo al usuario de su red.


En cada etapa se utilizan distintos tipos de Agentes (Aplicaciones).


Conceptos básicos


Definiremos varios conceptos para poder comprender de manera adecuada el funcionamiento de un sistema de correo electrónico.


MUA (Mail User Agent): es la aplicación que funciona como cliente de correo llámese Thunderbird, Outlook, Evolution, etc. ¿Cual es mejor, depende de cada quien?


MTA (Mail Tranfer Agent): Agente de transferencia de Correo para transportar los mensajes a través de Internet. Los MTA son servidores que utilizan el protocolo SMTP para el envio de mensajes de un servidor de correo a otro. En sistemas Linux y otras varientes de UNIX el MTA por defecto es Sendmail (que no utilizaremos en este manual), otros no menos populares son Postfix con el cual trabajaremos, Exim y Qmail.


MDA (Mail Delivery Agent): Los mensajes recibidos en un servidor de correo se distribuyen mediante agentes de entrega de correo, la mayoría de las distribuciones Linux usan Procmail como es el caso de CENTOS. Revisa www.procmail.org para obtener más detalles.


Agentes de transporte de correo.


Muchas de las distribuciones de Linux vendrán con el MTA Sendmail preinstalado por defecto, por lo que para nuestros propósitos se deberá desinstalar y sustituir con Postfix, Postfix es el MTA que está pensado para sustituir a Senmail que a lo largo de su existencia ha tenido problemas de seguridad, es mucho más sencillo de configurar y más confiable. De cualquier forma con el objetivo de tener un panorama amplio sobre el abanico de posibilidades aquí les dejo unos links para más información.


MTA

Descripción

Sendmail

Agente de de transferencia de correo Sendmail

Sitio web: www.sendmail.org

Postfix

Agente de transferencia de correo compatible con Sendmail y diseñado para ser un reemplazo.

Sitio web: www.postfix.org

Qmail

Agente rápido, flexible y seguro con su propia implementación.

Sitio web: www.qmail.org

Exim

Agente basado en smail3

Sitio web: www.exim.org


Postfix


Como ya lo mencioné Postfix es un MTA rápido, seguro y confiable, diseñado para reemplazar a Sendmail. Desarrollado por Wietse Venema esta disponible bajo la Licencia GNU. Postfix se implementa como una colección de programas pequeños cada uno con la finalidad de realizar una tarea especifica relacionada con el correo. Un demonio maestro se ejecuta de forma continua mientras los demás sólo lo hacen cuando son requeridos.


Servidores POP e IMAP


Ya expliqué la diferencia entre los agentes de transferencia de correo (MTA) y los agentes de entrega de correo (MDA).


Hablemos de POP, un concepto simple de POP es que se trata de un servidor de correo central administrado de tal forma, que siempre permanece en línea y puede recibir correo para todos los usuarios, el correo almacenado en el servidor hace cola, hasta que el usuario genera una conexión y lo descarga.





Hablemos ahora de IMAP, la diferencia respecto a POP es que puede operar en tres modalidades: en línea, fuera de línea y desconectado. El modo en línea es semejante a tener acceso directo al sistema de archivos en el almacén de correo, el modo fuera de línea es similar al trabajo de POP, sólo se conecta al servidor cuando este ha recibido correo de otros usuarios, en este modo es importante recalcar que el servidor no conserva una copia del los mails. Por último el modo desconectado permite a a los usuarios conservar copias de sus correos. Cuando están conectados, cualquier correo electrónico entrante o saliente es reconocido y sincronizado al instante.


Después de todo mantener ambos (POP e IMAP) es una excelente idea, los usuarios pueden escoger el protocolo y el cliente de correo que mejor les venga en gana.


Servidor Cyrus


Cyrus es una sistema de correo electrónico empresarial altamente escalable, desarrollado en el año de 1994 por la Carnegie Mellon University. Este servidor nos será útil porque maneja los dos protocolos antes mencionados.


Cliente de correo web Squirrelmail


Se trata de un aplicación de correo vía web, desarrollada 100% en código PHP, soporta servidores de correo IMAP como SMTP, squirremail posee todas las funcionalidades que debe proporcionar un cliente de correo web, soporta listas de contactos y manipulación de carpetas. Squirrelmail, esta liberado bajo la licencia GPL.


Apache y PHP

Para poder implementar un servidor de correo vía web, es indispensable contar con Apache Web Server y así como con el módulo de PHP . Más adelante veremos la instalación.



Instalación de Cyrus-Imapd


Después de todo el breviario anterior sobre los conceptos básicos vayamos al grano con la instalación. Gracias a que CENTOS utiliza la una aplicación llamada “Yum” para la administración de paquetes este proceso será un paso bastante simple, si utilizas RHEL o Fedora la instalación será bastante similar. Como es de suponerse debemos abrir a una consola y logearnos como usuario root. Echaremos mano de los siguientes paquetes.


  • cyrus-imapd: Demonio del servidor Cyrus con protocolos POP y IMAP incluidos.

  • cyrus-imapd-utils: Utilerías necesarias para la administración.

  • cyrus-sasl: servicio para la autentificación (capa de seguridad y autenticación simple)

  • cyrus-sasl-plain: soporte para la autentificación en texto plano

  • cyrus-sasl-md5: soporte para la autentificación con MD5


Bastará con teclear el siguiente comando en nuestra consola, esto instalará el paquete Cyrus con los componentes necesarios.


yum -y install cyrus-imapd cyrus-imapd-utils cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5


Configuración del servidor Cyrus


El archivo de configuración de Cyrus no requiere de ninguna modificación para funcionar, de cualquier forma la ruta del archivo es la siguiente considerando que estamos usando Linux CENTOS


/etc/cyrus.conf


En el podemos deshabilitar o habilitar los protocolos POP e IMAP o agregar Seguridad SSL.


El siguiente paso será cambiar el password para el usuario “cyrus”, a fin de evitar accesos no autorizados para la administración de nuestro servidor. Lo hacemos tecleando el siguiente comando.


passwd cyrus



Creación de las cuentas de usuario y contraseñas


Para la creación de los usuario y contraseñas se utilizará el método SASL con el fin de obtener acceso al servidor Cyrus, hagámoslo de la siguiente forma.


1) Alta de la cuenta local del usuario, se sugiere no dejar al usuario accesar a la consola.


useradd -s /sbin/nologin pepe

2) Asignación de la contraseña que permitirá autenticarse en el servidor POP IMAP bajo los métodos “plain y login”.


passwd pepe


3) Bien ahora asignar las contraseñas utilizando el método SASL, esto con el fin de que los usuarios puedan autenticar en el servidor bajo el método MD5. Para ello será necesario iniciar el servicio “saslauthd” con el siguiente comando.


service saslauthd start


Si deseamos que el servidor arranque al iniciar nuestro sistema tecleamos el siguiente comando.


chkconfig saslauthd –level 35 on



4) Una vez arrancado el servicio Saslauthd procedemos a la creación de las cuentas, tecleamos el siguiente comando.


saslpasswd2 pepe



5) Procedemos a crear los buzones de los usuarios, para ello debemos autentificarnos en el servidor Cyrus, lo hacemos del siguiente modo.


cyradm -user cyrus -auth plain localhost


Si notamos se utilizó el usuario cyrus, con autentificación plain y localhost como servidor local.


Nota: necesitaremos cambiar el nombre nuestro servidor lo podemos hacer editando el archivo /etc/hosts. Dejándolo por ejemplo de la siguiente manera.


127.0.0.1 mail.tecri.com localhost


6) Una vez accesado a la administración de nuestro servidor Cyrus, procedemos a crear los respectivos buzones


createmailbox user.pepe o bien cm user.pepe


Si deseamos ver una lista de los buzones existente podemos hacer uso del comando siguiente.


listmailbox


Para salir del intérprete de comandos podemos simplemente tecleamos “exit”.


7) Para obtener un listado de los usuarios con autentificación SASL hacemos uso del comando siguiente:


sasldblistusers2


8) Una vez realizados los pasos anteriores procedemos a iniciar nuestro servidor Cyrus


service cyrus-imapd start


Si requerimos que inicie cuando a la par de nuestro servidor


chkconfig cyrus-impad on




Instalación del MTA Postfix


Para la instalación de postfix se requerirá sólo del siguiente comando.


yum install postfix


Configuración del MTA postfix


Para la configuración del MTA postfix será necesario editar el archivo siguiente con el editor de textos de tu preferencia, yo uso vi.


vi /etc/postfix/main.cf


Parámetros para el funcionamiento del MTA Postfix


Postfix define parámetros para almacenar la información de red como lo es “myhostname” que determina el nombre del host del sistema y “mydomain”, para almacenar el nombre de dominio de la red. En nuestro caso la configuración quedaría de la siguiente forma.


myhostname= mail.tecri.com

mydomain=tecri.com


El parámetro “myorigin” especifica la dirección de origen del correo electrónico enviado al servidor. Como opción predeterminada se asigna el valor “myhostname”.


myorigin=$myhostname


Si deseamos que el enviado sea percibido como si fue enviado por el dominio de la red editamos la directiva de la siguiente forma.


myorigin=$mydomain


El parámetro “mydestination” almacena una lista de dominios de los que el servidor recibirá correos, de forma predeterminada se muestra de la siguiente manera.


mydestination=$myhostname, localhost.$mydomain,localhost,$mydomain


Podemos también definir de para que redes podemos habilitar el MTA con la opción mynetworks, es útil cuando el equipo funciona como una puerta de enlace. También podemos utilizar el parámetro “relay_domains”, para especificar de direcciones de correo de redes a las cuales podemos retransmitir mensajes, la configuración quedaría de la siguiente forma.


mynetworks=192.168.0.0

relay_domains=$mydestination


Como en nuestro caso utilizamos el servidor Cyrus para el manejo de los buzones de usuarios utilizando LMTP, debemos habilitar la siguiente opción.


mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp


De la misma forma debemos indicar a Postfix que para la entrega de correo se utiliza un servidor Cyrus


mailbox_transport = cyrus


El importante que al configurar el servidor Postfix este nos pida autentificarnos, de otro modo cualquiera podría hacer uso para enviar mails, hagámoslo agregando las siguientes líneas al final del archivo “main.cf”.


smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks


Esta sería la configuración básica del servidor postfix, estamos listos para arrancar el servidor.


service postfix start


chkconfig postfix on


Se deseamos recargar la configuración sin necesidad de reiniciar el servicio, podemos realizarlo con el siguiente comando.


postfix reload


Posftfix incluye una herramienta útil para revisar la configuración del servidor, esto nos ayudará a resolver problemas, utilízala de la siguiente forma.


postfix check


Es probable que las colas de correo se puedan saturar, por fallas en la red entre otras, para revisar las colas usa este comando.


mailq


En nuestro sistema de correo, los registros del tráfico del correo se almacenan de forma predeterminada en /var/log/maillog. Una recomendación para visualizarlo mientras este cambia es utilizando el siguiente comando. Si surgen imprevistos te sugiero revisarlo de forma constante.


tail -f /var/log/maillog


Instalación de Apache


Para instalar Apache Web Server con el módulo de PHP debemos teclear el siguiente comando.


yum install httpd php mod_perl


Con esto será suficiente para poner en marcha nuestro servidor y podrá ejecutar scripts de php que es lo que se necesita.


Arrancar el servidor


service httpd start


Detener el servidor


service httpd stop


Iniciar el servidor a la par con el sistema


chkconfig httpd –level 35 on



Instalación de Squirrelmail


Procedamos a descargar Squirrelmail de la siguiente liga http://squirrelmail.org/download.php


Coloquemos el archivo del software empaquetado en la siguiente ruta, que el el directorio de publicación de apache.


/var/www/html/


Una vez que el archivo “squirrelmail-1.4.17.tar.gz” se encuentre dentro del directorio “mail”, procedemos a descomprimirlo.


gunzip squirrelmail-1.4.17.tar.gz

tar -xvf squirrelmail-1.4.17.tar


Esto nos generará una carpeta con el nombre “squirrelmail-1.4.17” a la que recomiendo cambiarle el nombre por mail.


mv squirrelmail-1.4.17 mail


Configuración de Squirrelmail


Procedamos a configurarlo, necesitamos ejecutar el archivo de configuración que está en la siguiente ruta.


cd /var/www/html/mail/config


Lo ejecutamos


./config.pl


Nos aparecerá un menú como el siguiente


SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Main Menu --

1. Organization Preferences

2. Server Settings

3. Folder Defaults

4. General Options

5. Themes

6. Address Books

7. Message of the Day (MOTD)

8. Plugins

9. Database

10. Languages


D. Set pre-defined settings for specific IMAP servers


C Turn color on

S Save data

Q Quit


Command >>


El menú “Servers Settings” nos permite establecer los valores para la conexión con el servidor POP e IMAP en mi caso la configuración quedó de la siguiente forma.


General

-------

1. Domain : tecri.com

2. Invert Time : false

3. Sendmail or SMTP : SMTP


A. Update IMAP Settings : localhost:143 (other)

B. Update SMTP Settings : localhost:25


R Return to Main Menu

C Turn color on

S Save data

Q Quit



Con estas opciones configuradas ya podemos hacer uso de nuestro cliente webmail. Accesando al siguiente link.


http://localhost/mail/



Referencias

http://en.wikipedia.org/wiki/Cyrus_IMAP_server


http://cyrusimap.web.cmu.edu/generalinfo.html


http://squirrelmail.org/


http://www.postfix.org/


http://www.apache.org/


http://www.alcancelibre.org/staticpages/index.php/como-cyrus-imapd


http://es.wikipedia.org/wiki/SASL


Manual de Linux Sexta Edición. Editorial Mc Graw Hill, Autor Richard Petersen


Manual de Administración de Linux Cuarta Edición. Mc Graw Hill, Autor Steve Shah y Wale Soyinka

martes, 21 de abril de 2009

En el principio Dios creó el Bit y el Byte…

En el principio DIOS creó el Bit y el Byte. Y con ellos creó la palabra.

Y había dos Bytes en la palabra y nada mas existía. Y Dios separó el Uno del Cero, y vio que era bueno.

Y Dios dijo: que se hagan los Datos; y así pasó.

Y Dios dijo: Dejemos los Datos en sus correspondientes sitios. Y creó los disquetes, los discos duros, los discos compactos.

Y Dios dijo: que se hagan las Computadoras, así habrá un lugar para poner los disquetes, los discos duros y los discos compactos. Así Dios creó a las Computadoras, les llamó hardware.

Pero aun no había software. Entonces Dios creó los programas; grandes y pequeños…Y les dijo: Creced y multiplicaos y llenad toda la memoria.

Y Dios dijo: crearé el Programador; y el Programador creará nuevos programas y gobernará las computadoras y los programas y los datos.

Y Dios creó al Programador; y lo puso en el Centro de Datos; y Dios le enseñó al Programador el Directorio y le dijo: Puedes usar todos los Volúmenes y Subdirectorios, pero NO USES WINDOWS.

Y Dios dijo: no es bueno que el programador esté solo. Cogió un hueso del cuerpo del Programador y creó una criatura que miraría al Programador y admiraría al Programador y amaría las cosas que el programador hiciese. Y Dios llamó a la criatura: el Usuario.

Y el Programador y el Usuario fueron dejados en el desnudo y simple DOS y Dios vio que eso era bueno.

Pero Bill era más listo que todas las otras criaturas de Dios. Y Bill le dijo al Usuario: ¿Te dijo Dios realmente que no ejecutaras todos los programas?

Y el Usuario respondió: Dios nos dijo que podíamos usar cualquier programa y cualquier pedazo de datos, pero nos dijo que NO ejecutásemos Windows o moriríamos.

Y Bill le dijo al Usuario: ¿Cómo puedes hablar de algo que incluso no has probado? En el momento en que ejecutes Windows serás igual a Dios. Serás capaz de crear cualquier cosa que quieras con el simple toque del ratón.

Y el Usuario vio que los frutos del Windows eran más bonitos y fáciles de usar. Y el Usuario vio que todo conocimiento era inútil ya que Windows podía reemplazarlo.

Así el Usuario instaló Windows en su Computadora y le dijo al Programador que era bueno.

Y el Programador inmediatamente empezó a buscar nuevos controladores

y Dios le pregunto: ¿que buscas?

Y el Programador respondió: Estoy buscando nuevos controladores, porque no puedo encontrarlos en el DOS.

Y Dios dijo: ¿quién te dijo que necesitabas nuevos controladores? ¿acaso ejecutaste Windows?

Y el programador dijo: fue Bill, quien nos lo dijo que lo ejecutaramos…

Y Dios le dijo a Bill: Por lo que hiciste, serás odiado por todas las criaturas.Y el Usuario siempre estará descontento contigo. Y siempre venderás Windows.

Y Dios le dijo al Usuario: por lo que hiciste Windows te decepcionará y se comerá todos tus recursos; y tendrás que usar malos programas; y siempre permanecerás bajo la ayuda del Programador.

Y Dios le dijo al Programador: por haber escuchado al Usuario nunca serás feliz. Todos tus programas tendrán fallas y tendrás que corregirlos y corregirlos hasta el fin de los tiempos.

Y Dios hechó a todos del Centro de Datos y bloqueó la puerta de entrada con una contraseña encriptada, hasta que nos envió a un Programador-Salvador llamado: Richard M. Stallman” y escribio GNU y despues nacio el hijo de DIos llamado: “Linus Torvalds“, quién escribió Linux y unio éste kernel junto con todo el software GNU y fue asi como el software libre nacio y se expandio por el mundo hasta que aparecieron los ortodoxos dibianeros, los seguidores de slack, los bien organizados Red Hateros y los carismaticos Ubunteros con sus ideas mas renovadoras, entre otras denominaciones y así Dios nos perdonó.

Obtenido de www.alcancelibre.org