Instalación de Alfresco con MySQL en Linux desde la linea de comandos
Toni octubre 29th, 2012
En este artículo os voy a mostrar el procedimiento para instalar Alfresco Enterprise 4.1.1 o Community en un servidor Linux 64bits usando el instalador (bundle) desde la linea de comandos (si no tenemos interfaz gráfica instalada en nuestro servidor), y como hacerlo con MySQL 5.1 en lugar de Postgresql (que viene por defecto en el instalador). Usaré Alfresco Enterprise 4.1.1 pero todos los comandos son igualmente válidos para Community;
Descargar el instalador de Alfresco (Enterprise o Community):
Enterprise de este enlace: http://www.alfresco.com/products/enterprise/trial
Community de este otro: alfresco-community-4.2.b-installer-linux-x64.bin
También descargamos el driver de conexión JDBC con MySQL de este enlace: http://dev.mysql.com/downloads/connector/j/
Creamos un usuario con el que correrá el servidor de aplicaciones (Tomcat), por ejemplo, un usuario llamado “alfresco”:
# useradd alfresco
Asignamos una contraseña al usuario alfresco:
# passwd alfresco Changing password for user alfresco. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
Antes de seguir, comprueba que tienes correctamente configurado el fichero de hosts del servidor (/etc/hosts), algo así:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.0.22 servidor.dominio.com servidor
Creamos el directorio donde vas a instalar Alfresco y damos permisos al usuario que acabamos de crear (ponle el nombre y versión si quieres), por ejemplo yo usaré:
# mkdir /opt/alfresco-enterprise-4.1.1 # chown alfresco.alfresco /opt/alfresco-enterprise-4.1.1
Accedemos con ese usuario o vamos desde root:
# su - alfresco
Tras tener el paquete y el conector con mysql descargados, vamos a empezar la instalación:
Si el paquete no estuviese ejecutable puedes hacerlo con el siguiente comando:
$ chmod +x alfresco-*-installer-linux-x64.bin
Ejecutamos el instalador y seguimos los pasos como se indica a continuación, fíjate bien en las opciones que elijo, cambia el nombre de base de datos, usuario y contraseña en tu caso, también ojo a los cambios al usar MySQL:
$ ./alfresco-enterprise-4.1.1-installer-linux-x64.bin Language Selection Please select the installation language [1] English - English [2] French - Français [3] Spanish - Español [4] Italian - Italiano [5] German - Deutsch [6] Japanese - 日本語 [7] Dutch - Nederlands [8] Russian - Русский [9] Simplified Chinese - 简体中文 Please choose an option [1] : 3 ---------------------------------------------------------------------------- Bienvenido a la instalación de Alfresco Enterprise. ---------------------------------------------------------------------------- Tipo de instalación [1] Fácil: instala los servidores con la configuración por defecto [2] Avanzada: Configura las propiedades de servicio y los puertos de servidor.: También puede elegir componentes opcionales para instalar. Por favor seleccione una opción [1] : 2 ---------------------------------------------------------------------------- Seleccione los componentes que desea instalar; desmarque aquellos que no desea. Java [Y/n] :Y PostgreSQL [Y/n] :n Alfresco : Y (Cannot be edited) SharePoint [Y/n] :Y Web Quick Start [y/N] : N OpenOffice [Y/n] :Y ¿Es correcta la selección que se muestra aqui arriba? [Y/n]: Y ---------------------------------------------------------------------------- Carpeta de instalación Por favor, elija una carpeta para instalar Alfresco Enterprise Seleccionar una carpeta [/home/alfresco/alfresco-4.1.1]: /opt/alfresco-enterprise-4.1.1 ---------------------------------------------------------------------------- Configuración de la base de datos URL de JDBC: [jdbc:postgresql://localhost/alfresco]: jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8 Controlador JDBC: [org.postgresql.Driver]: org.gjt.mm.mysql.Driver Nombre de la base de datos: [alfresco]: alfresco Nombre de usuario: []: alfresco Contraseña: : Verificar: : ---------------------------------------------------------------------------- Configuración de puerto Tomcat Por favor, introduzca los parámetros de configuración de Tomcat que desea utilizar. Dominio de Servidor Web: [127.0.0.1]: Puerto del servidor Tomcat: [8080]: Puerto de cierre de Tomcat: [8005]: Puerto SSL de Tomcat [8443]: Puerto AJP de Tomcat: [8009]: ---------------------------------------------------------------------------- Puerto FTP de Alfresco Por favor, elija un número de puerto para usar para el servidor FTP integrado de Alfresco. Puerto: [2121]: ---------------------------------------------------------------------------- Puerto RMI de Alfresco Por favor, elija un número de puerto que utilizará Alfresco para ejecutar comandos remotos. Puerto: [50500]: ---------------------------------------------------------------------------- Contraseña de admin Por favor, especifique una contraseña a utilizar para la cuenta de administrador de Alfresco. Contraseña de admin: : Repita la contraseña: : ---------------------------------------------------------------------------- Puerto de SharePoint en Alfresco Por favor, elija un número de puerto para el protocolo SharePoint. Puerto: [7070]: ---------------------------------------------------------------------------- Puerto de servidor OpenOffice Por favor, introduzca el puerto en el que el Servidor de OpenOffice va a escuchar por defecto. Puerto de servidor OpenOffice [8100]: ---------------------------------------------------------------------------- El programa está listo para iniciar la instalación de Alfresco Enterprise en su ordenador. ¿Desea continuar? [Y/n]: Y ---------------------------------------------------------------------------- Por favor espere mientras se instala Alfresco Enterprise en su ordenador. Instalando 0% ______________ 50% ______________ 100% ######################################### ---------------------------------------------------------------------------- El programa terminó la instalación de Alfresco Enterprise en su ordenador. Ver el archivo Léeme [Y/n]: n Lanzar Alfresco Enterprise Share [Y/n]: n
Como ves en el asistente, no arrancamos ya que nos quedan algunas tareas por acometer todavía.
Fijate sobre todo en las líneas:
PostgreSQL [Y/n] :n
URL de JDBC: [jdbc:postgresql://localhost/alfresco]: jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8
Controlador JDBC: [org.postgresql.Driver]: org.gjt.mm.mysql.Driver
Nombre de la base de datos: [alfresco]: alfresco
Nombre de usuario: []: alfresco
Cambia mysql://localhost/alfresco por la IP o nombre del servidor MySQL y alfresco por el nombre de la base de datos.
Copia el jar con el conector JDBC de MySQL al siguiente directorio:
$ cp mysql-connector-java-5.1.18-bin.jar /opt/alfresco-enterprise-4.1.1/tomcat/lib/
Antes de arrancar el servidor de aplicaciones, en el servidor MySQL, que ya debería estar instalado y levantado, ya sea en local o en un servidor separado hay que crear la base de datos y dar los permisos:
# mysql -u root -p Enter password: mysql> create database alfresco; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on alfresco.* to alfresco@localhost identified by 'alfresco'; Query OK, 0 rows affected (0.00 sec)
Hecho lo anterior podrías proceder a hacer algunos cambios en la configuración, pero también puedes hacerlo una vez levantado el servidor (e ir reiniciando con cada cambio si usas Community o sin necesidad de reiniciar si usas Enterprise y la consola de administración).
Arrancamos el servidor:
$ cd /opt/alfresco-enterprise-4.1.1/ $ ./alfresco.sh start Using CATALINA_BASE: /opt/alfresco-enterprise-4.1.1/tomcat Using CATALINA_HOME: /opt/alfresco-enterprise-4.1.1/tomcat Using CATALINA_TMPDIR: /opt/alfresco-enterprise-4.1.1/tomcat/temp Using JRE_HOME: /opt/alfresco-enterprise-4.1.1/java Using CLASSPATH: /opt/alfresco-enterprise-4.1.1/tomcat/bin/bootstrap.jar Using CATALINA_PID: /opt/alfresco-enterprise-4.1.1/tomcat/temp/catalina.pid /opt/alfresco-enterprise-4.1.1/tomcat/scripts/ctl.sh : tomcat started
Podemos ver los logs con el siguiente comando:
$ tail -f tomcat/logs/catalina.out
Deberíamos ver lineas que nos indican que se va poblando la base de datos, también que se crean los índices de SORL.
Recuerda que verás el siguiente error en el log:
ERROR [org.alfresco.fileserver] [CIFS Server] [SMB] Server error
Al iniciar con un usuario no root, Alfresco no puede levantar el subsistema CIFS ya que no puede usar un puerto por debajo del 1024. Para resolverlo (aunque deberás redireccionar los puertos http://docs.alfresco.com/4.0/topic/com.alfresco.enterprise.doc/tasks/fileserv-CIFS-useracc.html) puedes cambiar la configuración de los puertos de CIFS añadiendo los siguientes parámetros en en el fichero de configuración: tomcat/shared/classes/alfresco-global.properties
cifs.tcpipSMB.port=1445 cifs.netBIOSSMB.sessionPort=1139 cifs.netBIOSSMB.namePort=1137 cifs.netBIOSSMB.datagramPort=1138
Cuando en el log veas la línea:
INFO: Server startup in 104835 ms
Significa que está arrancado y ya puedes acceder a Alfresco Share mediante http://localhost:8080/share o el nombre de servidor que tengas y a Alfresco Explorer con http://localhost:8080/alfresco. Por FTP, recuerda que se usa el puerto 2121 por defecto (si no haces redirección con IPTables). Por Webdav sería con la URL: http://localhost:8080/alfresco/webdav.
- administración de sistemas
- Comments(12)


Hola Tony, excelente post solo tengo una duda: es funcional una migración desde una version anterior de alfresco a esta otra por ejemplo de 3.4.d a la 4.2? Lo digo por los cambios en la estructura de la base de datos que se dan en esta nueva version. Otra pregunta un poco aislada del tema: como podría saber a que carpetas o espacios tiene acceso un usuario pues no he encontrado forma de hacerlo y me imagino que talvez haciendo alguna consulta en la base de datos de alfresco directamente.
Gracias Tony!!!
Hola David,
Sí, se podría actualizar aunque en Community no he probado cual es el comportamiento.
Sobre tu segunda pregunta, supongo que haciendo una consulta mediante la API se sacaría esa información, hacerlo sobre la BBDD sería demasiado complejo, mejor contra la API. Hace tiempo vi un script en javascript para extraer esa información pero no recuerdo si fue en http://www.fegor.com o en otro blog.
Saludos.
Gracias Tony, con lo del script para consultar los accesos por usuarios he visto uno parecido http://rafabono.blogspot.com/2011/04/administracion-de-usuariosgrupos-en.html pero no es exactamente lo que busco pues este lo que te da es los grupos a los que pertenece un usuario y no los espacios o carpetas del repositorio a los que tiene acceso, se lo consulte a Rafa Bono quien es el admin del blog que te mensiono, gracias
Buenas. Perdona mi torpeza, pero cuando dices al final del proceso ¨Fijate sobretodo en las lineas ….¨ ¿a que fichero te refieres exactamente?
Muchas gracias.
Hola Cormo, me refiero a que en el asistente esas son las lineas a tener más en cuenta para configurarlo con MySQL. Saludos.
Entendido, no lo habia entendido asi por eso me hice un lio. Muchas gracias por el tutorial, me ha sido muy util, sencillo de seguir (ahora que me quitaste esta pequeña duda, mas aun), y al grano.
Enhorabuena.
Gracias Cormo, me alegro que sea útil!
David, voy a ver como se hace lo que preguntas y te cuento. Saludos.
David, para la consulta que querías hacer puedes usar CMIS (select * from cmis:folder where …). Mira esta entrada en el foro para más recursos:
https://forums.alfresco.com/en/viewtopic.php?f=45&t=43692
O al final de este documento http://ecmarchitect.com/images/articles/alfresco-content/content-article-2ed.pdf
Saludos Toni.
Segui los pasos estoy tratando de instalar alfresco 4.2 comminuty en centos 6.3 pero se me presente el siguiente error en el catalaina.out.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘processor.model.helper’ defined in URL alfresco
Creo que eso cuase que no pueda entrar a share o alfresco. ya que me presenta el error 404 de que no encuentra el recurso.
Serias tan amable de ayudarme por favor.
Hola Fernando, con solo esa linea del log es complicado saber lo que pasa.
Revisa la configuración de red y nombre del servidor, mira que estén correctos los ficheros /etc/hosts y /etc/sysconfig/network. Por otro lado depende de la versión concreta de la community o si es nightly build igual puede ser otra cosa.
Saludos.
Saludos Toni te molesto nuevamente este es todo el error.
Caused by: java.net.UnknownHostException: ecuio009523.localdomain: ecuio009523.localdomain: Nombre o servicio desconocido
at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
at org.springframework.extensions.webscripts.GUID.(GUID.java:53)
… 89 more
Caused by: java.net.UnknownHostException: ecuio009523.localdomain: Nombre o servicio desconocido
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
… 90 more
Como te comenté, diría que es un problema de tu configuración de red/nombre de máquina. Revisa que está algo como esto:
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.22 servidor.dominio.com servidor
/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=servidor.dominio.com
Borra el directorio de instalación, la base de datos también y la vuelves a crear (o vacíala), vuelve a hacer la instalación desde cero y te debería funcionar.