InstalaciĆ³n de Athento ECM
- JoseG (Unlicensed)
- Jose Luis de la Rosa
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).
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
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.
Descarga la versiĆ³n multiplataforma desde el siguiente enlace
sudo su - athento wget http://debla.yerbabuena.es/resources/nuxeo-cap-6.0-tomcat.zip
Descomprime el fichero zip
unzip nuxeo-cap-6.0-tomcat.zip
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/
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 # ################################
- 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 Edge.
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.
- 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:
- Crear una base de datos con el mismo nombre que tenĆa la original.
- Conectar la nueva base de datos por PostgreSQL
- 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.