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