Alfresco - Instal·lació amb Tomcat sobre OpenSuse

Procediment per a instal·lar Alfresco Labs 3.0 a OpenSuse 11.1

Requisits:

Ja es té instal·lat i configurat un gestor de DB MySQL (en aquest cas a U:\xampp\mysql\)

a) Download - http://sourceforge.net/projects/alfresco/files/

Nota: Les darreres versions estan a: http://wiki.alfresco.com/wiki/Labs_3_Final_download_files

b) Segueix les intruccions de configuració http://wiki.alfresco.com/w/images/0/0b/Install_Configure_Alfresco_Lab3Stable.pdf

Verificar que s'ha configurat la variable d'entorn JAVA_HOME

>echo $JAVA_HOME

/usr/lib/jvm/java (Linux)

U:\Program Files\Java\jdk1.6.0_13\ (Windows)

e) Preparatius (Alfresco v3 requires MySQL 5.0.67 or higher)

Nota: El directori "<extension>" és: /opt/Alfresco/tomcat/shared/classes/alfresco/extension

A aquest pas seguirem parcialment les indicacions a http://wiki.alfresco.com/wiki/Alfresco_on_Glassfish

>mysql -u root

mysql>create database alfresco;

mysql>grant all privileges on alfresco.* to 'alfresco'@'%' identified by 'alfresco';

mysql>grant all privileges on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco';

Alfresco needs somewhere to keep all of it's documents and indexes. This is usually named alf_data, if you don't specify a path to alf_data or the path doesn't exist it will create one for you... somewhere. Let's not leave things to chance and create one and then configure Alfresco to find it:

>sudo mkdir /var/lib/alfresco/alf_data //Opció 2: Directori de dades extern

Now change directory to the alfresco/extension directory and modify the config files so that Alfresco can find alf_data and can find the database:

In custom-repository.properties do the following:

dir.root=/var/lib/alfresco/alf_data (o "U:\glassfish\domains\applications\data\alfresco")

db.username=alfresco

db.password=alfresco

# Derby connection

#

#db.driver=org.apache.derby.jdbc.EmbeddedDriver

#db.url=jdbc:derby:alf_data/derby_data/alfresco;create=true

# MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server)

#

db.driver=org.gjt.mm.mysql.Driver

db.url=jdbc:mysql://localhost/alfresco

In custom-hibernate-dialect.properties do:

# Derby dialect

#

#hibernate.dialect=org.hibernate.dialect.DerbyDialect

# MySQL dialect (default)

#

hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

f) The URL used for the MySQL JDBC driver is just one of many mirrors. You might be better off going to http://dev.mysql.com/downloads/connector/j/5.1.html and choosing where to get it from. For Windows you'll need to go to the URL in a browser.

·Tomcat 6

Ja té el connector, verificar-ho a: /opt/Alfresco/tomcat/lib/mysql-connector-java-x.x.x-bin.jar

/opt/Alfresco/tomcat/lib/mysql-connector-java-5.1.6-bin.jar

·Glassfish

Unpack this somewhere and copy mysql-connector-java-5.1.7-bin.jar to the GlassFish domain's lib directory.

> sudo cp mysql-connector-java-5.1.7-bin.jar /opt/glassfish/domains/applications/lib

g) Editar /opt/Alfresco/alf_start.sh i /opt/Alfresco/alf_stop.sh de tal manera que quedin així:

#!/bin/sh
sh /opt/Alfresco/alfresco.sh start
#!/bin/sh
sh /opt/Alfresco/alfresco.sh stop

h) Editar /opt/Alfresco/alfresco.sh

Modificar ALF_HOME

ALF_HOME=/opt/Alfresco

Modificar JAVA_HOME

export JAVA_HOME="/usr/lib/jvm/java"

h) Test

·Tomcat 6

1. Modificació de la configuració dels ports, al fitxer "/opt/Alfresco/tomcat/conf/server.xml":

Server port 8005 -> 28005

Connector port 8080 -> 28080

redirectPort 8443 -> 28443

2. Iniciar el servidor

> sudo /opt/Alfresco/alf_start.sh

Using CATALINA_BASE: /opt/Alfresco/tomcat

Using CATALINA_HOME: /opt/Alfresco/tomcat

Using CATALINA_TMPDIR: /opt/Alfresco/tomcat/temp

Using JRE_HOME: /usr/lib/jvm/java

3. http://ba19502.intranet.ibermatica:28080/

·Glassfish

Reiniciar glassfish i accedir a http://172.23.220.49:18080/alfresco

i) Canviar la ubicació de log (opcional)

S'ha canviat a /var/log/alfresco.log

j) Sol·lucions d'errors

1) En accedir a la URL, apareix una pàgina en blanc

En un terminal, monitoritzar el fitxer de log:

sudo tail --retry -f /opt/Alfresco/alfresco.log <-- default one

sudo tail --retry -f /var/log/alfresco.log <-- if configured this way

En un altre terminal, iniciar alfresco, de manera que es pugui veure i resoldre l'error.

2) 10:34:19,438 ERROR [org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformer] ImageMagickContentTransformer not available: Failed to perform ImageMagick transformation:

Execution result:

os: Linux

command: [./ImageMagick/bin/convert, /opt/Alfresco/tomcat/temp/Alfresco/Im

ageMagickContentTransformer_init_source_3508479847542541611.gif, /opt/Alfresco/t

omcat/temp/Alfresco/ImageMagickContentTransformer_init_target_791548517071359048

9.png]

succeeded: false

exit code: 1

out:

err: Cannot run program "./ImageMagick/bin/convert": java.io.IOExcepti

on: error=2, No such file or directory

Solució

Instal·lar ImageMagick amb: sudo zypper install ImageMagick

Canviar en 'custom-repository.properties'

img.root=/srv/alfresco/ImageMagick por img.root=/usr (alfresco buscará /usr/bin/convert)

3) 10:57:58,370 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'avmRemoteService' defined in class path resource [alfresco/remote-services-context.xml]: Invocation of init method failed; nested exception is java.rmi.server.ExportException: Port already in use: 50501; nested exception is:

java.net.BindException: Address already in use

Caused by: java.rmi.server.ExportException: Port already in use: 50501

Solució

a)Está documentado aquí: http://www.lucasmanual.com/mywiki/Alfresco#Portalreadyinuse.3A50501

sudo mv /tomcat/webapps/alfresco/WEB-INF/lib/commons-el.jar /tmp/

b)Otra documentación: http://blog.khax.net/2009/02/26/alfresco-setup-in-ubuntu-810-with-git/

Editar "/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties" i canviar:

avm.rmi.service.port=50501

avmsync.rmi.service.port=50502

attribute.rmi.service.port=50503

authentication.rmi.service.port=50504

repo.rmi.service.port=50505

action.rmi.service.port=50506

No olvidar abrir el puerto RMI, en el firewall

Nota: Hipòtesis de treball. El port de JCR és el repo.rmi.service.port