Category Archives: Language

Libreta de direcciones compartida con OpenLDAP

LDAP (Lightweight Directory Access Protocol) es un protocolo de acceso a servicios de directorio. Un directorio es similar a una base de datos pero con información basada en atributos que no cambia frecuentemente y sobre la cual no es necesario hacer consultas complejas. En un directorio la lectura de información es muy rápida.

La información de un directorio puede ser almacenada de diversas formas (backends), lo importante es que con LDAP podemos acceder a dicha información e incluso mantener servidores secundarios con replicas que se actualizan periodicamente (así podriamos equilibrar la carga del servicio).

LDAP podría cubrir perfectamente funciones muy útiles en una intranet como por ejemplo identificación de usuario centralizada (antiguamente se utilizaba NIS en entornos UNIX pero es menos seguro y eficiente), así los usuarios podrian acceder a diversos servicios con un único login/password y la gestión de los mismos sería muchisimo más sencilla para los administradores. También podria proporcionarnos un servició de libreta de direcciones centralizado de forma que desde varios PCs podamos acceder siempre a nuestra agenda de contactos, esto será lo que explicaré en este artículo.
Continue reading Libreta de direcciones compartida con OpenLDAP

Mutt: cliente de correo de consola

Mutt es un cliente de correo que funciona en consola y ofrece un amplio abanico de posibilidades aunque puede que inicialmente nos resulte un poco complicado acostumbrarnos a él. La potencia de mutt está en su amplia configurabilidad, nos va a permitir leer el correo de nuestro sistema (/var/spool/mail/usuario) o incluso de otros sistemas remotos usando IMAP/POP3.

Lo ideal es tener montado un sistema de descarga/envio de correo combinando getmail, procmail para el filtrado y exim para el envio. Opcionalmente si se quiere acceder al correo desde PCs conectados en red se puede tener servicio de IMAP con dovecot. De esta forma bajariamos el correo con getmail y se guardaría en nuestros buzones del sistema y podriamos consultarlo con mutt desde una consola (por ejemplo conectandonos remotamente por SSH). Aunque este sea el ideal, mutt también ofrece la posibilidad de acceder al correo utilizando directamente IMAP o POP3 como ya he comentado.

Suele ser útil tener un cliente de consola configurado para poder acceder a nuestro correo cuando hay una urgencia o en remoto utilizando el servicio SSH. También podriamos decantarnos por el cliente de correo pine, es más intuitivo que mutt pero menos potente (además de no ser 100% libre).

Cuando arrancamos mutt, lo primero que hará será cargar los archivos de configuración. Primero cargará el del sistema “/etc/Muttrc” y a continuación el del usuario que lo este ejecutando “~/.mutt/muttrc”, este último será el que modifiquemos y añadiremos las siguientes opciones que podremos adaptar a nuestras necesidades (las he comentado todas):
Continue reading Mutt: cliente de correo de consola

Entidad certificadora personal con OpenSSL

Gracias a OpenSSL podemos tener comunicación encriptadas entre diferentes máquinas utilizando criptología asimetrica, es decir, claves públicas y privadas. Además, es posible montar entidades certificadoras que se encarguen de asegurar que una llave pertenece a quien dice pertenecer, de esta forma conseguimos encriptación y autentificación.

Las entidades certificadoras actuales cobrán por el servicio de firma de llaves y no suele ser precisamente asequible. Por otro lado, montar una entidad certificadora oficial también resulta muy costoso ya que se demandan unas ciertas garantias que destrás del negocio hay una cierta seguridad. Por tanto, es habitual que los administradores de pequeñas redes se creen su propios certificados para firmar sus claves. De esta forma podremos disponer de comunicaciones encriptadas sin necesidad de entidades certificadoras.

Estas entidades oficiales pagan para que aparezcan por defecto sus certificados en navegadores como Mozilla Firefox o Internet Explorer. De esta forma el propio navegador puede comprobar automáticamente que cuando se conecta a un sitio seguro, el certificado que recibe ha sido realmente firmado por una entidad oficial. Eso implica que nuestros certificados no serán reconocidos automáticamente por los navegadores a no ser que los añadamos manualmente, el único inconveniente que aporta esto es que el navegador mostrará un aviso extra al usuario (dependiendo de la configuración) advirtiendo que no reconoce la entidad certificadora.

Vamos a ver como configurar OpenSSL para montar nuestro servicio de certificación personal. Lo primero es tener OpenSSL instalado en el sistema (aptitude install openssl), la configuración la encontraremos en “/etc/ssl” y será allí donde editemos el fichero “openssl.cnf”. Os pongo un extracto del archivo con lo más importante:
Continue reading Entidad certificadora personal con OpenSSL

Calendarios compartidos

Podriamos utilizar WebDAV para disponer de un calendario compartido de forma que podamos añadir citas desde cualquier ordenador. Evolution soporta este tipo de calendario pero únicamente ofrece acceso de solo lectura, Mozilla SunBird en cambio si ofrece acceso completo, sin embargo aun se encuentra muy verde ya que me he tenido muchisimos problemas… llegando incluso a corromper y perder por completo la información del calendario.

No suelo utilizar estas agendas-calendario pero hay gente que sí y seria realmente interesante poder disponer de un calendario compartido. Por ahora tendremos que conformarnos con utilizar soluciones web como PHP iCalendar, este soporta el formato de fichero estándar que también soporta Evolution y SunBird, por tanto en un futuro se podrá utilizar en conjunto con los otros 2 clientes sin problemas.

Televisiones por Internet

Como me he instalado RealPlayer en Ubuntu, me ha dado por buscar televisiones que emitan por Internet… he encontrado un par de páginas (1, 2) con listados de algunas que funcionan. La NASA parece tener también su propia televisión.

En cuanto a radios por Internet lo mejor es buscar en shoutcast, bajarse el archivo .pls y o bien editarlo para añadir las URLs al rhythmbox o bien ir con el nautilus, darle con el botón derecho y pulsar sobre “Abrir con rhythmbox”. En shoutcast podemos buscar también por “40 principales” y “flaix” para encontrar enlaces a esas populares radios 😉

WebDAV

Hoy he estado configurando subversion en mi servidor Apache y ya que estaba, me pusé a mirar como funcionaba WebDAV. Este protocolo es una extensión de HTTP y ofrece la posibilidad de acceder remotamente a un directorio web como si de un FTP se tratase, además posee mecanismos para permitir la edición en remoto de los documentos que haya en la web, permitiendo el desarrollo colaborativo.

Con WebDAV podriamos tener colgada una web y estar editandola un grupo de programadores de forma simultánea para continuar el desarrollo de la misma. Algo fantástico a primera vista y muy facil de configurar en Apache, basta tener el modulo cargado y poner “Dav On” en la definición de directorio que queramos tener acceso sin passwords con WebDAV:

<Directory /home/*/public_html>
  Dav On
   ...
</Directory>

De esta forma podriamos acceder por ejemplo mediante Nautilus a “dav://localhost/~user/” y podriamos visualizar todos los archivos como si de un FTP se tratase. Si el usuario de Apache tiene permisos en el directorio remoto podremos subir/borrar/bajar archivos o editarlos por ejemplo con gedit. El mayor inconventiente es que actualmente no hay ninguna aplicación que utilice gnome-vfs para la escritura, lo que hará que gedit nos habra el fichero remoto pero no nos deje modificarlo 🙁

Podriais estar pensando que esto mismo se puede conseguir con un FTP y programas que te permiten editar archivos ubicados en FTPs remotos. La diferencia radica en que WebDAV esta pensado para evitar perder datos, es decir, usando el método del FTP un usuario podria machacar los cambios de otro usuario si estan trabajando en paralelo, mientras que WebDAV ofrece mecanismos para evitar estas situaciones.

Por supuesto también podemos configurar WebDAV para que sea necesaria la identificación de usuarios.

No he encontrado ninguna otra aplicación que me permita editar archivos en un servidor WebDAV así que se ha quedado el experimento un poco a medias 🙁 Aunque lo cierto es que la tecnología parece muy interesante 🙂

mplayer de Ubuntu en AMD Athlon XP

Para instalar mplayer en Ubuntu simplemente hay que añadir el repositorio Multiverse al /etc/apt/sources.list:

deb http://archive.ubuntu.com/ubuntu/ warty universe multiverse

Y hacer un “aptitude install mplayer-custom”. Cual ha sido hoy mi sorpresa cuando al intentar reproducir un video me ha dicho “Instrucción ilegal” y ha petado 🙁 Resulta que el mplayer compilado para Ubuntu solo funciona en Pentium IV por culpa de los flags de compilación (esto en Gentoo no pasa!!).

Para poder tener un mplayer compilado para mi máquina (AMD Athlon XP) y funcional he tenido que realizar los siguientes pasos:

  1. Asegurarme que en /etc/apt/sources.list tengo “deb-src http://archive.ubuntu.com/ubuntu/ warty universe multiverse”
  2. Bajarme el código fuente del paquete con “apt-get source mplayer-custom”
  3. Entrar en el directorio recien creado “cd mplayer-1.0-pre5/”
  4. Ejecutar “dpkg-buildpackage -rsudo -uc -b” y ver el listado de cabeceras necesarias para compilar mplayer, esto también podriamos verlo con “apt-get build-dep mplayer-custom”.
  5. He tenido que adaptar un poco los nombres de algunos paquetes -dev que se requerian y finalmente he ejecutado:
    aptitude install libncurses5-dev libsvga1-dev libsdl1.2-dev liblircclient-dev libgtk1.2-dev libvorbis-dev libmad0-dev sharutils libasound2-dev libfaad2-dev liblzo-dev gawk libsmbclient-dev libpng12-dev libungif4-dev libggi2-dev aalib1-dev liblame-dev libcdparanoia0-dev libxvidcore4-dev libdv-dev libavcodec2-dev liblive.com-dev em8300-headers libpostproc-dev xlibmesa-dev xlibmesa-gl-dev xlibmesa-dev xlibmesa-glu-dev libartsc0-dev xmms-dev"
  6. a tengo todo lo necesario instalado, vuelvo a ejecutar “dpkg-buildpackage -rsudo -uc -b
  7. Cuando finalice la compilación, esto generará en el directorio padre 3 .deb:
    mencoder-custom_1.0-pre5-0.6ubuntu1_i386.deb
    mplayer-doc_1.0-pre5-0.6ubuntu1_all.deb
    mplayer-custom_1.0-pre5-0.6ubuntu1_i386.deb
    
  8. Ahora ya podemos desintalar todos los paquetes necesarios para la compilación:
    aptitude purge libncurses5-dev libsvga1-dev libsdl1.2-dev liblircclient-dev libgtk1.2-dev libvorbis-dev libmad0-dev sharutils libasound2-dev libfaad2-dev liblzo-dev gawk libsmbclient-dev libpng12-dev libungif4-dev libggi2-dev aalib1-dev liblame-dev libcdparanoia0-dev libxvidcore4-dev libdv-dev libavcodec2-dev liblive.com-dev em8300-headers libpostproc-dev xlibmesa-dev xlibmesa-gl-dev xlibmesa-dev xlibmesa-glu-dev libartsc0-dev xmms-dev
    
  9. Y finalmente desinstalar el mplayer-custom que tengamos para instalar el nuevo con “dpkg -i mplayer-custom_1.0-pre5-0.6ubuntu1_i386.deb”

Para poder reproducir videos correctamente y que funcione el fullscreen (tecla f) he tenido que configurar /etc/mplayer/mplayer.conf y poner:

vo=gl2,
ao=esd,
...

He subido los .deb resultantes al directorio temporal.

Imprimir varias transparencias en 1 hoja con OpenOffice

Los que usamos OpenOffice para crear transparencias para nuestras conferencias o clases, si queremos entregar el material impreso lo habitual es que vayamos directamente a imprimir nuestra presentación… esto hará que se imprima 1 página de presentación por cada folio. Esto puede resultar engorroso ya que probablemente estamos gastando demasiadas hojas para la información que proporcionamos, lo ideal quizás seria tener 4 páginas de presentación por folio.

Para poder conseguir esto debemos seguir estos pasos:

  1. Abrimos nuestra presentación con OpenOffice
  2. Ver -> Area de trabajo -> Modo volante
  3. Ver -> Barra de símbolos -> Presentación
  4. En la nueva ventana podemos pulstar “Modificar diseño de diapositiva” y aquí elegiremos cuantas transparencias queremos por hoja
  5. Archivo -> Imprimir
  6. Vamos a las Opciones y seleccionamos “Contenido -> Volante” y desmarcamos “Contenido -> Dibujo”. También podriamos modificar otros detalles como los colores a usar (predenterminado, escala de grises…). Aceptamos.
  7. Ahora tenemos 2 opciones, si queremos imprimir directamente… pulsamos Imprimir, pero si lo que queremos es generar un PDF con las N presentaciones por hoja deberemos marcar “Imprimir en archivo”
  8. Si imprimimos a archivo y pulsamos Imprimir, nos pedirá que indiquemos donde queremos guardar el postscript… indicamos un directorio y un nombre como por ejemplo “test.ps”. Una vez genere este fichero, podremos convertirlo a PDF utilizando el comando “ps2pdf test.ps”.

Esta información la he obtenido gracias a que varios usuarios hemos compartido nuestro conocimiento en un post de GPL Tarragona. Creo que refleja muy bien el espiritu del Software Libre ese artículo, hemos colaborado para llegar a una solución óptima 🙂