Cómo instalar y configurar Alfresco Community Edition 3.2 en GNU Linux Ubuntu Server 9.04. Os explicamos en este manual cómo preparar GNU Linux Ubuntu Server para instalar adecuadamente Alfresco Community Edition. Además, lo instalamos en un ambiente virtualizado, pues el sistema operativo donde lo instalamos está virtualizado sobre VMware Server 2.0 y Windows XP. Indicamos los puertos a abrir para permitir conexiones externas al servidor de Alfresco Community Edition.

Requisitos, preparación del sistema operativo GNU Linux Ubuntu Server

Instalación del sistema operativo GNU Linux Ubuntu Server

En primer lugar necesitaremos disponer de un equipo con el sistema operativo GNU Linux Ubuntu server, en el siguiente artículo se explica cómo instalarlo de forma virtualizada sobre Windows:

Este otro manual muestra cómo instalar GNU Linux Ubuntu Server 9.04 sin virtualizar:

Accederemos al equipo con GNU Linux Ubuntu, abriremos una ventana de terminal (para el caso de Ubuntu Server no es necesario pues no tiene modo gráfico) y ejecutaremos el siguiente comando Linux (el equipo debe tener conexión a Internet) para actualizar la lista de paquetes (indicada en el fichero /etc/apt/sources.list):

sudo apt-get update

A continuación ejecutaremos el siguiente comando Linux para actualizar los paquetes «obsoletos» por las nuevas versiones disponibles:

sudo apt-get upgrade

Instalación de las dependencias y utilidades necesarias para Alfresco Community Edition

A continuación iremos instalando las dependencias de Alfresco ECM. En primer lugar instalaremos los paquetes necesarios de OpenOffice, para ello ejecutaremos el siguiente comando Linux:

sudo apt-get install openoffice.org-base openoffice.org-core openoffice.org-writer

Para que Alfresco Community Edition pueda enlazar correctamente con OpenOffice necesitaremos instalar un gestor de ventanas, para ello ejecutaremos el siguiente comando Linux:

sudo apt-get
install xvfb

Instalamos el paquete ImageMagick necesario para transformar formatos de imágenes:

sudo apt-get install imagemagick

Instalaremos la utilidad portmap necesaria para el servidor NFS:

apt-get install portmap

Instalaremos el paquete nfs-common necesario para el servidor NFS:

apt-get install nfs-common

Instalación y configuración de la Java Development Kit ó JDK

JDK será necesario para Tomcat, para descargar e instalar Java Development Kit (JDK) en GNU Linux Ubuntu Server ejecutaremos el siguiente comando Linux:

sudo apt-get install sun-java6-jdk

En la instalación nos aparecerá esta ventana de configuración de sun-java6-jre, seleccionaremos «OK» (con la tecla Tabulador) y pulsaremos INTRO:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de Java Development Kit JDK

Si estamos de acuerdo con los términos de licencia y queremos continuar con la instalación de JDK en GNU Linux Ubuntu Server seleccionaremos «Yes» y pulsaremos INTRO:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de Java Development Kit JDK

Tras la instalación de Java Development Kit (JDK), añadiremos la siguiente línea en el fichero /etc/environment

JAVA_HOME=»/usr/lib/jvm/java-6-sun»

Agregando la variable de entorno JAVA_HOME al sistema. Para ello lo editaremos con «nano»:

sudo nano /etc/environment

Y agregaremos la línea anterior:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de Java Development Kit JDK

Guardaremos los cambios pulsando Control + O y cerraremos la edición pulsando Control + X.

Crear usuario y grupo de seguridad para Alfresco Comunnity Edition

Para crear el grupo de seguridad «alfresco» que utilizaremos para Alfresco ejecutaremos el siguiente comando comando Linux:

sudo groupadd alfresco

Y para crear el usuario «alfresco» y hacerlo miembro del grupo de seguridad «alfresco» creado anteriormente utilizaremos para iniciar Alfresco ejecutaremos el siguiente comando comando Linux:

sudo useradd -m -g alfresco alfresco

Nota: hemos utilizado el parámetro «-m» para que el comando «useradd» cree la carpeta home del usuario, necesaria para OpenOffice.

Instalación y configuración de MySQL Server en GNU Linux Ubuntu Server para Alfresco

Instalaremos los archivos necesarios para MySQL Server con el siguiente comando Linux:

sudo apt-get install mysql-server

Nos pedirá la contraseña para el usuario root de MySQL Server:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de MySQL Server en GNU Linux Ubuntu Server para Alfresco

Reintroduciremos la contraseña para el usuario root de MySQL Server:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de MySQL Server en GNU Linux Ubuntu Server para Alfresco

A continuación crearemos la base de datos (catálogo o esquema) para Alfresco en MySQL, para ello accederemos al shell de la línea de comandos de MySQL con el comando:

mysql -u root -p

Introduciremos la contraseña del usuario root de MySQL y accederemos a la línea de comandos de MySQL.

Crearemos la base de datos para Alfresco con el comando:

create database alfresco;

A continuación crearemos el usuario «alfresco» en MySQL con permisos de administración sobre la base de datos «alfresco», con los comandos:

grant all privileges on alfresco.* to alfresco@localhost identified by ‘contraseña’;
grant all on alfresco.* to ‘alfresco’@’localhost.localdomain’ identified by ‘contraseña’ with grant option;

(cambiaremos «contraseña» por la que queramos para el usuario «alfresco» de la base de datos MySQL)

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación y configuración de MySQL Server en GNU Linux Ubuntu Server para Alfresco

Nota 1: la base de datos y el usuario se pueden crear posteriormente (tras instalar Alfresco) ejecutando el comando:

sudo mysql -p < /opt/Alfresco/extras/databases/mysql/db_setup.sql

Aquí se puede ver el contenido del fichero db_setup.sql.

Nota 2: Alfresco creará las tablas necesarias en la base de datos (catálogo o esquema) «alfresco» en el primer inicio.

Apertura de puertos en cortafuegos IPTABLES de GNU Linux Ubuntu Server

Si tenemos activado el cortafuegos de GNU Linux Ubuntu y queremos permitir conexiones externas al servidor (desde la LAN) deberemos abrir los puertos para el correcto funcionamiento de Alfresco.

En primer lugar abriremos el puerto 8080, necesario para el acceso vía web a Alfresco, para ello ejecutaremos el siguiente comando:

sudo iptables -A INPUT -m state –state NEW -p TCP –dport 8080 -j ACCEPT

Para abrir acceso mediante FTP ejecutaremos esto otro:

sudo iptables -A INPUT -m state –state NEW -p TCP –dport 21 -j ACCEPT

Para CIFS ejecutaremos:

iptables -A INPUT -m state –state NEW -p TCP –dport 139 -j ACCEPT

iptables -A INPUT -m state –state NEW -p TCP –dport 445 -j ACCEPT

Para guardar los cambios ejecutaremos el siguiente comando:

iptables-save

Si queremos ver las reglas guardadas ejecutaremos esto otro:

iptables -xnvL INPUT

Instalación y configuración de Alfresco Comunnity Edition en GNU Linux Ubuntu Server

Creación de las carpetas para Alfresco (repositorio o datos, temporal, logs)

Crearemos la carpeta «alf_data» donde se alojará el repositorio de Alfresco con el comando comando Linux:

mkdir -p /var/lib/alfresco/alf_data

Crearemos la carpeta «tmp» donde se alojarán los ficheros temporales de Alfresco con el comando comando Linux:

mkdir /var/lib/alfresco/tmp

Estableceremos los permisos apropiados (para que el usuario «alfresco» del sistema operativo tenga acceso) a la carpeta «/var/lib/alfresco» con el comando comando Linux:

chown -R alfresco:alfresco /var/lib/alfresco

Crearemos la carpeta de log para Tomcat:

mkdir -p /var/log/alfresco/tomcat/logs

Estableceremos los permisos apropiados (para que el usuario «alfresco» del sistema operativo tenga acceso) a la carpeta «/var/log/alfresco» con el comando comando Linux:

chown -R alfresco:alfresco /var/log/alfresco

Nota: los logs de Alfresco se guardarán en: /var/log/alfresco/alfresco.log.

Instalación de Alfresco

Crearemos un carpeta para descargar el fichero de instalación y accederemos a ella, para ello ejecutaremos:

mkdir alfresco_instalacion

cd alfresco_instalacion

Descargaremos el fichero «Alfresco-Community-3.2-Linux-x86-Install» (de 143MB) de la URL:

http://dl.alfresco.com/release/community/build-2039/Alfresco-Community-3.2-Linux-x86-Install [[Ya no está disponible]]

Para ello ejecutaremos el siguiente comando Linux:

wget http://dl.alfresco.com/release/community/build-2039/Alfresco-Community-3.2-Linux-x86-Install

Cambiaremos los permisos del fichero para hacerlo ejecutable con el comando:

sudo chmod 777 Alfresco-Community-3.2-Linux-x86-Install

Ejecutamos el fichero descargado:

sudo ./Alfresco-Community-3.2-Linux-x86-Install

Nos pedirá confirmación para iniciar la instalación, con el texto «Se va a instalar Alfresco Community Edition en su equipo. ¿Continuar? [n/Y]», pulsaremos «Y». A continuación nos preguntará dónde queremos instalar Alfresco, con el texto «Where do you want to install Alfresco Community Edition? [/opt/Alfresco]», por defecto /opt/Alfresco, para instalarlo aquí pulsaremos INTRO:

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación de Alfresco

Se iniciará la instalación de Alfresco Community Edition, si todo es correcto mostrará lo siguiente:

Instalando Program Files
Instalando Program File Linux
Instalando WCM
Instalando WCM Linux
Instalando WebStudio
Instlando SPP
Installation complete

Instalación y configuración de Alfresco en GNU Linux Ubuntu Server - Instalación de Alfresco

A continuación configuraremos el Tomcat que incluye Alfresco Community Edition para indicar la carpeta del repositorio y el tipo de motor de base de datos que utilizaremos, en nuestro caso MySQL Server.

Fichero de configuración de Tomcat para Alfresco

Abriremos y editaremos el fichero de configuración de Tomcat: alfresco-global.properties, ubicado en:

/opt/Alfresco/tomcat/shared/classes

con el comando:

sudo nano /opt/Alfresco/tomcat/shared/classes/alfresco-global.properties

Este fichero contiene los datos de conexión a la base de datos (en nuestro caso MySQL), la ubicación de la carpeta del repositorio (datos), los datos para el envío de emails, etc. Aquí se puede ver el contenido por defecto de este fichero.

Modificaremos algunas líneas de este fichero para adaptarlo a nuestra configuración. Pondremos en negrita lo que habrá que cambiar:

# Sample custom content and index data location
dir.root= /var/lib/alfresco/alf_data

En el parámetro anterior (dir.root) indicaremos la carpeta donde estará el repositorio de datos de Alfresco, carpeta que hemos creado anteriormente.

En el mismo fichero, enalfresco-global.properties, modificaremos las siguientes líneas, para indicar los datos de conexión con la base de datos MySQL creada anteriormente:

# Sample database connection properties
db.name=alfresco
db.username=alfresco
db.password=alfresco
db.host=localhost
db.port=3306

Indicaremos el nombre del usuario creado en la base de datos MySQL para uso de Alfresco (db.username) y su contraseña (db.password), así como el puerto (si no es el de defecto 3306).

Las siguientes líneas deben estar descomentandas, tal y como indicamos a continuación:

# MySQL connection
db.driver=org.gjt.mm.mysql.Driver
db.url=jdbc:mysql://${db.host}:${db.port}/${db.name}
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

Guardaremos los cambios con Control + O y cerraremos el fichero con Control + X.

Fichero /opt/Alfresco/alfresco.sh

Modificaremos también el contenido del fichero /opt/Alfresco/alfresco.sh, con el comando:

sudo nano /opt/Alfresco/alfresco.sh

Cambiaremos lo siguiente (en negrita):

# Start or stop Alfresco server
# Set the following to where Tomcat is installed
ALF_HOME=/opt/Alfresco

Modificaremos también la línea:

export JAVA_HOME=»/usr/lib/jvm/java-6-sun»

El contenido completo del fichero original aquí.

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Para iniciar Alfresco en GNU Linux Ubuntu Server, ejecutaremos el siguiente comando:

sudo /opt/Alfresco/alfresco.sh start

Al iniciar Alfresco por primera vez, creará las tablas de MySQL necesarias para su funcionamiento. Para verlas ejecutaremos el siguiente comando:

mysql -u root -p

Y luego:

use alfresco;

show tables;

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Podremos ver las tablas creadas por Alfresco (78 en total):

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

También podremos ver las carpetas creadas en el repositorio:

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Las carpetas del repositorio de Alfresco: audit.contentstore, contentstore, contentstore.deleted, lucene-indexes, oouser.

Para probarlo, en cualquier equipo de nuestra red LAN o si hemos configurado correctamente el router o cortafuegos podremos conectarnos desde cualquier parte del mundo (teniendo IP pública fija), abriremos un navegador web y escribiremos la siguiente URL:

http://192.168.1.150:8080/alfresco

(en el ejemplo, hemos supuesto que el servidor con Alfresco tiene la IP 192.168.1.150)

Nos mostrará esta primera ventana (la primera vez que accedamos puede que tarde un poco):

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Para iniciar sesión como administrador y poder crear usuarios y demás, pulsaremos en «Login (guest)». El usuario por defecto es «admin», la contraseña es «admin»:

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Accederemos al espacio de trabajo del usuario administrador de Alfresco:

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

La prueba de que el servidor con GNU Linux Ubuntu Server 9.04 está virtualizado con VMware Server 2.0, sobre Windows XP:

Iniciando y probando Alfresco Community Edition en GNU Linux Ubuntu Server 9.04

Esto permite una gran flexibilidad y abstracción del hardware, es decir, copiando los ficheros que componen la máquina virtual de VMware a otro equipo e instalando VMware Server podremos iniciar el servidor con Alfresco en cuestión de minutos en cualquier otro equipo, sin perder la configuración.

Anexo

  • Contenido por defecto del fichero /opt/Alfresco/alfresco.sh:
  • Contenido por defecto del fichero /opt/Alfresco/alf_start.sh:

#!/bin/sh
sh @@ALFRESCO_DIR@@/alfresco.sh start

  • Contenido por defecto del fichero /opt/Alfresco/alf_stop.sh:

#!/bin/sh
sh @@ALFRESCO_DIR@@/alfresco.sh stop

  • Contenido por defecto del fichero /opt/Alfresco/virtual_alf.sh:
  • Contenido por defecto del fichero /opt/Alfresco/virtual_start.sh:
  • Contenido por defecto del fichero /opt/Alfresco/virtual_stop.sh:
  • Contenido por defecto del fichero /opt/Alfresco/extras/databases/mysql/db_setup.sql:
  • Contenido del fichero de configuración de tomcat para Alfresco /opt/Alfresco/tomcat/shared/classess/alfresco-global.properties
  • Contenido fichero de configuración tomcat /opt/Alfresco/tomcat/shared/classess/alfresco/extension/custom-repository.properties (utilizado en versiones anteriores):
  • Contenido del fichero /opt/Alfresco/tomcat/shared/classess/alfresco/extension/custom-hibernate-dialect.properties (utilizado en versiones anteriores):
  • Contenido fichero /etc/mysql/my.cnf: