viernes, 10 de mayo de 2013

Zimbra - Enabled services read from cache. Service list may be inaccurate

En un momento dado el servidor Zimbra no estaba operativo, cuando trate de reniciar me salia el siguiente mensaje de "error".


# su - zimbra
# zmcontrol start
Host mail.dominio.com
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Starting logger...Failed.
Starting logswatch...ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed)
zimbra logger service is not enabled! failed.

Buscando en la web, encontre que esto sucede porque los certificados han expirado. 

Para ello se puede verificar ejecutando lo siguiente:

/opt/zimbra/bin/zmcertmgr viewdeployedcrt all


Para "corregir" lo mencionado, realice lo siguiente:

Generar un nuevo CA

# /opt/zimbra/bin/zmcertmgr createca -new # /opt/zimbra/bin/zmcertmgr createcrt -new -days 365 # /opt/zimbra/bin/zmcertmgr deploycrt self # /opt/zimbra/bin/zmcertmgr deployca # /opt/zimbra/bin/zmcertmgr viewdeployedcrt

Luego

# /opt/zimbra/java/bin/keytool -import -alias root -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /opt/zimbra/conf/ca/ca.pem
Trust this certificate? [no]:  yes
Certificate was added to keystore


Finalmente reiniciamos el servicio


# su - zimbra
# zmcontrol restart

Espero le sirva a alguien mas ...


lunes, 29 de abril de 2013

BackUp - Zimbra Open Source

La version de Zimbra open source no cuenta con una interfaz web de BackUp's, para ello existen scripts que se pueden realizar mediante los comandos de Zimbra. Para un facil manejo de ello, elabore un pequeño script.

Edito el archivo /usr/local/sbin/ZimbraBackup.sh

# vim /usr/local/sbin/ZimbraBackup.sh


#!/bin/bash
echo ""
echo "*******************************************"
echo "********  Zimbra BackUp & Restore  ********"
echo "*******************************************"
echo ""
echo "Seleccione una opcion..."
echo ""
echo "BackUp completo de todo el Zimbra         : opcion 1"
echo "BackUp de todas las cuentas                       : opcion 2"
echo "BackUp de una cuenta                              : opcion 3"
echo "Restore completo de todo el Zimbra                : opcion 4"
echo "Restore de todas las cuentas                      : opcion 5"
echo "Restore de una cuenta                             : opcion 6"
echo "Enviar BackUp por SSH a otro servidor             : opcion 7"
echo ""
echo -n "Ingrese opcion : "
read opcion
if [ $opcion -eq 1 ]; then
        echo ""
        echo "BackUp Completo"
        echo "---------------"
        echo Start time of the backup = $(date +%T)
        before="$(date +%s)"
        echo -n "Ingrese ruta destino local :"
        read destino
        echo "Se va a realizar el BackUp completo de /opt/zimbra a $destino ..."
        /usr/bin/rsync -aHK --delete /opt/zimbra $destino/
        before2="$(date +%s)"
        echo The process lasted = $(date +%T)
        after="$(date +%s)"
        elapsed="$(expr $after - $before)"
        hours=$(($elapsed / 3600))
        elapsed=$(($elapsed - $hours * 3600))
        minutes=$(($elapsed / 60))
        seconds=$(($elapsed - $minutes * 60))
        echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
        else
                if [ $opcion -eq 2 ]; then
                echo ""
                echo "Backup all email accounts"
                echo "-------------------------"
                echo Start time of the backup = $(date +%T)
                before="$(date +%s)"
                echo ""
                echo -n "Ingrese ruta destino local :"
                read destino
                echo "Generando backup a la ruta $destino/ ..."
                DATE=`date +"%a"`
                ZDUMPDIR=$destino/$DATE
                ZMBOX=/opt/zimbra/bin/zmmailbox
                if [ ! -d $ZDUMPDIR ]; then
                mkdir -p $ZDUMPDIR
                fi
                echo " Running zmprov ... "
                       for mbox in `/opt/zimbra/bin/zmprov -l gaa`
                do
                echo " Generating files from backup $mbox ..."
                       $ZMBOX -z -m $mbox getRestURL "//?fmt=zip" > $ZDUMPDIR/$mbox.zip
                done
                before2="$(date +%s)"
                echo The process lasted = $(date +%T)
                after="$(date +%s)"
                elapsed="$(expr $after - $before)"
                hours=$(($elapsed / 3600))
                elapsed=$(($elapsed - $hours * 3600))
                minutes=$(($elapsed / 60))
                seconds=$(($elapsed - $minutes * 60))
                echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                else
                        if [ $opcion -eq 3 ]; then
                        echo ""
                        echo "Backup una cuenta"
                        echo "-----------------"
                        echo Start time of the backup = $(date +%T)
                        before="$(date +%s)"
                        echo ""
                        echo -n "Ingrese ruta destino local :"
                        read destino
                        echo -n "Ingrese una cuenta de correo, ejemplo user@dominio.com :"
                        read cuenta
                        echo "Generando backup a la ruta $destino/ ..."
                        DATE=`date +"%a"`
                        ZDUMPDIR=$destino/$DATE
                        ZMBOX=/opt/zimbra/bin/zmmailbox
                        if [ ! -d $ZDUMPDIR ]; then
                        mkdir -p $ZDUMPDIR
                        fi
                        $ZMBOX -z -m $cuenta getRestURL "//?fmt=zip" > $ZDUMPDIR/$cuenta.zip
                        before2="$(date +%s)"
                        echo The process lasted = $(date +%T)
                        after="$(date +%s)"
                        elapsed="$(expr $after - $before)"
                        hours=$(($elapsed / 3600))
                        elapsed=$(($elapsed - $hours * 3600))
                        minutes=$(($elapsed / 60))
                        seconds=$(($elapsed - $minutes * 60))
                        echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                        else
                                if [ $opcion -eq 4 ]; then
                                echo ""
                                echo "Restore todo el Zimbra"
                                echo "----------------------"
                                echo Start time of the backup = $(date +%T)
                                before="$(date +%s)"
                                echo ""
                                echo -n "Ingrese ruta donde esta el Backup completo(todo el directorio zimbra) :"
                                read origen
                                echo "Generando backup desde $origen hacia /opt/zimbra..."
                                /usr/bin/rsync -aHK --delete $origen /opt/zimbra
                                /bin/chown -R zimbra:zimbra /opt/zimbra
                                before2="$(date +%s)"
                                echo The process lasted = $(date +%T)
                                after="$(date +%s)"
                                elapsed="$(expr $after - $before)"
                                hours=$(($elapsed / 3600))
                                elapsed=$(($elapsed - $hours * 3600))
                                minutes=$(($elapsed / 60))
                                seconds=$(($elapsed - $minutes * 60))
                                echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                                else
                                        if [ $opcion -eq 5 ]; then
                                echo ""
                                echo "Restore all email accounts"
                                echo "--------------------------"
                                echo Start time of the backup = $(date +%T)
                                before="$(date +%s)"
                                echo ""
                                echo -n "Ingrese ruta de origen :"
                                read origen
                                echo "Restaurando backup desde $origen/ ..."
                                ZMBOX=/opt/zimbra/bin/zmmailbox
                                if [ ! -d $origen ]; then
                                echo "Backups do not exist !"
                                exit 255;
                                fi
                                for mbox in `/opt/zimbra/bin/zmprov -l gaa`
                                do
                                echo " Restoring files from backup $mbox ..."
                                $ZMBOX -z -m $mbox postRestURL "//?fmt=zip&resolve=reset" $origen/$mbox.zip
                                done
                                before2="$(date +%s)"
                                echo The process lasted = $(date +%T)
                                after="$(date +%s)"
                                elapsed="$(expr $after - $before)"
                                hours=$(($elapsed / 3600))
                                elapsed=$(($elapsed - $hours * 3600))
                                minutes=$(($elapsed / 60))
                                seconds=$(($elapsed - $minutes * 60))
                                echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                                else
                                        if [ $opcion -eq 6 ]; then
                                echo ""
                                echo "Restore de una cuenta"
                                echo "---------------------"
                                echo Start time of the backup = $(date +%T)
                                before="$(date +%s)"
                                echo ""
                                echo -n "Ingrese ruta de origen :"
                                read origen
                                echo -n "Ingrese la cuenta de correo, ejemplo user@dominio.com :"
                                read cuenta
                                echo "Restaurando la cuenta $cuenta desde $origen ..."
                                ZMBOX=/opt/zimbra/bin/zmmailbox
                                $ZMBOX -z -m $cuenta postRestURL "//?fmt=zip&resolve=reset" $origen/$cuenta.zip
                                before2="$(date +%s)"
                                echo The process lasted = $(date +%T)
                                after="$(date +%s)"
                                elapsed="$(expr $after - $before)"
                                hours=$(($elapsed / 3600))
                                elapsed=$(($elapsed - $hours * 3600))
                                minutes=$(($elapsed / 60))
                                seconds=$(($elapsed - $minutes * 60))
                                echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                                else
                                        if [ $opcion -eq 7 ]; then
                                echo ""
                                echo "Enviar por SSH a otro servidor"
                                echo "------------------------------"
                                echo Start time of the backup = $(date +%T)
                                before="$(date +%s)"
                                echo ""
                                echo -n "Ingrese ruta del BackUp :"
                                read origen
                                echo -n "Ingrese la IP y ruta destino del BackUP, ejemplo 192.168.1.100:/backup/ :"
                                read destino
                                echo "Enviado el Backup desde $origen hacia el servidor $destino ..."
                                /usr/bin/rsync -aHK --delete $origen $destino
                                before2="$(date +%s)"
                                echo The process lasted = $(date +%T)
                                after="$(date +%s)"
                                elapsed="$(expr $after - $before)"
                                hours=$(($elapsed / 3600))
                                elapsed=$(($elapsed - $hours * 3600))
                                minutes=$(($elapsed / 60))
                                seconds=$(($elapsed - $minutes * 60))
                                echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
                                else
                                echo "Ingrese una opcion valida"
                                fi
                                fi
                        fi
                fi
        fi
        fi
fi

Finalmente le damos permiso de ejecucion


# chmod +x /usr/local/sbin/ZimbraBackup.sh

Listo, espero le sirva a alguien ...

sábado, 2 de febrero de 2013

OpenVPN sobre YealinkT20P

Este es un resumen para poder habilitar el OpenVPN en un teléfono Yealink T20P.

Lo primero que haremos sera actualizar nuestra versión de firmware, para ello podemos descargarlo desde la siguiente dirección http://www.yealink.co.uk/downloads/  hasta la fecha se uso la version 9.70.0.111

Se asume que ya tenemos el OpenVPN corriendo en nuestro Linux(central Asterisk). Pasamos a prepara el archivo .tar para el teléfono...


Creamos el archivo vpn.cnf usando vim


 Luego de guardar los cambios vemos los archivos



 Finalmente empaquetamos en un solo archivo cz.tar


Luego de bajar el archivo a nuestra pc accedemos a la siguiente ruta del teléfono Network > Advanced > VPN, cargamos el archivo cz.tar y le damos click en importar


Habilitamos el VPN y le damos click en confirmar, el teléfono pasara a reiniciarse...


Ahora configuramos la cuenta, para el ejemplo uso el anexo 541


Listo !


lunes, 17 de septiembre de 2012

MySQL: ERROR 1194 (HY000)

Estaba realizando unos trabajos con MySQL y de prontono podia hacer consultas, me salia el siguiente mensaje:


ERROR 1194 (HY000): Table 'cdr' is marked as crashed and should be repaired

Navegando encontre la siguiente sentencia que me permitio repararlo y seguir trabajando, ademas muestra la causa del "error"


# mysqlcheck --auto-repair asteriskcdrdb cdr -p
Enter password: 
asteriskcdrdb.cdr
warning  : 15 clients are using or haven't closed the table properly
error    : Wrong bytesec: 0-0-0 at linkstart: 781414504
error    : Corrupt

Repairing tables
asteriskcdrdb.cdr
info     : Wrong bytesec:   0-  0-  0 at 781414016; Skipped
info     : Wrong bytesec:   0-  0-  0 at 781450184; Skipped
info     : Wrong bytesec:   0-  0-  0 at 781451280; Skipped
warning  : Number of rows changed from 4767817 to 4767552
status   : OK


domingo, 16 de septiembre de 2012

ERROR! Libpcap library version >= 1.0.0 not found


En mi caso, salio ese mensaje cuando trataba de instalar el daq, todo esto para implementar el IDS con Snort

# cd daq-1.1.1/

# ./configure


Compilar el libpcap del siguiente modo:

# cd /usr/local/src
# wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
# tar xzf libpcap-1.3.0.tar.gz
# cd /usr/local/src/libpcap-1.3.0/

# ./configure --prefix=/usr
# make
# make install

... Posterior a ello continuar con la instalacion del daq, snort ..etc.

viernes, 3 de agosto de 2012

Error MySQL: Couldn't execute 'show fields from

Este es un error que me salio en un servidor, el error exacto es el siguiente:


mysqldump: Couldn't execute 'show fields from `Backup`': Got error 28 from storage engine (1030)

Donde Backup es mi base de datos:

El problema es un tema de espacio en el disco duro. Solo hay que liberar espacio y listo.

miércoles, 1 de agosto de 2012

Error en OpenSUSE: symbol lookup error


Este es un error que me encontré en el camino luego de actualizar OpenSUSE de 11.1 a 11.3

Luego de actualizar al ejcutar yast o yast2 me salia el siguiente mensaje:

# yast
/usr/lib/YaST2/bin/y2base: symbol lookup error: /usr/lib/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iterator IcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4

La version del glibc era:

# rpm -q glibc
glibc-2.9-2.13.1

Entonces tenia que bajar la version de glibc para 11.3

# mkdir GLIBC
# cd GLIBC/
# wget ftp://ftp.ntua.gr/pub/linux/opensuse/update/11.3/rpm/i586/glibc-2.11.2-3.7.1.i586.rpm
# wget ftp://ftp.ntua.gr/pub/linux/opensuse/update/11.3/rpm/i586/glibc-devel-2.11.2-3.7.1.i586.rpm
# wget ftp://ftp.ntua.gr/pub/linux/opensuse/update/11.3/rpm/i586/glibc-locale-2.11.2-3.7.1.i586.rpm
# rpm -Uvh *

Finalmente acutalizamos el yast-ncurses

# mkdir YAST
# cd YAST/
# wget ftp://bo.mirror.garr.it/pub/1/opensuse/distribution/11.3/repo/oss/suse/i586/yast2-ncurses-2.19.5-1.6.i586.rpm
# rpm -Uvh yast2-ncurses-2.19.5-1.6.i586.rpm

Listo