Ejemplo simple con Ajax – parte final

La aplicación de ejemplo fue producto de mi primer par de horas de contacto con Ajax y Prototype así que tal vez no sea la mejor de las soluciones, sin embargo como todo es suceptible de ser mejorado. Se reciben comentarios al respecto.

La aplicación de ejemplo y los archivos fuente pueden ser descargados del siguiente URL: http://demo.jorgeivanmeza.com/Prototype/ajax1/.

Problemas con el idioma de los documentos con OpenOffice

El día de ayer tuve que invertir un buen par de horas en investigar acerca de unos presuntos problemas con la selección del idioma de los documentos de OpenOffice.

Instalé el diccionario en Español (Colombia) con el macro. Configuré correctamente en Herramientas > Opciones > Configuración de Idioma > Idiomas > Idioma Predeterminado (Occidental). La corrección automática funcionaba bien en los documentos nuevos, sin embargo algunos documentos traídos por los usuarios no eran verificados por el corrector.

Descubrí que, aparentemente, los carácteres (parrafos ?) también pueden tener secciones con diccionarios por separado.

El problema se solucionó seleccionando todo el documento afectado y eligiendo Formato > Carácter > Idioma = Español (Colombia).

Cambiar las contraseñas del sistema operativo y Samba a través de web

Otro problema que surge al intentar hacer en las empresas lo que mencioné en el post anterior con Samba, es que se manejan dos tipos de contraseñas que deben administrarse por separado: /etc/passwd y /etc/samba/smbpasswd; además su actualización debe hacerse desde la consola, hecho que para los usuarios, incluyendo a la mayoría de personajes de sistemas, es difícil o tedioso. Por eso busqué que software libre me permite actualizar estas contraseñas de manera unificada, simple y desde web.

Extrañamente sólo encontré una solución: ChangePassword alojada en http://changepassword.sourceforge.net/.

ChangePassword permite actualizar las contraseñas de Linux, Samba y Squid (en la Fundación no se utiliza) a través de una interfaz web generada por un CGI.

Su instalación es muy simple.

1. Descargue y descomprima el archivo changepassword-xx.tar.gz. En este momento la versión actual es la 0,9.

2. Edite el archivo conf.h con la información relacionada con la presentación: color de fondo, tipo de fuente, etc.

3. Ejecute el comando configure especificando la información de idioma, el logo, la ubicación del directorio de CGIs, la ubicación del archivo smbpasswd y del archivo de contraseñas de Squid.

./configure –enable-cgidir=/srv/www/cgi-bin
–enable-language=Spanish
–enable-smbpasswd=/etc/samba/smbpasswd
–disable-squidpasswd
–enable-logo=imagenes/logo_fdq.png

La ubicación del logo se referencia desde la raíz del sitio web.

El idioma se toma según los archivos contenidos en el directorio /languages de la distribución.

Después se dan los consabidos make y make install.

El archivo que se debe consultar para actualizar las contraseñas se ubica en:

http://SERVIDOR/cgi-bin/changepassword.cgi

Actualmente estoy recibiendo el mensaje: “No pude renombrar el archivo de contraseñas temporal.” (“Could not rename the temporary password file“), del cual no he podido encontrar su solución 🙁 Le escribí un mensaje al desarrollador a ver si me ayuda con su significado.

La dirección de correo electrónico del desarro

Controlando la máscara con Samba 3

Samba es uno de mis servicios preferidos en *NIX. Sirve para casi todo 😉

Hoy instalé y configuré en 10 minutos el servicio DHCP en el servidor UNO de la Fundación, para probar los equipos con direccionamiento dinámico ya que hasta ahora lo han manejado estático, configurando equipo por equipo. Esto porque dicen, lo cual es extrañamente muy cierto, que la red de Windows algunas veces no responde por nombre y por ello requieren conocer la IP específica de los equipos para poder acceder a los recursos compartidos.

El experimento es pasar las máquinas a direcciones dinámicas (con DHCP) y dentro de sus parámetros se especifica al servidor UNO como servidor de WINS, el cual es provisto por Samba.

Otro servicio que intento que los usuarios de Sistemas utilicen es el acceder a sus directorios HOME para que almacenen allí archivos importantes, incluyendo al directorio public_html donde puedan publicar documentos directamente en la web. En especial, que lo utilicen para el desarrollo de los proyectos y no utilicen versiones desactualizadas en sus equipos o sin los parámetros necesarios, como pasó hace poco, con el register_globals en on :-s.

Activar el servicio de WINS es muy sencillo:

wins support = yes

Con esto me surgió un pequeño problema, los archivos y directorios creados por los usuarios a través de las carpetas compartidas no quedaban con los permisos apropiados para poder ser consultados a través de web.

Una búsqueda rápida en la documentación de Samba me ayudó a encontrar las siguientes líneas que añadidas a la sección global del archivo /etc/samba/smb.conf asignan los permisos apropiados (al menos para mi caso).

force create mode = 0755
force directory mode = 0755

Mas información acerca de las opciones de control de acceso a los archivos, directorios y recursos compartidos se pueden consultar en en capítulo 16 del HOWTO oficial.

Actualizando MediaWiki 1.9

Después de actualizar a la última versión de MediaWiki utilizando OneClickInstalls de DH encontré que el sitio no estaba funcionando correctamente porque había incongruencias con la base de datos.

Para solucionarlas seguí los siguientes pasos.

$ cp AdminSettings.sample AdminSettings.php

$ vi AdminSettings.php

$wgDBadminuser = ‘wikiadmin’; // Nombre de usuario de la BD
$wgDBadminpassword = ‘adminpass’; // Contraseña de la BD

$ cd maintenance

$ /usr/local/php5/bin/php update.php

$ /usr/local/php5/bin/php refreshLinks.php

$ rm ../AdminSettings.php

La documentación relacionada a la actualización de MW se encuentra en la Wiki de DH.

Departamentos y Municipios de Colombia

Esta semana necesité los listado de los departamentos y municipios de Colombia y no logré encontrar un sitio que los tuviera en una tabla que me fuera fácil de trabajar con ella. Tuve que utilizar cerca de una hora de trabajo para encontrar y organizar esta información de la forma como la necesitaba.

Se publican tres tablas CSV con la información organizada de la siguiente manera.

departamentos.csv – Listado de los departamentos de Colombia.
municipios_distinct.csv – Listado básico de los municipios de Colombia.
municipios.csv – Listado de los municipios de Colombia relacionados por cada departamento.

Actualización en septiembre 15 de 2008.  Consultar al siguiente artículo.

Skype en el puerto 80

Este mes decidí volver a reencontrarme con la parte técnica que vive en algún lado de mi. Decidí entonces instalar de nuevo Apache/PHP/MySQL para empezar a desempolvar mis neuronas. En esta ocasión decidí que ya había instalado suficientes veces estas aplicaciones de manera individual y que esta vez tomaría ventaja de esos muchos paquetes que incluyen todo el software en unos cuantos siguientes. Para esto elegí el paquete XAMMP de ApacheFriends.

Extrañamente después de instalar todo el software sin ningún problema, Apache no quiso funcionar. Al parecer alguien estaba utilizando el puerto 80. 😮

Esa semana no tuve mucho tiempo para ver que sucedía hasta hoy que decidí no irme a dormir hasta que el servidor de páginas funcionara.

Hace un tiempo utilicé un programita que listaba los puertos activos junto con las aplicaciones que acceden a ellos. Descargué fport y encontré con sorpresa que quien utilizaba mi puerto 80 para servir páginas en blanco era Skype.

FPort v2.0 – TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
http://www.foundstone.com
Pid Process Port Proto Path
2172 Skype -> 80 TCP C:Archivos de programaSkypePhoneSkype.exe
2172 Skype -> 443 TCP C:Archivos de programaSkypePhoneSkype.exe

Modifiqué entonces a Skype para que no utilizara mas estos puertos.

Herramientas > Opciones > Avanzada > Conexión > (desactivar) Usar puertos 80 y 443 como alternativas para las conexiones entrantes.

Es necesario reiniciar Skype para que los cambios surtan efecto.

Revisando algunas páginas que había abierto durante mi búsqueda en Google, encontré que Matthew Mullenweg en su sitio hacía referencia al mismo problema en su post Windows Tip y que lo había diagnosticado únicamente con herramientas de Windows XP y me mas pareció interesante.

Con el comando netstat -a -o -n se listan los puertos activos junto con el PID de la aplicación propietaria.

Con tasklist se lista la información de las aplicaciones activas. Con tasklist /FI “PID eq 2172” se filtra la información de la aplicación cuyo PID sea 2172.

Finalmente, es posible con taskkill /PID 2172 matar el proceso 2172 para ahora si, hacer funcionar correctamente a Apache.