Archive

Archive for the ‘Linux’ Category

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

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

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

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

Borrar todas la tablas de una base de datos MySQL

July 12th, 2007

Una manera de eliminar todas las tablas de una base de datos en mysql es la siguiente:

mysqldump -u(USERNAME) -p(PASSWORD])–add-drop-table –no-data (DATABASE) | grep ^DROP | mysql -u(USERNAME) -p(PASSWORD) (DATABASE)

http://www.thingy-ma-jig.co.uk/blog/10-10-2006/mysql-drop-all-tables

alvariux Linux, Tips

Servidor casero con Linux Ubuntu

July 10th, 2007

Este es el primero de una serie de post en los que mostrara como montar un servidor casero con linux ubuntu 6.06 y una conexion dsl con ip dinamica.

Le llamo a esto servidor casero porque todos estos programas estaran instalados en una computadora situada en nuestro hogar u oficina sin ser esta un gabinete de servidor.
La computadora que utilizaremos sera alguna con suficiente capacidad para correr el sistema linux.

Este servidor nos permitira alojar nuestra pagina web o tambien tener nuestro servidor de correo.

En mi caso cuento con el siguiente equipo:

Procesador celeron 2.6 Ghz
Memoria RAM 256MB
Disco Duro 80 Gb
Tarjeta de red y lector de CDs

Primero procederemos a instalar los paquetes necesarios, al momento de instalar Ubuntu 6.06 Server podemos escoger el tipo de sistema LAMP y nos habra instalado la mayoria de estos paquetes, en caso contrario ejecutamos los siguientes comandos en una terminal de root.

apt-get install apache2 apache2-common apache2-utils

apt-get install php5 php5-cli php5-mysql php5-pgsql

Podemos instalar mysql o postgres o ambos eso dependera de cada instalacion y el objetivo
del servidor

apt-get install mysql-server

apt-get install postgresql-8.1 postgresql-client-8.1

Hasta aqui ya hemos instalado los programas necesiarios para un servidor web con paginas dinamicas hechas con php y ademas poder utilizar alguna base de datos ya sea postgres o mysql.

Para poder accesar a las paginas que almacenaremos en nuestro servidor necesitamos un dominio.
El dominio se puede adquirir con cualquier proveedor conocido, pero debido a que el internet sera dsl y estara con una ip dinamica necesitaremos un dns dinamico que se actualice cuando la ip cambien y mantenga el servidor disponible.

Algunos lugares donde dar de alta un servicio de dns dinamico pueden ser zoneedit.com o dyndns.com este ultimo incluso ofrece un servicio gratuito con el podemos tener un subdominio de alguno de ellos.

Una vez registrado el dominio y dado de alta en el servicio de dns dinamico instalamos el siguiente paquete.

Al terminar de instalarse nos preguntara que proveedor tenemos y los datos de la cuenta y dominio.

apt-get install ddclient

Ahora que ya tenemos activado el dominio, basta ir al navegador y escribir la direccion para
entrar en el servidor y podemos ver la pagina default de apache.

Ahora editaremos la configuracion de apache que nos servira para mas adelante.

editamos el archivo

vi /etc/apache2/sites-available/default

y cambiaremos lo siguiente

DocumentRoot /var/www/apache2-default —-> DocumentRoot /var/www/html
var/www/apache2-default/> —-> var/www/html/>

Guardamos y creamos el directorio

mkdir /var/www/html

Reinicamos el servicio

/etc/init.d/apache2 reload

Si todo salio bien ahora el directorio en donde se serviran las paginas sera /var/www/html
de manera que cualquier pagina que queramos servir tendremos que guardarla ahi.

Hemos llegado al final de esta entrega, espero sea de utilidad. En caso de dudas o comentarios pueden escribirme a alvaro arroba pixelado.org

En la proxima entrega veremos como agregar un servicio de ftp para poder subir las paginas a nuestro servidor.

Hasta luego.

alvariux Linux, Software

Grabando cds y dvds desde linea de comando

July 5th, 2007

Para poder hacer esto necesitamos los siguientes paquetes en Ubuntu

apt-get install cdrecord, dvd+rw-tools, mkisofs

Borrando un CDRW

cdrecord blank=fast dev=/dev/cdrw

Borrando un DVD-RW

dvd+rw-format -blank /dev/cdrw

Grabando una image ISO a un cd

cdrecord dev=/dev/cdrom driveropts=burnfree -v -data cd_image.iso

Creando una imagen ISO

mkisofs -o test.iso -J -r -v -V test_disk /data

Montar una imagen ISO

mount -t iso9660 -o loop archivo.iso /data

Grabando una imagen ISO en DVD

growisofs -dvd-compat -Z /dev/dvd=dvd1.iso

Referencias

https://help.ubuntu.com/community/CdDvdBurning

alvariux Linux, Software

Agregando Soporte SSL para Apache en Ubuntu

June 13th, 2007

Secure Sockets Layer (SSL) es un protocolo que nos permite servir paginas de manera segura, algunos programas como oscommerce lo utilizan para poder realizar las transacciones.

Añadiremos soporte ssl para Apache en nuestro servidor ubuntu

Instalamos apache si es que no lo tenemos

apt-get install apache

Habilitamos el modulo ssl de apache

a2enmod ssl

Generamos un certificado

apache2-ssl-certificate

Ahora crearemos el sitio que utilizara ssl en apache, solo hara una copia del archivo default

cd /etc/apache2/sites-available
cp default ssl

Cambiamos la configuracion del archivo ssl

NameVirtualHost *:443
</VirtualHost>

Debajo de SSLEngine On escribimos

SSLCertificateFile /etc/apache2/ssl/apache.pem

Habilitaremos el nuevo sitio ssl y reiniciamos

a2ensite ssl
/etc/init.d/apache2 force-reload

Espero les sirva.

Saludos.

alvariux Linux, Software

Monitoreando con Munin en Ubuntu

June 9th, 2007

Munin es un programa que nos sirve para monitorear servidores, puede resultar muy util para ver estadisticas de uso de los recursos de nuestros servidores, como memoria, disco duro y servicios. Una vez teniendo esta informacion podemos tomar una decision de actualizar el hardware o ponerle especial atencion a algun servicio que tengamos.

A continuacion vamos a describir como inatalarlo y configurarlo para operar en un servidor con Ubuntu.

primero vamos a instalar los paquetes necesarios.

apt-get install munin munin-node

Una vez instalado tenemos el direcotrio /etc/munin/plugin-conf.d/munin-node
en donde se encuentra la configuracion de los plugins que actualmente estan activos. Basicamente en este archivo escribimos el usuario o grupo con el que los plugins deben ejecutarse para poder sacar la informacion que se necesita, ademas de algunas variables que necesiten los plugins.

En el directorio /etc/munin/plugins estan los plugins activos, aqui agregaremos algunos que nos podran ser utiles, este directorio alamacena solo enlaces simbolicos a los archivos del directorio /usr/share/munin/plugins que es donde realmente se encuentran los plugins.

Ademas los plugins que ya vienen por default agregaremos unos cuentos mas creando enlaces simbolicos a los archivos de la siguiente manera. Estando dentro del directorio /etc/munin/plugins

ln -s /usr/share/munin/plugins/apache_accesses apache_accesses
ln -s /usr/share/munin/plugins/apache_volume apache_volume

Con esto mostrara informacion acerca de apache.

Si qeremos eliminar un plugin de la lista solamente tenemos que borrar su enlace simbolico de la sigueinte manera. Estando dentro del directorio /etc/munin/plugins

unlink apache_volume

Ahora solo recargaremos la configuracion con el comando.

/etc/init.d/munin-node restart

Espero que sea de ayuda para ustedes.

Hasta la proxima.

alvariux Linux, Software