15 oct 2010

Respaldo y restauracion en caliente de cuentas en Zimbra Open Source Edition (Hot backup)

La version Open Source Edition de Zimbra Collaboration Suite es una excelente plataforma de correo y colaboración. Aunque no incluya las utilidades para realizar respaldo  y restauración en caliente (hot backup) al igual que la versión Network Edition, es posible respaldar y restaurar en caliente las cuentas de correo utilizando zmmailbox.

Los respaldos realizados con zmmailbox incluyen:
  • Todas las carpetas de correo (Inbox, Sent, Draft, etc)
  • Las entradas de la libreta de direcciones
  • Las entradas del calendario
  • Las tareas en Task
Con esto podemos respaldar y restaurar lo mas importante y valioso para nosotros: la información, ya sea correo, contactos, eventos de calendario, etc.

Respaldo


Para realizar el respaldo de una cuenta de correo se debe ejecutar lo siguiente como usuario zimbra:
zmmailbox -z -m cuenta@MailServer.com getRestURL -o cuenta_respaldo.tgz "//?fmt=tgz"

cuenta@MailServer.com: es la cuenta a respaldar
cuenta_respaldo.tgz: es el nombre del archivo donde se respaldara la información de al cuenta
"//?fmt=tgz": es el formato en que queremos salvar el respaldo. Puede ser tgz o zip


Restauración

Para restaura se debe utilizar el mismo comando pero haciendo una pequeña variación las opciones y los argumentos:
zmmailbox -z -m cuenta@MailServer.com postRestURL "//?fmt=tgz&resolve=reset" cuenta_respaldo.tgz

Ahora adicionamos resolve=reset, esto determina como se maneja la información duplicada.
Las opciones de resolve pueden ser:
  • modify: modifica el elemento viejo
  • replace: borra el elemento viejo y lo vuelve a crear
  • reset: borra todos los elementos de la carpeta antes de importar
  • skip: no importa los elementos duplicados
Lo utilizo en Zimbra 6.08, corriendo sobre CentOS 5.5. Funciona perfectamente!

6 oct 2010

Backup and restore Openfire

Backing up and restoring Openfire




The following is assumed:
  • Openfire is configured to store data in MySQL database
  • Openfire is installed in /opt/openfire/

Backup

All you have to do is dump the database and copy Openfire configuration file openfire.xml
  1. Dump the database
    root@linux# mysqldump -p openfire > /backup/openfire_db.sql

  2. Copy the configuration file
    root@linux# cp /opt/openfire/conf/openfire.xml  /backup/openfire.xm

Restore

Make a new installation of Openfire with MySQL as backend data storage. Restore the database with mysql, replace openfire.xml with the backup file, and restart Openfire service.


  1. restore database
    root@linux# mysqldump -p < /backup/openfire_db.sql

  2. restore openfire.xml
    root@linux# cp /backup/openfire.xml /opt/openfire/conf/openfire.xml

  3. start Openfire
    root@linux# service openfire start

5 oct 2010

Openfire + MySQL + Active Directory (English)

Openfire Hybrid Authentication 

I advise you to back up your configuration before proceeding. You can follow this guide.


Why would I want to do this? Because i don't want to spend on  CALs for Active Directory Users.

My working environment is:
  • CentOS 5.4 or Debian 5
  • Windows 2003 Active Directory
  • MySQL 5
  • Openfire 3.7.0-beta
Note: I assume that you have a Openfire Server configured to store all data in a MySQL server and authenticate users from Active Directory. If you don't, try this guide for MySQL and try this one for Active Directory. I also have a complete guide that describe the process step by step, written in spanish.


1. Login to Openfire Admin Console and edit the System Properties
  • Select Server > System Properties

  • Change the following properties to the indicated values

    Property Value
    provider.auth.className org.jivesoftware.openfire.auth.HybridAuthProvider
    provider.user.className org.jivesoftware.openfire.user.HybridUserProvider

  • Add the following properties with the indicated values

    Property Value
    hybridAuthProvider.primaryProvider org.jivesoftware.openfire.auth.DefaultAuthProvider
    hybridAuthProvider.primaryProvider.className org.jivesoftware.openfire.auth.DefaultAuthProvider
    hybridAuthProvider.secondaryProvider org.jivesoftware.openfire.ldap.LdapAuthProvider
    hybridAuthProvider.secondaryProvider.className org.jivesoftware.openfire.ldap.LdapAuthProvider



2. Add the following lines to /opt/openfire/conf/openfire.xml before  </jive>. 
    <hybridUserProvider>
        <secondaryProvider>
<className>org.jivesoftware.openfire.ldap.LdapUserProvider</className>
    </secondaryProvider> 
    <primaryProvider> 
<className>org.jivesoftware.openfire.user.DefaultUserProvider</className>
    </primaryProvider>
  </hybridUserProvider>

 



3. Restart Openfire and test

root@linux# service openfire restart

User accounts can be created in MySQL or Active Directory:

  • MySQL: Users/Groups tab in the Openfire Admin Console 
  • Active Directory: Active Directory Users and Computers in the Domain Controller

4 oct 2010

Configuracion de Openfire + MySQL + Active Directory paso a paso - parte 5

Parte 4

Respaldo y recuperación de Openfire

Respaldo


Para respaldar Openfire hay que volcar la base de datos y copiar el archivo de configuración openfire.xml
  1. Volcar de la base de datos

    root@linux# mysqldump -p openfire &gt; /backup/openfire_db.sql

  2. Copiar archivo de configuración

    root@linux# cp /opt/openfire/conf/openfire.xml  /backup/openfire.xm

Restauración

Para restaurar el servidor de Openfire solo hay que volver a instalarlo como en la
Parte 2 y Parte 3, restaurar la base de datos, restaurar el archivo xml, e iniciar el servicio.

  1. Restaurar la base de datos

    root@linux# mysqldump -p &lt; /backup/openfire_db.sql

  2. Restaurar archivo de configuración

    root@linux# cp /backup/openfire.xml /opt/openfire/conf/openfire.xml

  3. Iniciar el servicio

    root@linux# service openfire start

Configuracion de Openfire + MySQL + Active Directory paso a paso - parte 4

Parte 4
Parte 5

Agregar MySQL a Openfire + Active Directory

1. Editar la configuracion de Openfire de la siguiente manera
  • Seleccionar Server > System Properties en la consola de administracion de Openfire

  • Cambiar las siguientes propiedades


    Propiedad Valor
    provider.auth.className org.jivesoftware.openfire.auth.HybridAuthProvider
    provider.user.className org.jivesoftware.openfire.user.HybridUserProvider

  • Agregar las siguientes propiedades


    Propiedad Valor
    hybridAuthProvider.primaryProvider org.jivesoftware.openfire.auth.DefaultAuthProvider
    hybridAuthProvider.primaryProvider.className org.jivesoftware.openfire.auth.DefaultAuthProvider
    hybridAuthProvider.secondaryProvider org.jivesoftware.openfire.ldap.LdapAuthProvider
    hybridAuthProvider.secondaryProvider.className org.jivesoftware.openfire.ldap.LdapAuthProvider



    2. Agregar los providers en openfire.xml, antes de </jive>
        <hybridUserProvider>
            <secondaryProvider>
    <className>org.jivesoftware.openfire.ldap.LdapUserProvider</className>
        </secondaryProvider> 
        <primaryProvider> 
    <className>org.jivesoftware.openfire.user.DefaultUserProvider</className>
        </primaryProvider>
      </hybridUserProvider>

     



    3. Reiniciar openfire y probar

    root@linux# service openfire restart

    Los usuarios nuevos de MySQL se pueden crear en Users/Groups > Create New User


    Parte 4
    Parte 5

    3 oct 2010

    Configuracion de Openfire + MySQL + Active Directory paso a paso - parte 3

    Parte 4
    Parte 5
     
    Configurando Openfire

    • Abrir la direccion http://192.168.82.133:9090 en un navegador. Seleccionar el idioma deseado y hacer clic en Continue


    • Asignar un dominio al servidor Openfire (ejemplo: compania.com). Luego hacer clic en Continue


    • Seleccionar la opcion Standard Database Connection y hacer clic en Continue

    • Seleccionar MySQL en el menu desplegable
    • llenar el campo Database URL
    • especificar username y password para conectar a la base de datos 
    • hacer clic en Continue

    • Seleccionar Directory Server (LDAP) y hacer clic en Continue

    • Seleccionar Active Directory en el menu desplegable
    • especificar la direccion del servidor Windows 2003 Server
    • indicar el Base DN del domain controller
    • especificar el usuario y contraseña para conectarse al Active Directory
    •  Hacer clic en el boton Test settings

    • Nota: debe aparecer el mensaje de la captura de pantalla. De lo contrario revisar la configuracion hasta obtener el mensaje. 
    • hacer clic en Close y luego en Save & Continue

    • Hacer clic en el boton Test settings

    • debe aparecer un mensaje parecido a la captura de pantalla. De lo contrario revisar la configuracion hasta obtener el mensaje. 
    • hacer clic en Close y luego en Save & Continue

    • Hacer clic en el boton Test settings

    • debe aparecer el mensaje de la captura de pantalla. De lo contrario revisar la configuracion hasta obtener el mensaje.
    • hacer clic en Close y luego en Save & Continue

    • Agregar un administrador para la consola de administración de Openfire. Este usuario debe existir en el Active Directory. Colocar el nombre de usuario y hacer clic en Add

    • Probar el usuario haciendo clic en el icono de engranaje. Si el usuario es correcto debe aparecer lo mismo que la captura de pantalla

    • hacer clic en Login to the Admin Console

    • Listo! ya esta instalado Openfire! Ahora  puede entrar con el usuario que asigno como administrador



































    Parte 4
    Parte 5

    Configuracion de Openfire + MySQL + Active Directory paso a paso - parte 2

    Parte 4
    Parte 5



    Crear base de datos MySQL

    1. Crear una base de datos

      root@linux$ mysqladmin create openfire
    1. Crear usuario para conectar/administrar base de datos
      En este ejemplo:

      nombre de base de datos: openfire
      usuario para conectarse: openfire
      contraseña para openfire: password
      root@linux# mysql -p openfire
      mysql> grant all on openfire.* to openfire@localhost identified by 'password';
      mysql> quit

    Descargar e Instalar Openfire
    1. Descargar Openfire desde el sitio de Ignite Realtime

      root@linux# wget -c http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-3.7.0.beta-1.i386.rp
    2. Instalar Openfire con RPM

      root@linux# rpm -ivh openfire-3.7.0.beta-1.i386.rp

    3. Cargar la estructura de la base de datos a MySQL

      root@linux# mysql -p openfire < /opt/openfire/resources/database/openfire_mysql.sql
    1. Iniciar el servidor Openfire

      root@linux# service openfire start

    2. Configurar los parametros iniciales de openfire
      Abrir la direccion http://192.168.82.133:9090 en un navegador




    Configuracion de Openfire + MySQL + Active Directory paso a paso - parte 1

    El ambiente que se presentara para instalar Openfire consta de lo siguiente:
    • Servidor Windows 2003 Server
      • IP: 192.168.82.129/24
      • Active Directory
    • Servidor CentOS 5.5
      • IP: 192.168.82.133/24
      • MySQL
    Pasos 1

    Crear cuenta de Active Directory
    1. Abrir la aplicacion “Active Directory Users and Computers


      Inicio > Administrative Tools > Active Directory Users and Computers
    1. Crear una cuenta, la cual utilizara Openfire
    • Hacer clic derecho en la unidad organizacional donde estara la cuenta, seleccionar New > User

    • Llenar los campos requeridos para crear la cuenta de usuario

    •  Clic en Next cuando los campos requeridos esten llenos


    • Introducir una contraseña segura, y seleccionar solamente la opcion de "Password never expires". Esta opción es muy importante, de lo contrario sera necesario cambiar la contraseña y reconfigurar Openfire cada vez que esto ocurra. Clic en Next


    Parte 4
    Parte 5