Instalación de Athento ECM On Premise

Arquitectura y tecnología

100% basado en Java

Athento ECM está 100% construido sobre JAVA, por lo que lo que necesitas para ejecutar Athento ECM es una JVM (Java Virtual Machine) en el entorno destino. 

Modelo de componentes basado en OSGI

Los componentes y servicios de la plataforma están empaquetados de forma que cada parte del software está contenida por un paquete OSGI que declara:

  • Sus dependencias
  • Los componentes proporcionados
  • Los servicios que ofrece

Otras plataformas de código libre integradas

  • Drools: para gestión de reglas
  • Seam: usado por el modelo de Componentes Web en el JSF UI toolkit
  • Shindig: para OpenSocial
  • Jena RDF: el proveedor RDF

Vista general de la arquitectura

En una vista general de la arquitectura podremos identificar cuatro elementos principales:

  • Runtime: Contiene el modelo de despliegue, servicios y componentes para hacer funcionar la plataforma. Está basado en el modelo de componentes OSGI añadiendo algunas funcionalidades extra.
  • Core: El núcleo de Athento ECM contiene todos los servicios y componentes necesarios para la gestión y almacenamiento de documentos.
  • Servicios: Contiene la gestión de servicios y componentes: flujos de trabajo, servicios de auditoría, servicio de comentarios, etc. Todos los servicios usan el núcleo para la gestión de los documentos, son genéricos y configurables y no dependen de la capa de interfaz de usuario (o User Interface - UI).

 

Instalación en Sistemas Linux

Ubicación física de datos (sistema de ficheros y base de datos)

La ubicación de los documentos en el repositorio de binarios a nivel de filesystem se realiza por defecto en la siguiente ruta: $NUXEO_HOME/nxserver/data, sí deseásemos modificar la ruta de los binarios porque tenemos un disco con gran capacidad, bastaría con crear una carpeta e indicar esta en el wizard de instalación como veremos más adelante.

 

La ubicación de la base de datos, por lo general se realiza en /var/lib/postgresql/9.3/main/ aunque también es susceptible de ser movido a otra ubicación con más espacio. En este caso sería necesario parar PostgreSQL, mover la carpeta main al nuevo disco y realizar un enlace simbólico.

Por ejemplo:

ln -s /nueva_ubicación/main /var/lib/postgresql/9.3/main

Cómo configurar el sistema operativo para Athento

Para la ejecución de Athento ECM es necesaria la instalación de Java 7 como servicio del sistema o en un lugar accesible por la plataforma.

Puedes descargar Java 7 JDK desde este enlace.

Si no deseas instalar Java 7 en tu equipo, puedes descomprimirlo y referenciarlo desde el fichero de configuración de Athento ECM situado en $NUXEO_HOME/bin/nuxeo.conf bajo el nombre JAVA_HOME

Software relacionado

Nuxeo utiliza software externo para su funcionamiento. Aquí una relación del software utilizado:

  • libreoffice
  • pdftohtml
  • Image Magic
  • Ghostscript
  • UFRaw
  • Exiftool
  • FFmpeg
  • libwpd

sudo apt-get update
sudo apt-get install imagemagick ufraw poppler-utils libreoffice libwpd-tools ghostscript exiftool unzip

 

También será necesario crear el usuario athento en el sistema.

sudo adduser athento

 

Cómo instalar y configurar la base de datos

Athento ECM usa como base de datos PostgreSQL, por lo que en los siguientes apartados se describe el proceso de instalación en diferentes sistemas operativos y la creación de un rol y una base de datos para la aplicación.

Instalación en Linux

Para instalar PostgreSQL en linux con el repositorio APT, ejecuta desde consola los siguientes comandos:

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

Crea un rol y una base de datos para Athento ECM

Athento ECM necesita un rol y una base de datos en Postgre SQL, que puedes crearlas desde la consola de Linux o desde la consola de pgAdmin. 

Desde la consola de Linux: 

sudo su -m postgres
psql
CREATE ROLE athento WITH PASSWORD 'athento' LOGIN;
CREATE DATABASE athentoecm ENCODING 'UTF8' OWNER athento;
\c athentoecm
CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';

CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

 


 

Cómo instalar y configurar el repositorio documental

Instalación en Linux

Para la instalación, seguiremos los siguientes pasos.

 

  1. Descarga la versión multiplataforma desde el siguiente enlace

    sudo su - athento
    wget http://debla.yerbabuena.es/resources/nuxeo-cap-6.0-tomcat.zip
  2. Descomprime el fichero zip

    unzip nuxeo-cap-6.0-tomcat.zip
  3. Ve a la carpeta raíz de Nuxeo, a la carpeta /bin y dedita el fichero nuxeo.conf, incluyendo la ruta en la que se encuentra java 7 descomprimido, en el caso de que no sea un servicio del sistema.

    cd nuxeo-cap-6.0-tomcat/bin/
  4. Editaremos el fichero nuxeo.conf para establecer la configuración de Athento ECM

    nano nuxeo.conf
    
    
    ----------------------------
    
    JAVA_HOME=/var/lib/jvm/jdk1.7.0_25
    
    
    #########################
    # Athento configuration #
    # BBDD #
    nuxeo.templates=postgresql
    nuxeo.db.name=<bbdd_name>
    nuxeo.db.user=<bbdd_user>
    nuxeo.db.password=<bbdd_user_password>
    nuxeo.db.host=<bbdd_host>
    nuxeo.db.port=5432
    
    # Ports #
    nuxeo.server.http.port=8080
    nuxeo.server.ajp.port=8009
    
    # Libreoffice #
    jod.office.home=/usr/lib/libreoffice
    
    # Binaries repository directory (By default: $TOMCAT_HOME/nxserver/data/)#
    # Uncomment next line to set a specific directory for binaries
    #nuxeo.data.dir=/path/to/data/dir
    
    # Logs directory (By default: $TOMCAT_HOME/log/) #
    #nuxeo.log.dir=/path/to/log/dir
    # End of Athento configuration #
    ################################
    
    
    
  5. Procederemos a arrancar la aplicación

Arranque y parada del servidor

La aplicación puede ser arrancada y parada desde el script nuxeoctl

./bin/nuxeoctl stop
./bin/nuxeoctl startbg
./bin/nuxeoctl restartbg

NOTA: Sí usamos nuxeoctl nunca debe lanzarse como sudo, ha de ser lanzado con el usuario que ejecuta la aplicación, en este caso athento.

Ubicación de los logs

En la configuración por defecto, podemos detectar el log de la aplicación en la ruta $NUXEO_HOME/log/server.log

Configuración inicial

Al instalar la aplicación, ésta será accesible desde http://127.0.0.1:8080/nuxeo. Accede a esta url desde un navegador de internet, como Mozilla Firefox, Google Chrome o Internet Explorer.

Usuario: Administrator

Password: Administrator


 

Instalación de Athento ECM

Para el despliegue de plugins desarollados para Athento ECM, deben colocarse estos (en formato .jar) en la carpeta $NUXEO_HOME/nxserver/plugins por defecto, la distribución ya incluye la traducción de etiquetas al Español y el diseño de Athento.

Una vez colocados los plugins, bastara con realizar un reinicio de la aplicación.

cp mi-plugin-1.0.jar $NUXEO_HOME/nxserver/plugins/
$NUXEO_HOME/bin/nuxeoctl restartbg 

Recomendaciones y buenas prácticas

Athento como Servicio

Para añadir Athento como servicio y que arranque de forma automática en caso de reinicio del servidor, será necesario ejecutar los siguientes pasos.

  1. Descargar el script de servicio
wget -O nuxeo http://static.athento.com/dist/tools/nuxeoservice

 

     2. Copiar el script a /etc/init.d y darle permisos de ejecución

cp nuxeo /etc/init.d/
chmod a+x /etc/init.d

 

    3. Añadir el script al arranque del sistema

sudo chmod a+x /etc/init.d/nuxeo
sudo update-rc.d nuxeo start 98 2 3 4 5 . stop 02 0 1 6 . 

Control de ficheros temporales

Con el fin de que no nos encontremos con problemas de disco debido a ficheros temporales generados por el sistema, es una buena práctica añadir un cron que vaya limpiando la carpeta /tmp, para ello ejecutaremos el siguiente comando.

sudo crontab -e

 

Se nos abrirá un editor y añadiremos esta línea al final

00 18 * * * find /tmp -mtime +2 -delete

 


 

Comandos básicos para gestión del sistema desde consola

Manejo del servicio de Athento

Parada del servicio: sudo /etc/init.d/nuxeo stop
Arranque del servicio: sudo /etc/init.d/nuxeo start
Status del servicio: sudo /etc/init.d/nuxeo status

Manejo del servicio de PostgreSQL

Parada del servicio: sudo /etc/init.d/postgresql stop
Arranque del servicio: sudo /etc/init.d/postgresql start
Status del servicio: sudo /etc/init.d/postgresql status

Control de espacio en discos

df -h

Control de uso de ram

free -m

Control de uso de CPU, RAM y procesos

sudo apt-get install htop

Consulta de logs de Athento

less $NUXEO_HOME/log/server.log

Acceder a la base de datos

psql

 


 

Backups and recovery

Copia de seguridad de Athento

Los documentos se encuentran en:

$NUXEO_HOME/

Copia de seguridad de la base de datos

Se puede hacer una copia de seguridad de las bases de datos desde consola. 

La sintaxis para realizar copias de seguridad desde consola es la siguiente: 

pg_dump -U <usuario> -W <nombre_bbdd> -f <nombre_fichero_dump.sql>

Recuperación a partir de una copia de seguridad

Para recuperar las bases de datos a partir de una copia de seguridad:

  1. Crear una base de datos con el mismo nombre que tenía la original.
  2. Conectar la nueva base de datos por PostgreSQL
  3. Importar la nueva base de datos desde PostgreSQL mediante el siguiente comando:

 

\i <ruta_del_fichero_dump.sql>

Procedimiento recomendado

Consulta el resto de la documentación en doc.athento.com.

 

 


 

 

Instalación en Sistemas Windows

Ubicación física de datos (sistema de ficheros y base de datos)

La ubicación de los documentos en el repositorio de binarios a nivel de filesystem se realiza por defecto en la siguiente ruta: $NUXEO_HOME/nxserver/data, sí deseásemos modificar la ruta de los binarios porque tenemos un disco con gran capacidad, bastaría con crear una carpeta e indicar esta en el wizard de instalación como veremos más adelante.

 

La ubicación de la base de datos, por lo general se realiza en C:\Program Files\PostgreSQl\9.4

Cómo configurar el sistema operativo para Athento

Para la ejecución de Athento ECM es necesaria la instalación de Java 8 como servicio del sistema o en un lugar accesible por la plataforma.

Puedes descargar Java 7 JDK desde este enlace

Cómo instalar y configurar la base de datos

Athento ECM usa como base de datos PostgreSQL, por lo que en los siguientes apartados se describe el proceso de instalación en diferentes sistemas operativos y la creación de un rol y una base de datos para la aplicación.

Instalación en Windows

Para instalar PostgreSQL en Windows debemos descargarlo desde el siguiente enlace.


Abriremos el archivo ejecutable y procederemos a la instalación del servidor.

NOTA: Durante la instalación, el wizard nos solicitará la clave para el usuario administrador.

Crea un rol y una base de datos para Athento ECM

Athento ECM necesita un rol y una base de datos en Postgre SQL, que puedes crearlas  desde la consola de pgAdmin.

Iremos al menú de Inicio de Windows > Todos los Programas > PostgreSQL > pgAdmin III

Dentro de pgAdmin, procederemos a conectar a nuestro servidor de base de datos

 

Creación del rol


Pulsaremos con boton derecho sobre Login Roles y posteriormente haremos clic en New Login Role

 

Nos encontraremos con  la siguiente ventana, donde introduciremos el nombre del rol, en este caso: athento

Posteriormente, pasaremos a la pestaña Definition e introduciremos la contraseña, en este caso: athento

 

Tras completar este menú, pulsaremos OK y el rol será creado.

Creación de la base de datos


Pulsaremos con boton derecho sobre Databases y posteriormente haremos clic en New Database...


Rellenaremos el nombre de la base de datos y del owner. En este caso, athentoecm para la base de datos y athento para el propietario.


Con la base de datos creada, procederemos a aplicar las siguientes funciones sobre la misma. Pincharemos sobre ella y posteriormente sobre el botón SQL que podemos observar en la parte superior.

Introduciremos las siguientes sentencias y ejecutaremos la consulta.

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';

CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

 

Cómo instalar y configurar el repositorio documental

Instalación en Windows

Para la instalación, seguiremos los siguientes pasos.

  1. Descargaremos la versión para Windows del gestor documental desde este enlace
  2. Abriremos el ejecutable y procederemos a seguir todos los pasos del mismo, esto instalará el gestor documental en C:\Nuxeo
  3. Una vez instalado podremos ejecutarlo siguiendo el siguiente orden.
    1. Inicio >  Todos los Programas > Nuxeo > Nuxeo
  4. Una vez arrancado y que nos haya aparecido el panel de control, podremos acceder desde http://127.0.0.1:8080/nuxeo
  5. Completaremos el Wizard de instalación, añadiendo en la sección Database la información de la base de datos creada previamente.
  6. Una vez lleguemos a Summary, procederemos a pulsar en Start Nuxeo
  7. Una vez arrancada la aplicación, podremos ver la pantalla de login y acceder con las credenciales por defecto
    1. Usuario: Administrator
    2. Contraseña: Administrator

Despliegue de componentes de Athento ECM

A continuación, descargaremos los componentes de Athento ECM en formato .jar que vamos a desplegar en la instancia. Los plugins, deben colocarse en la ruta C:\Nuxeo\nxserver\plugins

Una vez copiados estos plugins en el directorio indicado, procederemos a reiniciar la plataforma desde el panel de administració, pulsando en el botón Stop y posteriormente en Start.