Sendmail con smarthost y aunteticacion

May 6th, 2010

Despues de un dolor de cabeza me decidi escribir este post para tenerlo como futura referencia y no andar buscando la informacion en otros lugares.

Problema:
Tenemos un servidor que queremos envie correos pero la ip del servidor es dinamica y ademas el puerto 25 para envio de correo esta bloqueado.

Solucion:
Usar una cuenta de correo ya existente en algun servidor que tengamos contratado y hacer que nuestro servidor le envie los correos a este servidor hosteado. A esto se le llama relay y se puede hacer de varias formas.

primero crearemos un archivo llamado client-info el servidor de correo guarda la configuracion en el directorio /etc/mail y crearemos el directorio auth dicho esto el archivo quedaria en la ruta /etc/mail/auth/client-info

AuthInfo:dominio.com "U:root" "I:usuario@dominio" "P:password" "M:LOGIN PLAIN"

Donde:
AuthInfo: es el nombre de dominio del correo
U: el usuario que enviara el correo
I: el usuario de la cuenta de correo
P: el password de la cuenta de correo
M: el metodo que utilizara para autentificarse en el servidor

Uan vez creado el archivo ejecutamos el comando

makemap hash client-info < client-info

Esto nos creara un archivo client-info.db

Ahora agregaremos la configuracion a sendmail para utilizar la cuenta de correo configurada
Editamos el archivo sendmail.mc y agregamos o quitamos el comentario a las lineas siguientes:

define(`SMART_HOST',`[dominio.com]')
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

Como se ve en la configuracion el SMART_HOST esta encerrado entre [] esto se hace cuando el dominio que estamos usando tiene configurado un registro MX es decir, si el servidor tiene dominio.com tal vez su registro MX que se encarga de manejar el correo para ese dominio sea mail.dominio.com

Ya que esta hecha la configuracion ejecutamos el comando y reiniciamos el servicio.

m4 sendmail.mc > sendmail.cf

Depuracion:
Si despues de hacer esto marca algun error de envio o se regresan los mensajes de correo podemos checar los logs y tratar de indentificar el problema.

Primero aumentamos el nivel del log en el sendmail

define(`confLOG_LEVEL', `20')dnl

Si con eso no es suficiente podemos crear un log con toda la sesion del sendmail para eso tenemos que detener el servicio y ejecutar

sendmail -bD -X/tmp/sendmail.log

Y despues en otra sesion enviar un correo. Esto creara un archivo en el directorio /tmp con toda la informacion de la sesion de sendmail.

Espero les sirva, saludos.

alvariux Linux

Respaldo subversion

January 9th, 2010

Tuve que respaldar un servidor que tenia unos proyectos en subversion y me di cuenta que lo estaba haciendo de la manera incorrecta, yo tenia la idea que con solo copiar los directorios al nuevo servidor bastaba para restaurar. En teoria si puede funcionar ese metodo siempre y cuando se tenga la misma version en el servidor destino. Pero que pasa cuando no es asi? Nos mostrara un error como este.

Expected FS format ‘2′ found format ‘3′

Lo que haremos sera exportar los repositorios con el comando dump

$ svnadmin dump /path/repositorio > repositorio.dump

Hecho esto lo copiamos a su destino, en donde crearemos un nuevo repositorio para luego importar el archivo que generamos.

$ svnadmin create /path/repositorio
$ svnadmin load /path/repositorio < repositorio.dump

Y con eso ya no tendremos problemas, el proceso es algo lento dependiendo que tan grande es el repositorio pero vale la pena esperar.

Saludos.

alvariux Software, Tips

Instalando OpenR2 con Asterisk

September 8th, 2009

Recientemente tuve que reinstalar la bilioteca libopenr2 que permite utilizar un enlace mediante el protocolo MFC/R2, batalle un poco asi que pongo aqui los pases a seguir esperando que le sirva a alguien.

Hasta el dia de hoy la version de asterisk es 1.4.26.2y de openr2 1.2.0.

Primero tenemos que bajar de la pagina de asterisk los paquetes de asteris, dahdi, dahdi-tools

Instalacion dahdi-linux

$ tar -zxvf dahdi-linux.tar.gz
$ make
$ make install

Instalamos dahdi-tools

$ tar -zxvf dahdi-tools.tar.gz
$ ./configure --prefix=/usr
$ make
$ make install

Instalacion OpenR2

$ tar -zxvf linopenr2.tar.gz
$ ./configure --prefix=/usr
$ make
$ make install

Instalacion de Asterisk con sopore para MFC/R2, aqui es donde se complica un poco porque debemos ejecutar un script bootstrap.sh el cual requiere autoconf-2.6 pero en Centos 5.2 que es donde lo estoy instalando solo tenemos la version 2.59 y no nos permite ejecutar el script. Para solucionas esto instalaremos desde la fuente la version 2.6

$ autoconf-2.6.tar.gz
$ ./configure --prefix=/usr
$ make
$ make install

Autoconf necesita otro paquete que se llama automake pero no lo podemos instalar directamente porque tiene marcado como requisito autoconf-2.59 asi nos echara a perder lo que ya hicimos, la solucion es decargar el paquete e instalarlo sin las depencias. Para eso instalaremos primero otor programa.

$ yum -y install yum-downloadonly
$ yum install --downloadonly --downloaddir=./ automake
$ rpm -Uhv --nodeps automake-1.9.6-2.1.noarch.rpm

Ahora aplicaremos el parche para openr2 a asterisk, debemos tener cuidado de que el parche sea para la version de asterisk que estamos instalando.

$ tar -zxvf asterisk-1.4.tar.gz
$ pacth -p0 < openr2-asterisk-1.4.26.2.patch 

$ ./bootstrap.sh
$ ./configure --prefix=/usr
$ make
$ make install

Probamos que se haya compilado bien y enlazado

ldd channels/chan_dahdi.so|grep openr2

Espero les sirva esta pequeña guia.

Hasta luego.

alvariux Asterisk, Linux, Tips

Restaurando PC

September 6th, 2009

Bueno pues desde hace unos dias estuve batallando con el SO de mi PC que tenia de fabrica Windows Vista, asi que decidi borrar todo e instalar linux, andando configurando me encontre con estos programas que pueden servir.

http://tweetdeck.com/beta/ Como cliente de twitter y facebook

http://www.claws-mail.org/ Como cliente de correo, muy rapido y con muchas funciones

http://code.google.com/p/pidgin-facebookchat/ Para poder agregar la cuenta de facebook y poder chatear desde pidgin

http://alltray.trausch.us/ Para poder minimizar aplicaciones a la barra de tareas, muy util.

Despues de instalar, temas, iconos y demas he quedado a gusto con el sistema, creo que ya no queda mas que instalar.

Hasta pronto.

alvariux General

El peligro de publicar algo en internet

May 14th, 2009

Hace unos dias surgio una noticia que le ha dado la vuelta a toda la red acerca de unos asesinatos realizados en Guatemala, que tiene de raro esto?, si en Mexico a diario matan a alguien por enfrentamientos con el narco trafico y ajustes de cuentas. Esta persona que se llamaba Rodrigo Rosenberg grabo unos videos cuando recibio amenazas de muerte de parte de gente de la presidencia de Guatemala. A todo este ecandalo se sumaron los comentarios de los usuarios de Twitter una red social donde a diario publicamos nuestras ideas y pensamientos, sin llegar a pensar que esto puede ser penalizado. Esta persona http://twitter.com/jeanfer usuario de este sistema es encarcelado el dia de hoy por sus comentarios realizados apenas unas horas antes. Ahora nos ponemos a pensar que ya el internet como lo conociamos no es un medio libre y sin los vicios como todos los demas medios de comunicacion, al menos en ese pais. Me hace reflexionar en que tanta informacion debemos “compartir” con nuestros amigos o contactos que tengamos porque como se dice coloquialmente “hay pajaros en el alambre”. Tengan cuidado con lo que escriben y comparten no vaya a ser que esa informacion pueda ser utilizada en contra de ustedes.

Ahora me pregunto que pasara con la ley que aprovaron hace unos meses en mexico acerca del registro de los usuarios de telefono celular?

Como medida de apoyo los usuarios de twitter estan convocando a enviar mensajes incluyendo la palabra #escandalogt para hacer ver a los gobiernos que personas de todo el mundo apoyan la libertad de expresion.

alvariux General

La muerte de una PC

April 20th, 2009

Ayer a las 8:45 am (aprox) dejo de existir mi computadora, ya tenia tiempo que no la encendia porque en la casa donde me cambie no tengo internet fijo asi que no la habia conectado, le conecte una memoria ram que habia comprado y al encederla se quemo la tarjeta madre, no se si fue la memoria o la fuente pero lo mas preocupante es que le habia comprado una tarjeta de video AGP y veo que ya casi no venden tarjetas madre con ese tipo de puerto ahora tratare de conseguir una nueva tarjeta y continuar con el proyecto de construccion de una maquina de videojuegos.

Aqui les dejo un link para que tengan una idea de lo que quiero hacer www.retrovicio.com

Cuando consiga lo necesaria comenzare a documentar el proyecto.

Saludos.

alvariux General

Telcel 3G con linux

November 26th, 2008

Hace unos dias obtuve un modem de sony ericsson md300 que sirve para conectarse a redes 3G y me puse a investigar como utilizarlo en linux, especificamente en Ubuntu 8.04 que es la distribucion que tengo instalada en este momento. Este modem tiene la caracterista de ser detectado como una memoria USB en la que podemos guardar archivos, en linux cuando la conecte la primera vez, me monto la unidad y pude los archivos que ahi tenia guardados. Para hacerla funcionar en linux se debe desactivar esta deteccion y hacer que el sistema la detecte como un modem usb, despues de hacer esto ya no podremos accesar al almacenamiento del dispositivo.

Requsitos:

Lo primero sera verificar que tenemos instalado el programa para la marcacion con un modem, este programa se llama wvdial, este es el unico programa que necesitamos pero adicionalmente si no son muy afectos de la linea de comando pueden instalar el programa gnome-ppp.

Asi que vamos a instalar los programas necesarios.

apt-get install wvdial gnome-ppp

Configuracion del modem

Debemos crear un archivo en la ruta  /etc/udev/rules.d este archivo se llamara 50-md300 y contendra lo siguiente:

ACTION!="add", GOTO="3G_End"BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce", NAME="modem" PROGRAM="/bin/sh -c 'echo 3 > /sys/%p/device/bConfigurationValue'"LABEL="3G_End"

Posteriormente crearemos en nuestro directorio home el archivo .wvdial.conf con lo siguiente:

[Dialer Defaults]

Modem = /dev/ttyACM0

ISDN = off

Modem Type = USB Modem

Baud = 460800

Init = ATZ

Init2 = AT+CFUN=1

Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

Init4 = AT+CGDCONT=1,"IP","internet.itelcel.com"

Init5 =

Init6 =

Init7 =

Init8 =

Init9 =

Phone = *99#

Phone1 =

Phone2 =

Phone3 =

Phone4 =

Dial Prefix =

Dial Attempts = 1

Dial Command = ATM1L3DT

Ask Password = off

Password = webgprs2002

Username = webgprs

Auto Reconnect = off

Abort on Busy = off

Carrier Check = on

Check Def Route = on

Abort on No Dialtone = on

Stupid Mode = off

Idle Seconds = 0

Auto DNS = off

;Domain =

;Nameserver = 170.51.255.100

;Nameserver2 =

;Minimize = off

;Dock = on

;Do NOT edit this file by hand!

Una ves que tenemos estos dos archivos conectamos el modem md300 y nos daremos cuenta de que ya no lo reconoce como memoria, en lugar de eso creara un dispositivo /dev/ttyACM0

Para poder conectarnos desde la consola escribiremos wvdial si todo va bien presionamos ctrl+c y nos vamos al menu de Ubuntu en la seccion de internet y abrimos el gnome-ppp y hacemos click en Connect.

Archivos

50-md300.rules
wvdial.conf

Referencias

http://twilightlinuxzone.blogspot.com/2008/09/sony-ericsson-md300-en-linux-ahora-si.html

alvariux Linux, Tips

Descargar de rapidshare con wget en linux

March 4th, 2008

Normalmente utilizo la computadora de la casa para descargar archivos con bittorrent,
pero me he encontrado con paginas que tiene sus descargas desde rapidshare, eso me llevo a
adquirir una cuenta premium y estuve descargando al inicio desde mi maquina y pense si se podia automatizar la descarga y dejar bajando los archivos en el servidor. Esta es una manera que encontre para poder hacerlo.

Lo primero que necesitamos es guardar la cookie de rapidshare para poder usarla posteriormente:

debemos crear el directorio .cookies en nuestro home o donde queramos guardar las cookies.

mkdir .cookies

Despues ejecutamos el comando siguiente escribiendo nuestro usuario y password de rapidshare, este comando solo hay que usarlo una vez.

wget --save-cookies ~/.cookies/rapidshare --post-data "login=USERNAME&password=PASSWORD" -O - https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi > /dev/null

Una vez que ya tenemos el directorio con la cookie guardada vamos a crear un archivo que contendra los links de los archivos que queremos descargar. Por ejemplo:

files.txthttp://rapidshare.com/jEJEjeje

http://rapidshare.com/jEJ34ee

Guardamos el archivo y ahora ejecutamos el siguiente comando

for file in `cat files.txt|cut -f1`; do wget -c --load-cookies ~/.cookies/rapidshare $file; done

Este comando tomara linea por linea el archivo files.txt y los empezara a descargar. Es importante que se configure la cuenta de rapidshare para descargar los archivos automaticamente sin tener que seleccionar un mirror, de lo contrario no funcionara.

Saludos.

http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/

alvariux Linux, Tips

Programacion PHP desde el USB

December 20th, 2007

Hace unos meses me tope con este sitio que ofrece de manera gratuita un paquete que se puede incluso construir en linea de acuerdo a sus necesidades. Se trata de una instalacion “portable” de apache, php, mysql y algunas aplicaciones adicionales.

Esta es una manera excelente de llevar nuestros proyectos a donde sea y poder seguir trabajando aunque no estemos en la computadora de la casa o la oficina.

http://www.chsoftware.net/en/useware/wos/wos.htm

alvariux General, Software

Habilitando UserDir de apache en Centos 5

December 11th, 2007

Para permitir que los usuarios de nuestro sistema puedan tener su propio sitio web, necesitamos hablitar un modulo de apache llamado UserDir. Una vez habilitado cada usuario puede crear un directorio llamado public_html dentro de su home, ahi pondra sus paginas y podra visitarlas con la direccion www.host.com/~usuario.

Primero nececitamos editar el archivo /etc/httpd/conf/httpd.conf


#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disable

#
# To enable requests to /~user/ to serve the user’s public_html
# directory, remove the “UserDir disable” line above, and uncomment
# the following line instead:
#
UserDir public_html


AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Order allow,deny
Allow from all
Order deny,allow
Deny from all

Guardamos el archivo y reiniciamos el servicio

service httpd restart

Por ultimo hay que verificar los permisos de los directorios para que sean de al menos 755 tanto el /home/usuario como los que estan dentro de public_html

alvariux Linux, Tips