Archivo de la categoría: administrador

Problemas con LibreOffice en un Alfresco 5.2. limpio

He realizado varias instalaciones en diversos entornos de Alfresco 5.2, y en casi todos los casos he tenido que descargar las dependencias necesarias para que funcionara correctamente. Hasta aquí todo normal. El problema vino hace unos días en el que he tenido que realizar una instalación en un entorno el cual me ha dado varios quebraderos de cabeza. Debido a la poca información que he encontrado os voy a explicar qué error daba y cómo lo he solventado:

¡Manos a la obra!

  • He realizado una instalación de cero con un instalador de Alfresco 5.2. en ubuntu 14.04.1 LTS
  • Al arrancar, en el catalina.out, veo el siguiente problema relacionado con LibreOffice:
    ERROR [repo.content.JodConverterSharedInstance] [localhost-startStop-1] Unable to start JodConverter library. The following error is shown for informational purposes only.
    
     org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
    
    ....
    
    Caused by: java.util.concurrent.ExecutionException: org.artofsolving.jodconverter.office.OfficeException: could not establish connection
  • Compruebo si libreoffice se ha arrancado:
    > alfresco/libreoffice/scripts$ ./libreoffice_ctl.sh status
    
    libreoffice not running
  • Intentamos arrancarlo con el script:
    > alfresco/libreoffice/scripts$ ./libreoffice_ctl.sh start
    
    ./libreoffice_ctl.sh : libreoffice could not be started
  • Para ver más detalles sobre qué ocurre, ejecutamos lo siguiente:
    > alfresco/libreoffice/scripts$ cd ../program/
  • Ejecutamos lo siguiente:
    sudo ./soffice --nologo --headless --nofirststartwizard --accept='socket,host=127.0.0.1,port=8100,tcpNoDelay=1;urp;StarOffice.Service'
    
     Resultado:
    
     javaldx: Could not find a Java Runtime Environment!
    
     Warning: failed to read path from javaldx
    
     /opt/alfresco/libreoffice/program/.soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory
  • El error de Java lo veremos más tarde, vamos a centrarnos en las dependencias. Intentamos instalar la dependencia que necesita:
    > alfresco/libreoffice/program$ sudo apt-get install libcairo2
    
     Leyendo lista de paquetes... Hecho
    
     Creando árbol de dependencias
    
     Leyendo la información de estado... Hecho
    
     Tal vez quiera ejecutar «apt-get -f install» para corregirlo:
    
     Los siguientes paquetes tienen dependencias incumplidas:
    
     cfg2html-linux : Depende: gawk
    
     libcairo2 : Depende: libpixman-1-0 (>= 0.18.0) pero no va a instalarse
    
     Depende: libxcb-render0 pero no va a instalarse
    
     Depende: libxcb-shm0 pero no va a instalarse
    
     E: Dependencias incumplidas. Intente «apt-get -f install» sin paquetes (o especifique una solución).
  • Para solucionar el error de dependencias, debemos ejecutar lo siguiente:
    sudo apt-get autoremove 

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get autoclean

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get update

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get -f install
  • Finalmente en este punto se instalaran aquellas dependencias que no nos dejaban previamente. Ejecutamos:
    sudo apt-get install libcairo2

    Y ahora sí: Se instalan correctamente.

  • Para verificar que nuestro LibreOffice funciona correctamente:
    > alfresco/libreoffice/program$ sudo ./soffice --nologo --headless --nofirststartwizard --accept='socket,host=127.0.0.1,port=8100,tcpNoDelay=1;urp;StarOffice.Service'
    
    javaldx: Could not find a Java Runtime Environment!Warning: failed to read path from javaldx
  • Este warning se debe a que tenemos que arrancar libreoffice desde el servicio de Alfresco porque es donde se exporta la variable de Java. Hacemos lo siguiente:
    sudo service alfresco restart && tail -n500 -f ruta_alfresco/tomcat/logs/catalina.out
  • Y observamos el log que por fin se establece conexión:
     org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: Using original OpenOffice command: [/opt/alfresco/libreoffice/program/soffice.bin, -accept=socket,host=127.0.0.1,port=8100;urp;, -env:UserInstallation=file:///opt/alfresco/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100, -headless, -nocrashreport, -nodefault, -nofirststartwizard, -nolockcheck, -nologo, -norestore]
    
     ago 21, 2017 5:12:29 PM org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: starting process with acceptString 'socket,host=127.0.0.1,port=8100,tcpNoDelay=1' and profileDir '/opt/alfresco/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100'
    
     ago 21, 2017 5:12:29 PM org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: started process; pid = 18835

Espero que os ayude a más de uno (o a mi si me vuelve a ocurrir :-P).

Links relacionados con la configuración de Libre Office en Alfresco  (muy útiles):

¡Un saludo!

Conseguir un MER (Modelo Entidad Relación) de la base de datos de Alfresco

Buenas.

Hay a veces que necesitamos ojear la base de datos en Alfresco para comprobar si hay algo mal en ella: Por ejemplo si tenemos datos a nulo que no se nos muestran en la interfaz. Muchas veces es necesario echar un vistazo a las tablas que tienen Alfresco para realizar la consulta adecuada: Ver qué dependencias tienen las tablas, relaciones, contraints, etc…

Me gustaría compartiros cómo podéis extraer el Modelo Entidad Relación de vuestra instalación de Alfresco. Por supuesto la herramienta que os voy a enseñar la podéis usar con otras aplicaciones distintas, pero en este post nos centraremos en Alfresco.

Sigue leyendo

[Alfresco Tip] Crear un servicio de alfresco en linux

Buenas.

¿No os ha ocurrido a veces que te encuentras una instalación en el que Alfresco no arranca al iniciar el sistema operativo? Hay una opción sencilla para hacerlo y es creando un demonio o servicio dentro del sistema operativo que dispongáis. En mi caso os voy a explicar cómo hacerlo para Ubuntu 14.04 LTS

Los pasos que vamos a realizar son:

  • Creamos el script que se encargará de levantar nuestro alfresco
  • Configuramos las variables que nos interesan de acuerdo con nuestra instalación
  • Creamos y damos permisos a los archivos necesarios
  • Refrescamos los servicios a nivel de sistema operativo
  • ¡A probar!

¡Manos a la obra!

Antes de nada comprobaremos que no esté creado en el sistema, para ello listaremos los que existen actualmente con el siguiente comando:

ls -l /etc/init.d/

Os devolverá algo similar a estas entradas:

-rw-r–r– 1 root root 4290 mar 12  2013 apache2
-rwxr-xr-x 1 root root 6173 abr 13  2012 bluetooth
-rwxr-xr-x 1 root root 4077 may  2  2010 ssh
….

Fijaros que no haya ninguno relativo a alfresco o tomcat. Una vez comprobado que realmente no disponemos de ningún servicio, procedemos a crear uno. Para ello realizamos los siguientes pasos:

    1. $ cd /etc/init.d/
    2. $ sudo nano alfresco
      Se nos abrirá el editor de texto. Deberemos pegar el siguiente contenido:

      #!/bin/sh
      #
      # description: Alfresco init.d startup
      # author: Cristina Martin
      # date: 18.12.15
      #
      ### BEGIN INIT INFO
      # Provides:          alfresco
      # Start:             start
      # Stop:              stop
      # Restart:           restart
      # Status:            status   
      # Description:       Alfresco start|stop|restart|status
      ### END INIT INFO
      
      RETVAL=0
      ALF_USER=alfresco
      ALF_LOGS=/var/log/alfresco
      ALF_HOME=/opt/alfresco-4.2.f
      ALF_CURRENT_USER=`whoami`
      #echo starttt
      #echo $ALF_CURRENT_USER
      start () {
          cd $ALF_LOGS
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh start $2
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh start $2"
          fi
          #$ALF_HOME/alfresco.sh start $2
          #/opt/alfresco/alfresco.sh start "$2"
          RETVAL=$?
          if [ -d "/var/lock/subsys" ] && [ `id -u` = 0 ] && [ $RETVAL -eq 0 ] ; then
              touch /var/lock/subsys/alfresco
          fi
      }
      
      stop () {
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh stop $2
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh stop $2"
          fi
          RETVAL=$?
      }
      
      
      case "$1" in
          start)
              start "$@"
              ;;
          stop)
              stop "$@"
              ;;
          restart)
              stop "$@"
              start "$@"
              ;;
          *)
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh $@
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh $@"
          fi
          RETVAL=$?
      esac
      exit $RETVAL
      
      
    3. A tener en cuenta las siguientes líneas (cambiadlas por los valores que estéis usando):
      ALF_USER=alfresco
      ALF_LOGS=/var/log/alfresco
      ALF_HOME=/opt/alfresco-5.0.a

      ALF_USER: Es el usuario que se encargará de arrancar el alfresco
      ALF_LOGS: Será la ruta donde se guardaran los logs que genere nuestro servicio
      ALF_HOME: La ruta donde está instalado nuestro Alfresco

    4. Realizamos lo siguiente:
      $ control + x
      $ Y
      $ Tecla “intro”Con esto salvaremos nuestro nuevo fichero
    5. Asignamos permisos a nuestro nuevo archivo:
      sudo chown alfresco /etc/init.d/alfresco
      sudo chmod 755 /etc/init.d/alfresco
    6. Necesitamos crear la carpeta donde salvaremos los logs que se generen con este servicio y dar permisos a nuestro usuario:
      sudo mkdir /var/log/alfresco
      sudo chown alfresco /var/log/alfresco
    7. Lo siguiente es decirle a nuestro Sistema que hemos introducido este nuevo servicio y que queremos cargarlo cuando se inicie el sistema, para ello ejecutamos la siguiente orden:
      sudo update-rc.d alfresco defaults
    8. Reiniciar el sistema para probar que funciona y se inicia Alfresco correctamente con el comando reboot

Y con esto tendremos configurado nuestra instalación de Alfresco como servicio, de forma que si el servidor sufre alguna caída, Alfresco pueda levantarse automáticamente.

Espero que os haya servido este tip ;-)

Un saludo.

Auditorías en Alfresco Share 3.4

Auditorías … Auditorías everywhere

Muy buenas a todos.

Me gustaría hablaros en esta ocasión de auditar contenido en un Alfresco 3.4, que como sabéis por defecto el contenido que auditéis se os muestra en los logs como texto plano (poco intuitivo y algo difícil de leer). En este mini tutorial os quiero enseñar lo que yo he puesto en algunos clientes, que aunque sea básico, creo que es bastante útil :-)

Os quiero hablar del módulo de auditorias ASUR, creado por la empresa Francesa StarXpert para Alfresco 3.4 y que creo que más de un cliente o usuario final agradecerá tenerlo.
La idea es sencilla: Obtener una gráfica con las transacciones que se tienen según un filtrado (hora, mes, día, etc..) y una información mínima ¿Lo bueno de usarlo? Que tiene incluso ejemplos sencillos de auditorias ya pre configuradas y que además podréis añadirles auditorías propias. Además de éste módulo os enseñaré cómo complementarlo instalando un dashlet para auditoria bastante útil para los administradores.

¿Qué debéis saber para comenzar este tutorial?

  • Obligatorio:
    Saber manejar el módulo de alfresco alfresco-mnt-tool para instalar los amps.
  • Opcional:
    Tener vuestro propio archivo para auditar.

Manos a la obra…

Por lo pronto deberemos tener nuestro archivo de auditoría con lo que queramos mostrar. En este tutorial no voy a entrar en detalles sobre cómo realizar un archivo para auditar contenido (más abajo os dejo links con alguna referencia) pero usaremos un ejemplo que os facilitaré para que hagáis la toma de contacto sin mucha dificultad.

Objetivos: Entender como instalar la consola ASUR, el dashlet de auditoria, configurarlo y así poder usar la auditoría en share de una forma mas intuitiva.

Descarga: aquí os dejo todo lo que necesitáis: Amps, jar y archivo de ejemplo

 

PASOS A SEGUIR

1. Abrid el alfresco-global.properties (shared/classes/alfresco) y añadid estas lineas al final del todo

## Audit
audit.enabled=true

Colocamos el archivo con el mapeo de nuestra auditoría – (alfresco-audit-example-login.xml)

2. Copiamos el archivo a /tomcat/shared/classes/alfresco/extension/audit  (creamos esta carpeta si no la tenemos aun creada)

Habilitando el log para mostrar trazas del contenido que vamos a auditar. Sigue leyendo