Surfeando en la Red

Utilizando postfix para enviar correos a través de GMail


Normalmente es posible instalar un Mail Transport Agent (MTA) como postfix o exim para que sirva como servidor de correo en cualquier computadora conectada a internet con una dirección IP pública asignada. Sin embargo, debido al problema del SPAM, muchos de los servidores de correo de Internet bloquean el correo no autenticado proveniente de direcciones IP dinámicas, que son las habituales en las conexiones domésticas.

Una de las soluciones existentes es instalar un servidor de correo que no envíe directamente el correo al servidor destino, sino que utilice Google Mail (GMail) para que retrasmita los mensajes.

Para poder enviar correo utilizando el servidor SMTP de GMail (smtp.gmail.com) la conexión tiene que estar cifrada con TLS. Para ello necesitaremos tres elementos:
Un certificado autenticado por autoridad certificadora válida para GMail.
Una cuenta de correo GMail.
Un MTA local.
Instalación

Primeramente instalamos Postfix, un MTA bastante completo y configurable. Abrimos una terminal de root (Aplicaciones > Accesorios > Terminal de Root) y escribimos el siguiente comando:
aptitude install postfix

Nota: Postfix tiene conflictos con Exim, pero es seguro remover exim en favor de postfix.

La instalación nos hará algunas preguntas:
Tipo de configuración: acá responderemos “Sitio de Internet”.
Nombre del sistema de correo: acá pondremos el nombre de dominio de nuestro servidor de correo local. Para nuestro caso, podemos poner el mismo nombre de dominio de nuestra PC. e.g. “micasa”.

Listo, la instalación debe haber finalizado existosamente.
Configuración

Luego tenemos que editar el fichero /etc/postfix/main.cf y añadir las siguientes líneas al final del archivo:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem

En resumen, acá le estamos diciendo a postfix que utilice relayhost para conectarse al servidor de Gmail, que utilice smtp_sasl_password_maps para extraer los datos de conexión SASL y que utilice smtp_tls_CAfile como certificado para la conexión segura.
Autenticación

Debemos crear el archivo /etc/postfix/sasl/passwd con el siguiente contenido:
[smtp.gmail.com]:587    [CUENTA]@gmail.com:[CONTRASEÑA]

Por ejemplo:
echo "[smtp.gmail.com]:587    luis@gmail.com:123456" > /etc/postfix/sasl/passwd

Y lo protegemos adecuadamente con:
chmod 600 /etc/postfix/sasl/passwd

Seguidamente, hay que transformar el archivo a un fichero indexado de tipo hash mediante la instrucción:
postmap /etc/postfix/sasl/passwd

Lo que creará el fichero /etc/postfix/sasl/passwd.db
Certificación

Debemos tener instalados los certificados SSL de las autoridades certificadoras para poder realizar éste paso. Los podemos instalar así:
aptitude install ca-certificates

Para añadir la autoridad certificadora Equifax (la que certifica correos de Gmail) al fichero de certificados que utilizará postfix, ejecutamos el siguiente comando en una consola de root:
cat /etc/ssl/certs/Equifax_Secure_CA.pem > /etc/postfix/cacert.pem
Puesta en funcionamiento

Finalmente, reiniciamos postfix para aplicar los cambios, así:
/etc/init.d/postfix restart

Podemos comprobar el funcionamiento abriendo dos consolas. En una ejecutaremos el siguiente comando para monitorear el comportamiento del correo (como root):
tail -f /var/log/mail.log

Y en la otra enviaremos un correo:
echo "Éste es un correo de prueba" | mail prueba@gmail.com

Si hicimos las cosas bien, en la otra consola deberíamos ver algo como ésto:
Dec 18 18:33:40 OKComputer postfix/pickup[10945]: 75D4A243BD: uid=0 from=
Dec 18 18:33:40 OKComputer postfix/cleanup[10951]: 75D4A243BD: message-id=
Dec 18 18:33:40 OKComputer postfix/qmgr[10946]: 75D4A243BD: from=, size=403, nrcpt=1 (queue active)
Dec 18 18:33:44 OKComputer postfix/smtp[10953]: 75D4A243BD: to=
, relay=smtp.gmail.com[74.125.93.109]:587, delay=3.7, delays=0.15/0.14/1.8/1.6, dsn=2.0.0, status=sent (250 2.0.0 OK 1324249500 eb5sm36008464qab.10)
Dec 18 18:33:44 OKComputer postfix/qmgr[10946]: 75D4A243BD: removed

Espero que les sea de utilidad

Haciendo mirrors de Debian con ftpsync y de Canaima con debmirror


Muchas veces se hace útil tener una copia idéntica (mirror) del repositorio de paquetes Debian y Canaima en tu computadora: Acelera la instalación de paquetes, la creación de imágenes con canaima-semilla y permite tener un ambiente pruebas en caso de que manejes un repositorio en ambientes de producción.

Hacerlo no es tan difícil y requiere muy poca atención luego de realizado el procedimiento. Eso sí, el tiempo que utilizaremos inicialmente dependerá de tu velocidad de conexión. Podrás elegir cuales arquitecturas replicar y decidir si incluir las fuentes de los paquetes o no.

Mirror Debian

Descarga el script ftpsync.

Crea un usuario en la computadora o servidor que utilizarás para hospedar el mirror. Para este ejemplo utilizaremos el usuario “mirror”.

Inicia sesión con ese usuario. Puedes hacerlo con el comando login mirror.

Copia y descomprime el ftpsync.tar.gz en la carpeta /home/ del usuario mirror. Aparecerá una carpeta etc, una bin, y otra log.

Cambia el nombre del archivo etc/ftpsync.conf.sample a etc/ftpsync.conf.

Edita el archivo etc/ftpsync.conf de la siguiente forma:
Descomenta la variable MIRRORNAME.
Descomenta la variable TO y le vas a poner de valor la ruta donde quieres que se haga el mirror, preferiblemente algo que pueda ver un servidor web como /var/www, para este ejemplo utilizaremos /var/www/debian. Es importante que esa carpeta pertenezca al usuario que creaste para el mirror.
Descomenta la variable RSYNC_PATH y ponle “debian”.
Descomenta la variable RSYNC_HOST y ponle “ftp.us.debian.org” o cualquier otro mirror del cual quieras hacer tu mirror, siempre y cuando se le pueda acceder por ftp.
Descomenta la variable LOGDIR.
Descomenta la variable LOG.
Descomenta la variable ERRORSONLY y ponle “false”.
Descomenta la variable FULLLOGS y ponle “true”.
Descomenta la variable ARCH_EXCLUDE y lista las arquitecturas que quieres excluir. Si quieres excluir las fuentes añades “source”. Por ejemplo, en canaima sólo hacemos mirror de i386, amd64 y las fuentes, por lo que esa variable vale: “alpha arm armel hppa hurd-i386 ia64 kfreebsd-amd64 kfreebsd-i386 m68k mipsel mips powerpc s390 sh sparc”.
Descomenta la variable TRACE.
Descomenta la variable RSYNC y ponle “rsync”.
Descomenta la variable RSYNC_OPTIONS.
Descomenta la variable RSYNC_OPTIONS1.
Descomenta la variable RSYNC_OPTIONS2.

Finalmente, configura un cron para que se corra a determinadas horas. Edita el archivo /etc/crontab (como superusuario) y añade esta línea al final:
30 1 * * * mirror /home/mirror/bin/ftpsync sync:all

Esta línea correrá el script /home/mirror/bin/ftpsync sync:all por el usuario mirror todos los días a la 1:30am.


Mirror Canaima

Instala el paquete debmirror.
aptitude install debmirror

Inicia sesión con el usuario mirror que creaste para el mirror Debian.

Ejecuta el comando que aparece a continuación. El último parámetro es la ruta donde publicarás el repositorio, la cual debe pertenecer al usuario mirror y estar en un lugar visible para un servidor web como /var/www.
debmirror --debug --progress --verbose --source --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable,desarrollo,pruebas --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima

Finalmente, debemos configurar un cron para que se ejecute a determinadas horas.

Creemos un script BASH en la ruta /home/mirror/mirror-canaima.sh que tenga el siguiente contenido:
#!/bin/bash

debmirror --debug --progress --verbose --source --host=repositorio.canaima.softwarelibre.gob.ve --section=usuarios --method=rsync --root=:canaima --dist=estable,desarrollo,pruebas --arch=i386,amd64 --ignore-release-gpg --rsync-options=-aIL /var/www/canaima

Edita el archivo /etc/crontab (como superusuario) y añade esta línea al final:
30 1 * * * mirror /home/mirror/mirror-canaima.sh

Esta línea correrá el script /home/mirror/mirror-canaima.sh por el usuario mirror todos los días a la 1:30am.


¿Cómo usarlos?

Bien, una vez creados los mirrors, tenemos varias formas de usarlos e incluso, compartirlos con nuestros amigos.

Para usarlo localmente, podemos sustituir nuestro tradicional mirror debian en nuestro archivo /etc/apt/sources.list:
deb http://universo.canaima.softwarelibre.gob.ve/ squeeze main contrib non-free

por
deb file:/var/www/debian main contrib non-free

Y nuestro repositorio Canaima:
deb http://repositorio.canaima.softwarelibre.gob.ve/ roraima usuarios

por
deb file:/var/www/canaima roraima usuarios

Para permitir que otros puedan acceder a nuestros mirrors, debemos instalar un servidor web como apache, lighttpd o nginx.

Instalemos apache:
aptitude install apache2

Listo, dile a tus compañeros que usen la siguiente línea para el mirror Debian:
deb http://TU-DIRECCIÓN-IP/debian main contrib non-free

o esta para el mirror Canaima:
deb http://TU-DIRECCIÓN-IP/canaima roraima usuarios


Fuente: http://www.huntingbears.com.ve/haciendo-mirrors-de-debian-con-ftpsync-y-de-canaima-con-debmirror.html