Instalación de Alfresco 5.0.c sobre Vagrant

0
6625

Instalación de Alfresco 5.0.c sobre Vagrant

0. Índice de contenidos.

1. Introducción.

En este tutorial vamos a instalar Alfresco sobre Ubuntu utilizando para ello la virtualización Vagrant.

Emplear Vagrant nos va a permitir ahorrar mucho tiempo en la instalación y configuración de Ubuntu.

Las versiones elegidas son las siguientes:
Vagrant 1.7.0
Ubuntu 12.04 LTS 64 bits
Alfresco community 5.0.c

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: MacBook Pro 15′ (2.8 GHz Intel Core 2 Duo, 8GB DDR3 SDRAM).
  • Sistema Operativo: Mac OS X Lion 10.7.5.
  • NVIDIA GeForce 9600M GT 512Mb.
  • SAMSUNG SSD 256 Gb.

3. Creación de la máquina virtual.

Si a estas alturas aún no sabes que es Vagrant, echale un vistazo a este tutorial de
Alejandro Pérez García.

Vamos a comenzar creando un directorio donde instalar la maquina virtual, tras esto nos posicionamos en él, en mi caso:

/Users/acuesta/workspace/alfresco/vagrant

Creamos la máquina virtual (box según Vagrant) con este sencillo comando, simplemente tenemos que especificarle la imagen que
queremos y el programa automáticamente la descarga y clona.


vagrant init hashicorp/precise64

Esta instancia es totalmente visible y administrable desde la aplicación de VirtualBox ya que Vagrant por defecto trabaja con máquinas virtuales de este proveedor (Debemos tenerlo instalado).

La configuración por defecto nos deja la carpeta donde la hemos desplegado como directorio compartido, todo lo que copiemos aquí estará accesible en la máquina vitual.

Descargamos y copiamos el fichero alfresco-community-5.0.c-installer-linux-x64.bin a la carpeta vagrant.

Esta carpeta es accesible desde la maquina virtual en /vagrant

Levantamos la máquina virtual:


vagrant up

Comprobamos desde cualquier navegador del sistema anfitrión que llegamos a ella:

4. Instalación Alfresco.

Ahora toca configurarla para cubrir con los requisitos del instalador de Alfreso!

Apagamos la máquina virtual

vagrant halt

Mediante la interfaz de VirtualBox le asignamos a la máquina virtual al menos 4Gb de ram, de lo contrario el instalador
nos dirá que el sistema no tiene suficiente memoria para llevar a cabo la instalación.

Levantamos la máquina virtual de nuevo:

vagrant up

Nos conectamos:

vagrant ssh

(Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-x86_64))

Nos logamos como root para poder realizar labores de administración.

sudo su

Cambiamos el locale del ubuntu entrando en /etc/default/locale, necesario para que no falle la instalación de Alfresco

LANG=en_EN.UTF-8
LC_MESSAGES=POSIX

Accedemos a la carpeta compartida, donde veremos el fichero de instalación de alfresco.

Le cambiamos los permisos para poder lanzar la instalación.

root@precise64:/vagrant$ chmod +x alfresco-community-5.0.c-installer-linux-x64.bin

Ejecutamos el instalador y seguimos los pasos.

root@precise64:/vagrant$ ./alfresco-community-5.0.c-installer-linux-x64.bin

Una vez ha terminado arrancamos un navegador y nos conectamos a:

http://127.0.0.1:8080/share

Si todo ha ido bien aparecerá la pantalla con el login de alfresco.
Podemos acceder con el usuario admin y la contraseña que nos solicitó durante la instalación.

Si has llegado hasta aquí no te vallas ahora! Ya está funcionando, ahora toca dejarlo «bonito»!

En el server.xml tenemos que añadir la configuración del servlet de Jersey.
También se configura el paquete donde se encuentran las clases anotadas.

5. Configuración.

Lo que vamos a hacer a continuación es cambiar los scripts y permisos para no dejar que el servicio corra sobre el usuario root
sino sobre el usuario que creamos para este fin.

Paramos el servicio de alfresco

/etc/init.d/alfresco stop

Cambiar el propietario y el grupo de los ficheros y directorios de la instalación de alfresco.

chown -R alfresco:alfresco /opt/alfresco-5.0.c

Para falicitarnos futuras actualizaciones y evitar tener que modificar todos los scripts podemos crearnos un enlace simbólico a la carpeta.

ln -s /opt/alfresco-5.0.c/ /opt/alfresco

Editamos el fichero de propiedades:

vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties

Cambiamos el puerto para que se levante en el puerto 2121 y no necesite privilegios de superusuario.

ftp.port=2121

Modificamos el script de arranque para que en vez de exigir que sea root el usuario que levante el servicio sea justamente lo contrario.(/opt/alfresco/alfresco.sh)

# Avoid root execution
if [ `id|sed -e s/uid=//g -e s/\(.*//g` -eq 0 ]; then
    echo "Execution by root not allowed"
    exit 1
fi

Simplemente hemos cambiado la condición -ne por -eq. y el literal que mostrara en caso de cumplir la condición.

Ahora vamos a modificar el script para que se ejecute con el usuario «alfresco» (/etc/init.d/alfresco)

Cambiamos:
«/opt/alfresco-5.0.a/alfresco.sh start $2»
por
su – alfresco -c «/opt/alfresco/alfresco.sh start $2»

Cambiamos:
«/opt/alfresco-5.0.a/alfresco.sh stop $2»
por
su – alfresco -c «/opt/alfresco/alfresco.sh stop $2»

Arrancamos el servicio de alfresco:

/etc/init.d/alfresco start

Si todo ha ido bien tendremos de nuevo el servicio corriendo!

6. Conclusión.

Esto aporta una serie de ventajas bastante importantes:

– No ensuciamos nuestro sistema operativo anfitrión.

– Realizamos una instalación/configuración mucho más fiel al entorno de producción.

– Podemos compartir la imagen generada con toda la configuración necesaria de forma sencilla y desacoplada de nuestro entorno.

Espero que os haya sido de utilidad.

Cualquier aclaración, duda o sugerencia podéis incluirla en la zona de comentarios.

Un saludo.
Alvaro Cuesta.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad