martes, 3 de marzo de 2015

Corregir configuracion local de zimbra

La configuración local de Zimbra se maneja con el comando zmlocalconfig. Ahí podemos editar distintos valores de variables de configuración. A partir de esas variables se generan los archivos de configuración particulares de cada componente de zimbra (postfix, MySQL, etc.).

Esas variables tienen el formato clave=valor. Meses atrás, por equivocación, una clave quedó con un espacio en blanco. Consulté la documentación y en los foros de zimbra. La solución disponible era dejar la variable sin un valor (parametro -u o --unset) pero la clave seguía existiendo. Y me interesaba eliminarla, varios scripts de linea de comando daban errores por esto.

Finalmente encontré la solución, que compartí en el foro de zimbra y hoy publico acá. zmlocalconfig almacena las claves en el archivo localconfig.xml.En este archivo XML, tenemos las claves como sigue:

         <key name="smtp_notify">
                 <value>yes</value>
         </key>

Para resolver mi problema bastó con eliminar la clave que molestaba. Es recomendable respaldar el archivo antes de editarlo. Despues de editado puede ser necesario recargar o reiniciar algun servicio.

sábado, 24 de enero de 2015

Ajustes a una instalacion de ZIMBRA: comando sendmail

Zimbra es una solución muy redonda, a la hora de implementar soluciones de correo electrónico. En poco tiempo implementas una solución muy completa de correo, multidominio. Cuenta con una muy completa documentación y tutoriales para resolver necesidades o tareas no habituales.Una interface web de administración y un conjunto de herramientas de linea de comando facilitan la vida del administrador de sistemas y los operadores que realizan tareas de rutina.

La instalación usual de Zimbra crea un directorio bajo /opt (usualmente zimbra) e instala allí todos los paquetes y archivos de configuración.Es una buena solución, permite tener una instalación consistente a salvo de las actualizaciones del sistema operativo. La forma correcta de trabajar con zimbra por linea de comando es hacerlo con el usuario zimbra, o agregar al PATH los directorios donde corre zimbra.

Hace algunas semanas atras encontré que correos generados por el cron no se enviaban. La razón de esto es que el cron utiliza el comando sendmail. Conozco dos soluciones posibles a esto. La primera es en el crontab, definir la variable de ambiente PATH, con los directorios de zimbra donde esta el ejecutable de sendmail. La otra, parado en el directorio hacer un symlink al ejecutable de zimbra:

cd /usr/sbin ; mv sendmail sendmail.OLD;  \
ln -s ../../opt/zimbra/postfix-2.10.2.2z/sbin/sendmail

De optar por esta solución es importante que los enlaces simbolicos sean con caminos relativos.

lunes, 12 de enero de 2015

Rotar pantalla de Windows

Cada tanto tengo que atender una llamada con este problema, un usuario que tiene la pantalla de su PC con windows "al reves" o "girada". Y nunca recuerdo como arreglarlo, asi que esta entrada del BLOG es para tener un recordatorio a la mano.

  • Posicion Normal: Pulsar ctrl+alt+flecha arriba.
  • Girado 90º: ctrl+alt+flecha izquierda.
  • Girado 180º: ctrl+alt+flecha abajo.
  • Girado 270º: ctrl+alt+flecha derecha.
Esto funciona con Windows vista o superiores. En XP se podría arreglar en "Propiedades de Adaptador".

jueves, 8 de enero de 2015

¿PERL?

En el año que terminó recibí dos ofertas firmes de empleo, que involucraban este lenguaje. Es habitual que me llamen reclutadores, un par de veces al año, buscando gente con conocimiento de PERL. Me sorprendió las ofertas firmes de empleo, con salarios competitivos y en un caso un paquete de beneficios interesante.

El PERL entró a mi vida hace unos 15 años, con un cambio de empleo. Entre mis tareas como administrador de sistemas debía realizar scripts para automatización de tareas. Muchos de esos scripts se hacían con herramientas de filtros (SED, AWK). Varios scripts se sustituyeron o hicieron desde cero en PERL. Con algunas ventajas frente a programar con filtros, por la claridad de a la hora de entender la lógica del programa. El lenguaje resultaba adecuado para el trabajo.

Con otro cambio de empleo, empecé a trabajar como desarrollador WEB. Mi trabajo inicial era corregir bugs y agregar funcionalidades a KOHA, un sistema de gestión integrado para una biblioteca. Entré a trabajar con plantillas (HTML::Template) y acceso a bases de datos (DBI). Descubrí Date::Manip, una poderosa biblioteca (módulo) de manejo de fechas. También pude conocer de primera mano las limitaciones de trabajar en ambiente de CGI, con mod_perl se hace bastante más llevadero.

En general a mis colegas la mención de PERL les provoca rechazo. A nivel de desarrolladores la cosa no esta mejor, cuando podría ser una alternativa para scripts de backend; tareas simples de datawarehousing (scripts ETL)  o  procesamiento de logs.

No intento en esta entrada hacer una apología del PERL, simplemente ponerlo en el tapete. No tiene por que ser tu lenguaje de favorito, pero debería estar en la caja de herramientas del administrador de sistemas. Cuando menos tener una familiaridad, para instalar scripts o corregir bugs.

¿Quien usa PERL?

No es el lenguaje más popular, pero es utilizado en muchos sitios WEB con volúmenes de tráfico importantes. Una pequeña lista:
A nivel de backend se que hay CDNs que tienen scripts en PERL. Muchos CMS desarrollados in house fueron programados en PERL. Paquetes o aplicaciones desarrollados en PERL:
  • KOHA: Este ILS es utilizado por mas de 50 bibliotecas
  • OTRS: Un poderoso sistema de tickets y gestión de incidentes.
  • SpamAssassin: Filtro de SPAM, utilizado por muchos servidores de correo y firewalls con filtrado de correo.
  • GOSA: Sistema de gestión de usuarios y computadoras con Backend LDAP.
  • Bugzilla: Sistema de seguimiento de BUGS.

Aprender PERL

Si tengo que recomendar un libro, sigo recomendando el Learning PERL. Incluso una edición vieja, como la tercera edición, es una buena ayuda para comenzar.

A nivel de recursos en linea, lo primero es ir a learn.perl.org. Este sitio tiene enlaces a tutoriales y muchos ejemplos de tareas concretas, como validar una direccion de correo o leer una planilla Excell.  En este mismo sitio hay una muy buena página con enlace a tutoriales. PERL.com está muy quieto, pero a veces aparece algo interesante. Otro sitio interesante es PERL Mongers, en Uruguay no hay grupo (¿Habra?).