Instalación de Alfresco con MySQL en Linux desde la linea de comandos

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.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

12 Respuestas to “Instalación de Alfresco con MySQL en Linux desde la linea de comandos”

  1. Davidon 07 nov 2012 at 8:37 pm

    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!!!

  2. Tonion 07 nov 2012 at 10:40 pm

    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.

  3. Davidon 08 nov 2012 at 1:01 am

    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

  4. Cormoon 09 nov 2012 at 10:10 am

    Buenas. Perdona mi torpeza, pero cuando dices al final del proceso ¨Fijate sobretodo en las lineas ….¨ ¿a que fichero te refieres exactamente?

    Muchas gracias.

  5. Tonion 09 nov 2012 at 2:32 pm

    Hola Cormo, me refiero a que en el asistente esas son las lineas a tener más en cuenta para configurarlo con MySQL. Saludos.

  6. Cormoon 09 nov 2012 at 2:55 pm

    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.

  7. Tonion 09 nov 2012 at 3:01 pm

    Gracias Cormo, me alegro que sea útil!

    David, voy a ver como se hace lo que preguntas y te cuento. Saludos.

  8. Tonion 09 nov 2012 at 3:57 pm

    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

  9. Fernandoon 27 nov 2012 at 4:52 am

    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.

  10. Tonion 27 nov 2012 at 9:31 am

    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.

  11. Fernandoon 27 nov 2012 at 7:00 pm

    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

  12. Tonion 27 nov 2012 at 7:16 pm

    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.

Trackback URI | RSS de Comentarios

Escribir comentario/respuesta