Instalación de Alfresco 5.0.c sobre Vagrant
0. Índice de contenidos.
- 1. Introducción
- 2. Entorno
- 3. Creación de la máquina virtual
- 4. Instalación Alfresco
- 5. Configuración
- 6. Conclusión
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.