Configuración Jackrabbit + tomcat + aws s3

El fin de este tutorial es configurar un servidor jackrabbit que utilice como almacenamiento el servicio S3 de Amazon AWS. Esta fuera del alcance del mismo la configuración del servicio S3 o como emplear el servidor jackrabbit en una aplicación. Apache Jackrabbit es un repositorio de contenido conforme con las especificaciones del API JCR. Ofrece estas ventajas respecto a otras soluciones de almacenamiento de contenido:
  • Es jerárquica, lo que permite organizar su contenido en una estructura que se ajusta a tus necesidades y donde la información relacionada se almacena a menudo cerca y por tanto facilita la nevagación
  • Es flexible, permite que el contenido se adaptar y evolucionae, utilizando un sistema de tipo de nodo que puede ser completamente «esquema agnóstico»
  • Emplea una API estándar de Java (por ejemplo, javax.jcr)
  • Adminte muchas implementaciones JCR, el contenido se puede almancenar en una variedad de bases de datos relacionales y otros tipos de almacenaje, algunos pueden exponer almacenajes no-JCR a través de la API JCR, y algunos pueden federar varios almacenes en un único repositorio virtual.
  • Admite consultas e indexación fulltext
  • Admite eventos, versioneado, locking y otras funcionalidads

Prerequisitos:

  • Jdk de java
  • Servidor tomcat
  • Bibliotecas java para aws
  • Cuenta en amazon AWS

Instalación en centos:

Java

Comprobamos versión de java: $ java -version>>java version "1.7.0_65"OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) Si no lo tienes instalado, comprueba las versiones que tienes disponible en tu repositorio: # yum search java | grep 'java-'>>libreadline-java-javadoc.x86_64 : Javadoc for libreadline-javalibvirt-java-devel.noarch : Compressed Java source files for libvirt-javalibvirt-java-javadoc.noarch : Java documentation for libvirt-javalpg-java-compat.noarch : Compatibility Java runtime library for LPG 1.xpki-java-tools.noarch : Certificate System - PKI Java-Based Toolspki-java-tools-javadoc.noarch : Certificate System - PKI Java-Based Toolsppl-java-javadoc.x86_64 : Javadocs for ppl-javajava-1.5.0-gcj.x86_64 : JPackage runtime compatibility layer for GCJjava-1.5.0-gcj-devel.x86_64 : JPackage development compatibility layer for GCJjava-1.5.0-gcj-javadoc.x86_64 : API documentation for libgcjjava-1.5.0-gcj-src.x86_64 : Source files for libgcjjava-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.6.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentationjava-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.7.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentationjava-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle y lo instalas: # yum install java-1.7.0-openjdk.x86_64

Tomcat

Descarga: $ cd /tmp$ wget http://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz Y extrea el tomcat: $ tar xzf apache-tomcat-7.0.54.tar.gz# mv apache-tomcat-7.0.54 /usr/local/tomcat7 Otorga permisos a tu usuario sobre el directorio del tomcat: por ejemplo: # chmod -R miusuario:apache /usr/local/tomcat7 Arranca el tomcat: $ cd /usr/local/tomcat7$ ./bin/startup.sh>>Using CATALINA_BASE: /usr/local/tomcat7Using CATALINA_HOME: /usr/local/tomcat7Using CATALINA_TMPDIR: /usr/local/tomcat7/tempUsing JRE_HOME: /opt/jdk1.8.0_05/jreUsing CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jarTomcat started. Ahora deberías poder acceder al tomcat por el navegador:
Opcionalmente, puedes configurar las cuentas de administrador del tomcat, editando el fichero /usr/local/tomcat7/config/tomcat-users.xml
Detén el tomcat: $ ./bin/shutdown.sh Script para auto arranque al iniciar la máquina, y para parar o arrancar el servicio. Crea el fichero /etc/init.d/tomcat7 con el siguiente contenido:

Jackrabbit

Descarga el siguiente archivo, extrae jcr-2.0.jar (lo encontrarás dentro del zip, en /lib si no recuerdo mal) y cópialo en /usr/local/tomcat7/lib/ Descarga la última versión estable del war de jackrabbit-webapp, cambia el nombre del fichero a jackrabbit.war y colócalo en /usr/local/tomcat7/webapp Arranca el servidor tomcat y, una vez descomprimido el war, vuelve a detenerlo. service tomcat start y service tomcat stop Ahora copia el fichero de muestra de bootstrap.properties a la ubicación del repositorio (para este tutorial, utilizaremos este directorio: /home/marcos/repositories): cp usr/local/tomcat7/webapp/jackrabbit/templates/bootstrap.properties /home/marcos/repositories/ A continuación modifica el fichero /usr/local/tomcat7/webapp/jackrabbit/WEB-INF/web.xml para definir la ubicación de bootstrap.properties: Ejemplo fichero bootstrap.properties: Arranca de nuevo el servidor tomcat y apunta el navegador a http://localhost:8080/jackrabbit. Clica en crear nuevo repositorio. Jackrabbit va a crear el repositorio en /home/marcos/repositories y luego se quejará de que ya existe. Detén el servidor tomcat de nuevo: tenemos que editar el fichero /home/marcos/repositories/jackrabbit/repository.xml. Sólo modificaremos el nodo DataStore: Y, ya que estamos, creamos el fichero /home/marcos/repositories/jackrabbit/aws.properties, donde definimos las propiedades para conectar con S3. Antes de arrancar de nuevo el tomcat vamos a necesitar un par de bibliotecas de programación: Una vez descargadas, las copiamos en /usr/local/tomcat7/webapp/jackrabbit/WEB-INF/lib y volvemos a arrancar el tomcat. Si todo ha ido bien, tu jackrabbit utilizará el bucket como almacenamiento. Enlaces: Apache Jackrabbit API JCR

Publicaciones Similares

  • |

    Actualización de Apache Guacamole server 1.0 → 1.2

    Escenario En el trabajo usamos Apache Guacamole para conectarnos a nuestros escritorios de la oficina desde casa. Apache Guacamole proporciona una puerta de entrada HTML5 para conectar con servicios de acceso remoto, como pueden ser VNC o RDP. Consta de dos : el servidor y el cliente que no tienen por qué correr en la…

  • Oracle JDK 7 is NOT installed.

    Escenario El otro día me avisaron que una de las decenas de webs bajo mi responsabilidad tenía el certificado caducado. A principio de mes estuve actualizando los certificados de todos los servidores, pero éste se me pasó. Problema Al no ser una web a la que demos mucho uso, tenía actualizaciones de seguridad pendientes de…

  • Hibernate no puede resolver la propiedad…

    Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:

    Y necesito saber cuál es la fecha del…

  • Usuarios sftp enjaulados con logs para registro de eventos

    Escenario Un cliente nos pide que montemos un servidor FTP para que nos pueda hacer llegar periódimante ficheros con datos. La máquina en la que vamos a configurarlo corre en un ubuntu server 18.04. y tiene instalado un openssh-server. Requisitos Debe utilizar el protocolo SFTP, que ofrece las funcionalidades de FTP sobre el protocolo SSH….

  • |

    Cómo ampliar el espacio en disco en 1and1

    Escenario Hemos contratado un servidor dedicado en 1and1 (ubuntu 14.04) y al acceder por ssh constatamos que no disponemos de todo el espacio en disco disponible: $ df -hFilesystem Size Used Avail Use% Mounted onudev 3.9G 4.0K 3.9G 1% /devtmpfs 798M 592K 797M 1% /run/dev/md1 4.0G 990M 3.0G 25% /none 4.0K 0 4.0K 0% /sys/fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 3.9G 0 3.9G 0% /run/shmnone 100M 0 100M 0% /run/user/dev/mapper/vg00-usr 4.8G 1.3G 3.3G 28% /usr/dev/mapper/vg00-var 4.8G 812M 3.8G 18% /var/dev/mapper/vg00-home 4.8G 10M 4.6G 1% /home Objetivo Aumentar el espacio disponible para dar cabida a nuestros recursos. Solución Nota: sólo aplicable a sistemas linux Primer paso Comprobamos el espacio en disco real: ~$ sudo fdisk -lDisk /dev/sda: 240.1 GB, 240057409536 bytes255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisk identifier: 0x24e3fc12   Device Boot      Start         End      Blocks   Id  System/dev/sda1            2048     8390655     4194304   fd  Linux raid autodetect/dev/sda2         8390656    12584959     2097152   82  Linux swap / Solaris/dev/sda3        12584960   468862127   228138584   fd  Linux raid autodetect Segundo…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *