Installare Alfresco su JBoss

Installare Alfresco su JBoss

In questo post vedremo come effettuare il deploy di Alfresco su JBoss 5.1 e database MySql. Il primo passo, ovviamente è ottenere una copia del war di Alfresco, la possiamo scaricare dalla seguente URL:http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco

TagSoup: un parser HTML per Java
GWT Designer: un Gui Designer per Google Web Toolkit
iReport: creare report in Java utilizzando un Editor Visuale

In questo post vedremo come effettuare il deploy di Alfresco su JBoss 5.1 e database MySql. Il primo passo, ovviamente è ottenere una copia del war di Alfresco, la possiamo scaricare dalla seguente URL:

http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco

Sulla pagina clicchiamo sul link Custom Installs:

Clicchiamo su Custom Installs

Scarichiamo il file alfresco-community-3.4.a.zip:

Scarichiamo lo zip che contiene il file .war di Alfresco

Scarichiamo e installiamo l’Application Server JBoss 5.1 GA seguendo questo articolo. La compatibilità con JBoss è garantita a partire dalla versione 3.2 Community (le prove effettuate sono cola versione 3.4 Community), è possibile installare alfresco anche su JBoss 4.2.2.GA (in questo caso bisogna impostare la JDK al livello 1.5) o 4.2.3.GA, mentre con la versione 6 ancora non vi è supporto ufficiale. Da alcune prove che ho effettuato sono riuscito ad installare Alfresco su JBoss 4.2.3 (con JDK 1.6) mentre su JBoss 6.0 M5 non ci sono riuscito :(.

Scompattiamo lo zip di Alfresco in una cartella ad esempio AlfrescoTemp. Creiamo una cartella alfresco all’interno della cartella conf di JBoss, che si trova al path <jboss installation path>serverdefaultconf, copiamo il contenuto presente nella cartella extension, che si trova al path AlfrescoTempweb-serversharedclassesalfrescoextension nella cartella alfresco sotto JBoss.

Copiamo inoltre il file alfresco-global.properties nella directory serverdefaultconf. Questo file lo troviamo nel file alfresco.war che si trova in AlfrescoTempweb-serverwebapps. In realtà lo dobbiamo ridenominare in quanto si chiama alfresco-global-sample.properties.

Configuriamo ora il database MySql. Creiamo un database vuoto chiamato alfresco  e creiamo uno user di nome alfresco con i diritti necessari su di esso, utilizziamo questo script:


create database alfresco;
grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;
grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;

Scarichiamo il driver MySql JDBC dal sito http://dev.mysql.com/downloads/connector/j/5.0.html oppure lo troviamo nella cartella web-serverlib e copiamolo nella directory <jboss installation path>serverdefaultlib

Creiamo un datasource che definisca i dettagli per il nostro database MySql copiandolo dal path <jboss installation path>docsexamplesjcamysql-ds.xml e lo inseriamo nella directory <jboss installation path>serverdefaultdeploy e lo editiamo per inserire i parametri corretti secondo questo esempio:

<local-tx-datasource>
<jndi-name>alfresco-datasource</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/alfresco</connection-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<user-name>alfresco</user-name>
<password>alfresco</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>

Editiamo il file jboss-log4j.xml presente nella directory <jboss installation path>serverdefaultconf e localizziamo il tag <root> andandolo a modificare in questo modo:

<root>
<priority value="INFO" />
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>

in questo modo andremo a ridurre l’output del log in debug che potrebbe raggiungere dimensioni notevoli ( a me è arrivato ad alcuni Gigabyte!).

Editiamo il file jpa-deployers-jboss-beans.xml presente nella directory <jboss installation path>serverdefaultdeployejb3.deployerMETA-INF e cambiamo il value da javassist a cglib:


<entry>

<key>hibernate.bytecode.provider</key>

<value>cglib</value>

</entry>

Configuriamo ora la Java Virtual Machine in modo da evitare che alcune classi della JVM caricati al bootstrap (in particolar modo quelli dedicati al parsing XML, ad esempio quelle presenti nel XercesImpl.jar) vadano in conflitto con quelli embedded nel file alfresco.war. Otteniamo ciò andando ad editare il file war-deployers-jboss-beans.xml presente nella directory <jboss installation path>defaultdeployersjbossweb.deployerMETA-INF :


<bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">
<property name="relativeOrder">-1</property>
<property name="filteredPackages">javax.activation,javax.servlet,
javax.servlet.jsp,javax.servlet.jsp.jstl,javax.servlet.jsp.jstl.core,
javax.servlet.jsp.jstl.fmt,javax.servlet.jsp.jstl.sql,
javax.servlet.jsp.jstl.tlv,javax.xml,javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,
javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,
javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,
javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,
javax.xml.datatype,javax.xml.messaging,javax.xml.namespace,
javax.xml.parsers,javax.xml.rpc,javax.xml.rpc.encoding,
javax.xml.rpc.handler,javax.xml.rpc.handler.soap,
javax.xml.rpc.holders,javax.xml.rpc.server,javax.xml.rpc.soap,javax.xml.soap,
javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,
javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,
javax.xml.transform.stream,javax.xml.validation,
javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,
javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.wsaddressing,
javax.xml.xpath,org.apache.commons.logging,
org.apache.commons.logging.impl,org.apache.xerces,
org.apache.xerces.dom,org.apache.xerces.dom.events,
org.apache.xerces.dom3,org.apache.xerces.dom3.as,org.apache.xerces.impl,
org.apache.xerces.impl.dtd,org.apache.xerces.impl.dtd.models,
org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.dtd,
org.apache.xerces.impl.dv.util,org.apache.xerces.impl.dv.xs,
org.apache.xerces.impl.io,org.apache.xerces.impl.msg,org.apache.xerces.impl.validation,
org.apache.xerces.impl.xpath,
org.apache.xerces.impl.xpath.regex,org.apache.xerces.impl.xs,
org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,
org.apache.xerces.impl.xs.opti,org.apache.xerces.impl.xs.traversers,
org.apache.xerces.impl.xs.util,org.apache.xerces.jaxp,
org.apache.xerces.jaxp.datatype,org.apache.xerces.jaxp.validation,
org.apache.xerces.parsers,org.apache.xerces.util,
org.apache.xerces.xinclude,org.apache.xerces.xni,
org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,
org.apache.xerces.xpointer,org.apache.xerces.xs,
org.apache.xerces.xs.datatypes,org.apache.xml,org.apache.xml.resolver,
org.apache.xml.resolver.apps,org.apache.xml.resolver.etc,
org.apache.xml.resolver.etc.catalog.dtd,org.apache.xml.resolver.etc.catalog.rng,
org.apache.xml.resolver.etc.catalog.xsd,org.apache.xml.resolver.etc.xcatalog.dtd,
org.apache.xml.resolver.helpers,
org.apache.xml.resolver.readers,org.apache.xml.resolver.tools,
org.apache.xml.security,org.apache.xml.security.algorithms,
org.apache.xml.security.algorithms.implementations,
org.apache.xml.security.c14n,org.apache.xml.security.c14n.helper,
org.apache.xml.security.c14n.implementations,
org.apache.xml.security.encryption,org.apache.xml.security.exceptions,
org.apache.xml.security.keys,org.apache.xml.security.keys.content,
org.apache.xml.security.keys.content.keyvalues,
org.apache.xml.security.keys.content.x509,org.apache.xml.security.keys.keyresolver,
org.apache.xml.security.keys.keyresolver.implementations,
org.apache.xml.security.keys.storage,
org.apache.xml.security.keys.storage.implementations,org.apache.xml.security.resource,
org.apache.xml.security.resource.schema,
org.apache.xml.security.signature,org.apache.xml.security.transforms,
org.apache.xml.security.transforms.implementations,
org.apache.xml.security.transforms.params,org.apache.xml.security.utils,
org.apache.xml.security.utils.resolver,
org.apache.xml.security.utils.resolver.implementations,org.apache.xml.serialize,
org.apache.xmlcommons,org.xml,org.xml.sax,org.xml.sax.ext,
org.xml.sax.helpers,org.w3c.css,org.w3c.css.sac,org.w3c.css.sac.helpers,
org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,
org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,
org.w3c.dom.smil,org.w3c.dom.stylesheets,
org.w3c.dom.svg,org.w3c.dom.traversal,
org.w3c.dom.views,org.w3c.dom.xpath</property>
</bean>

A questo punto non ci resta che copiare il file alfresco.war nella cartella deploy del nostro server (<jboss installation path>serverdefaultdeploy).

Non ci resta che avviare il serve tramite il file run (.bat per windows e .sh per linux) nella directory <jboss installation path>bin.

Dopo che il server sarà partito, apriamo un browser all’indirizzo:

http://localhost:8080/alfresco

Dovrebbe presentari l’Home Page di Alfresco:

L'Home Page di Alfresco

Possiamo loggarci con l’utenza admin inserendo admin come user e admin come password

COMMENTS

WORDPRESS: 0