Problema con la libreta de direcciones en Horde al actualizar a Plesk a la versión 9.5.1

El problema que os comento me ha pasado con Horde (webmail por defecto en Plesk) por actualizar Plesk de la versión 9.3.0 a 9.5.1.

El problema estaba bien claro, al intentar acceder a la libreta de direcciones que Horde guarda, Horde daba el siguiente error:

DBError: field

y el log de Horde daba el siguiente error:

error log : Apr 20 18:05:16 HORDE [error] [kronolith] DB Error: no such  field:
SELECT event_id, event_uid, event_description, event_location,  event_private, event_status,
event_attendees, event_keywords,  event_title, event_category, event_recurcount, event_recurtype,
 event_recurenddate, event_recurinterval, event_recurdays, event_start,  event_end, event_alarm,
event_modified, event_exceptions,  event_creator_id FROM kronolith_events WHERE calendar_id =  'email@domain.com'
AND event_alarm > 0 AND ((event_end >=  '2010-04-20 00:00:00') OR (event_recurenddate >=
'2010-04-20  00:00:00' AND event_recurtype <> 0))
[nativecode=1054 ** Unknown  column 'event_private' in 'field list'] [pid 26294 on line 323 of  "/usr/share/psa-horde/kronolith/lib/Driver/sql.php"]
 Apr 20 18:05:16 HORDE [error] [turba] DB Error: no such field: SELECT  object_id, owner_id,
 object_type, object_members, object_uid,  object_firstname, object_lastname, object_middlenames,
 object_nameprefix, object_namesuffix, object_alias, object_bday,  object_homestreet,
object_homepob, object_homecity, object_homeprovince,  object_homepostalcode, object_homecountry,
 object_workstreet,  object_workpob, object_workcity, object_workprovince,  object_workpostalcode,
object_workcountry, object_tz, object_email,  object_homephone, object_workphone, object_cellphone,
object_fax,  object_pager, object_title, object_role, object_company,  object_category, object_notes,
object_url, object_freebusyurl,  object_pgppublickey, object_smimepublickey FROM turba_objects WHERE
 (object_type = 'Group' AND owner_id = 'email@domain.com')  [nativecode=1054 ** Unknown column
'object_firstname' in 'field list']  [pid 26294 on line 173 of  "/usr/share/psa-horde/turba/lib/Driver/sql.php"]

Vale pues despues de tantos errores aqui os digo la solución que mas o menos daban en los foros de parallels y que yo le aplique al dichoso error.

El error es debido a que Plesk al actualizar a la versión 9.5.1 instala la versión de psa-turba 2.3.3 que es la que crea el complemento de la libreta de direcciones en Horde, pues desinstalamos ese rpm que Plesk instalo:

rpm -e –nodeps psa-turba-2.3.3

Ahora nos vamos a bajar el anterior paquete rpm de la versión de psa-turba que es el 2.1.7 y posteriormente lo instalamos y listo.

wget http://autoinstall.plesk.com/PSA_9.3.0/dist-rpm-CentOS-5-x86_64/opt/horde/psa-turba-2.1.7-cos5.build93091230.06.noarch.rpm

rpm -i psa-turba-2.1.7-cos5.build93091230.06.noarch.rpm

Y listo¡¡¡ ya tenemos la libreta de direcciones que guarda Horde y no hemos perdido ningún contacto porque no hemos tocado la base de datos ni las tablas que usa Horde.

Script para después de instalar Ubuntu Lucid Lynx 10.04

Una vez instalado Ubuntu 10.04 Lucid Lynx, con la ejecución del siguiente script, podréis poner al día vuestro sistema de una forma automática, ahorrando el proceso de consola ( aunque tampoco es que hacer el tipico copy&paste, que todos hacemos es que sea mucho trabajo, pero lo cierto es que con el script las siguientes tareas descritas se realizaran de forma automática:

  • Agrega repositorios (Medibuntu, getdeb, etc).
  • Descarga e instala las últimas actualizaciones.
  • Instala Ubuntu Tweak.
  • Instala codecs, plugins del navegador web (Java, Flash), un apoyo adicional para los archivos (RAR, 7-Zip) y fuentes adicionales, instala el más reciente reproductor de Flash para Ubuntu 10,04 Lucid Lynx 64 del sitio de Adobe.
  • Ajustes GConf: mueve los botones de nuevo a la derecha, desactiva el sonido de entrada GDM, se fija el comportamiento del gestor de actualización para mostrar siempre las actualizaciones y permite los iconos de los menús y botones.
  • Instala GIMP (que se ha eliminado de Ubuntu 10,04).
  • Instala VLC.
  • Instala el cliente de correo electrónico Thunderbird.
  • Instale el navegador web Chromium.
  • Instala Google Chrome – la última versión dev (se descarga la versión de 32 bits o 64 de forma automática – dependiendo de la arquitectura de su sistema).
  • Instala WINE.
  • Instala MPlayer.
  • Establece la codificación de caracteres de MPlayer y Totem  a Central / Europa del Este (Windows-1250), pueden desactivar esto quitando líneas: 64 y 69,70,71,72,73,74,75, o desde la configuración manual en el menú del script.
  • Instala el cliente de mensajería instantánea Pidgin.
  • Tiene con una interfaz gráfica de usuario – bueno, casi, lo único que tienen que hacer es marcar algunas cajas de verificación y la secuencia de comandos hará el resto.
  • Se añadió la instalación de Dropbox (incluyendo el repositorio de Dropbox que es paraKarmic  por ahora, pero funciona en Lucid también – los desarroladores prometen que usará el repositorio para Lucid cuando Dropbox lo de a conocer).
  • Instala las herramientas de desarrollo (de build-essential a Subversion y GIT).
  • Añadido gnome-do.
  • Elimina iconos de unidad del escritorio.
  • Arregla el problema de lentitud del repositorio de Google Chrome para el comando “apt-get update”.
  • Permite desactivar en la pantalla de entrada GDM la lista de usuarios.
  • Añade repositorios: Ubuntu Restricted Extras, Medibuntu, getdeb, Dropbox (sólo si se selecciona para instalar Dropbox)
  • Se instala desde los repositorios: The GIMP, Pidgin, el vino, navegador de cromo, Gnome Do, Guake, VLC media player, Mplayer, SMPlayer, Thunderbird, Dropbox, codecs (multimedia, java, flash), el apoyo archivos adicionales, soporte para DVD y las fuentes, Ubuntu Tweak, Deluge Torrent, CompizConfig Administrador de configuración, herramientas de desarrollo.
  • Descarga e instala los siguientes: navegador de Google Chrome (se descarga la construcción de 32 o 64 bits, dependiendo de su versión de Ubuntu), los emoticones oficiales de Pidgin (para todos los protocolos), la más reciente de Flash Player para 64 bits a través de la web de Adobe, Skype (32 o 64 bits, dependiendo de su versión de Ubuntu).
  • Tweaks:

Mueve los botones de ventana a la derecha (estilo Karmic).
Cambia el comportamiento del Administrador de actualizaciones.
Quita los iconos de las unidades montadas en el escritorio.
Deshabilita el sonido entrada GDM.
Habilita los iconos de los menús y botones.
Deshabilita en el inicio de sesión GDM la lista de usuarios.
Quita el paquete ubuntu-docs (libera 252MB).
Cambia en Gnome Calendar el primer día de la semana de domingo a lunes.
Descarga (o instala) y configura fuentes.
Arregla el “apt-get update” para evitar demoras en el repositorio de Google
Automáticamente monta unidades NTFS en el arranque.

  • Automáticamente acepta la licencia de JAVA.
  • La nueva versión también corrige un montón de errores de la versión anterior.

Tener en cuenta que, antes de ejecutar el script estén corriendo el script como root; que ni Synaptic ni apt-get ni dpkg ni centro de software está en ejecución; comprueben la conexión a Internet para asegurarse de que realmente se pueden instalar los paquetes, etc.

Para ejecutarlo deben pegar las siguientes líneas en la consola:

sudo apt-get install zenity

wget http://launchpad.net/ubuntustart/trunk/0.4.2/+download/ubuntu-10.04-script

chmod +x ubuntu-10.04-script

sudo ./ubuntu-10.04-script

También lo pueden bajar desde aquí: https://launchpad.net/ubuntustart/+download

Espero que les sirva. Yo lo probé y me dio buenos resultados este script para Ubuntu 10.04 .

Y tu, ¿ te animas a crear o mejorar un script mejor que este ?, si lo haces espero lo compartas con nosotros, y lo publiques en tu blog para difundirlo.
Bueno gente, espero que les sea útil, que no tengan problemas para instalarlo y que mejor sustancialmente su experiencia en Ubuntu 10.04.

Cambiar la codificación de archivos de ISO-8859-1 a UTF-8

Hace un rato he tenido que cambiar la codificación de un buen número de programas de un cliente que tenía hechos en PHP con codificación ISO-8859-1 a codificación UTF-8. En entornos Linux se dispone de un comando muy útil para estas tareas, iconv.

El siguiente ejemplo muestra cómo cambiar la codificación del archivo oldfile.htm de ISO-8859-1 a UTF-8, dejando el archivo resultante con el nombre newfile.html.

iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./oldfile.htm &gt; ./newfile.html

Si lo que necesitamos es cambiar la codificación de varios archivos sustituyendo los archivos originales, podemos utilizar la instrucción for de Bash

for i in *.php; do iconv --from-code=ISO-8859-1 --to-code=UTF-8 $i -o $i.utf8; mv $i.utf8 $i; done

The Linux Command Line – Ebook

The Linux ® Command Line es un libro publicado bajo licencia Creative Commons creado por William E. Shotts, Jr especialmente para aquellos que se están iniciando en el mundo de la línea de comandos Linux.

En sus 522 páginas se cubre el mismo material disponible en LinuxCommand.org pero con mucho más detalle. Además de lo básico de la línea de comandos se enseña el shell scripting y el uso de los programas más comunes de la línea de comandos Linux.

Podéis descargar el libro a través de este Link.

http://sourceforge.net/projects/linuxcommand/files/TLCL/09.12/TLCL-09.12.pdf/download

Web oficial de el libro. http://linuxcommand.org/

Comandos para buscar ficheros y carpetas en Linux

Vamos a ver algunos de los comandos que nos pueden resultar útiles cuando queremos buscar un archivo y/o carpetas en linux, desde consola.

  • locate
locate archivo.php

Este comando buscar en una “especie de base de datos” donde tiene la ruta de los fichero y así resulta mucho más rápido encontrar los ficheros o carpetas que si se tiene que recorrer toda la estructura de directorios.

Hay que tener en cuenta que la “base de datos” del locate puede estar obsoleta. Para actualizarla debemos usar este comando (lo pondré en segundo plano con “&” porque le puede costar en ejecutarse).

updatedb &
  • find

El comando find sirve para buscar ficheros y directorios pero es muy complejo y tiene muchas opciones, de las cuales sólo explicare algunas.

La ruta de acceso por defecto es el directorio actual (representado con un “. “)  y la expresión por defecto es –print. A la hora de buscar, puedes especificar muchos parámetros:

  1. el nombre (-name xxx)
  2. find . -name tureceta*
  3. Si es un archivo o carpeta (-type f –type d)
  4. find . -type f -name tureceta*
    find . -type d -name tureceta*
  5. Los permisos que tiene (-perm nnn)
  6. find . -type d -perm 777
  7. El usuario al que pertenece (-user usuario1)
  8. find . -type f -user usuario1
  9. El grupo al que pertenece (-group grupo1)
  10. find . -type f -group grupo1
  11. Si el fichero está vacio (-empty)
  12. find . -type f -empty
  13. El tamaño (-size n[cwbkMG]) siendo
    ‘b’    para bloques de 512-byte (este es el de por defecto)
    ‘c’    para bytes
    ‘w’   para two-byte words
    ‘k’    para Kilobytes (1024 bytes)
    ‘M’   para Megabytes (1048576 bytes)
    ‘G’    para Gigabytes (1073741824 bytes)

    find . -size 21k
  14. Modificados los datos en las últimas X*24h (- dtime n)
  15. find . -tipe f -dtime 2  (en las últimas 48h = 2*24)
  16. Accedidos en las últimas X*24h (- atime n)
  17. find . -tipe f -atime 2  (en las últimas 48h = 2*24)

Recordar que con la ayuda y con el man del comando tendréis toda la información

find --help
man find
  • whereis
  • Buscar la localización de un fichero binario, fuente o man

    [root@server ~]# whereis grep
    grep: /bin/grep /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz
  • which
  • Buscar la localización de un fichero binario o ejecutable

    [root@sever ~]# which grep
    /bin/grep