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”:
[bash]
# useradd alfresco
[/bash]
Asignamos una contraseña al usuario alfresco:
[bash]
# passwd alfresco
Changing password for user alfresco.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[/bash]
Antes de seguir, comprueba que tienes correctamente configurado el fichero de hosts del servidor (/etc/hosts), algo así:
[bash]
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
[/bash]
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é:
[bash]
# mkdir /opt/alfresco-enterprise-4.1.1
# chown alfresco.alfresco /opt/alfresco-enterprise-4.1.1
[/bash]
Accedemos con ese usuario o vamos desde root:
[bash]
# su – alfresco
[/bash]
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:
[bash]
$ chmod +x alfresco-*-installer-linux-x64.bin
[/bash]
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:
[bash]
$ ./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
[/bash]
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:
[bash]
$ cp mysql-connector-java-5.1.18-bin.jar /opt/alfresco-enterprise-4.1.1/tomcat/lib/
[/bash]
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:
[bash]
# 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)
[/bash]
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:
[bash]
$ 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
[/bash]
Podemos ver los logs con el siguiente comando:
[bash]
$ tail -f tomcat/logs/catalina.out
[/bash]
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:
[bash]
ERROR [org.alfresco.fileserver] [CIFS Server] [SMB] Server error
[/bash]
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
[bash]
cifs.tcpipSMB.port=1445
cifs.netBIOSSMB.sessionPort=1139
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
[/bash]
Cuando en el log veas la línea:
[bash]
INFO: Server startup in 104835 ms
[/bash]
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.
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.
me da este error:
2014-09-24 11:44:00,015 ERROR [solr.tracker.CoreTracker] [SolrTrackerScheduler_Worker-1] Tracking failed
alguna forma de solucionarlo?
vale, no se porque hoy me arrancado todo ok. Misterios de linux.
Gracias.
Hola Javi, perdona no contestar antes. Me alegro que ya te funcione. Cualquier duda me cuentas.
Saludos.
Hola mi nombre es Alejandra Escobar, estoy tratando de instalar Alfresco 5.0.C pero tengo un pequeño problema con el tomcat anteriormente tengo instalado en mi server jasperreportserver y ahora no se como configurar el tomcat para que me funcione con los dos, no se como tengo que cambiar la configuracion ya que cuando se instalan cualquiera de los dos automaticamente instala el tomcat entonces realmente no se que hacer, si tu tienes una idea te lo agradecere
Hola Alejandra,
La verdad es que nunca he instalado Jasper Reports Server por lo que desconozco que cambios hará en Tomcat. Lo ideal, si quieres ver como funciona Alfresco, es que lo montes en un Tomcat dedicado usando por ejemplo el installer y luego veas como está el Tomcat que trae nuestro bundle para compararlo con el que ya tienes. Recuerda cambiarle los puertos por defecto ya que me imagino que estarán siendo usados por el Tomcat que ya tienes.
Saludos.
Gracias por tu respuesta . Si hay conflicto con los puertos y para instalarlo hay que bajar el otro tomcat. Gracias seguiré investigando. Saludos
quiero saber si es posible montar 2 instancias de alfresco sobre un mismo servidor???
Hola Carlos, claro que es posible, solo tienes que configurar cada instancia con puertos diferentes para que no haya conflictos y ambas puedan arrancar a la vez. Mira aqui http://blyx.com/2014/06/02/where-and-how-to-change-any-alfresco-related-port/ Recuerda que no es buena practica tener dos alfrescos en la misma máquina para producción.