Salve a tutti,
Per esigenze di sviluppo modello dati e workflow, ho deciso di installare su una macchina virtuale la versione 1.2.2 di CMDBuild. Armato di buona volontà e di entusiasmo sono partito con il mettere su Ubuntu Server 10.04, l’ottimo database PostgreSQL 8.4, Tomcat 6, eliminato OpenJDK ed installato Sun Java 6.
Configurato ed aggiornato il tutto ho scaricato il file cmdbuild.war e seguito le istruzioni del manuale. Risultato ? un calcio in faccia al momento del primo avvio…!
Dopo diverse ore di verifiche… controlli… e non poche parolacce… ho scoperto che la procedura automatica di deploy del cmdbuil.war è affetta da non pochi bugs.
Di seguito la lista delle “mancanze”:
* In /usr/share/java non vengono copiate le librerie:
** commons-collections-3.1.jar
** commons-dbcp-1.2.1.jar (funziona perfettamente anche con la commons-dbcp-1.4.jar)
** commons-pool-1.2.jar (funziona perfettamente anche con la commons-pool-1.5.3.jar)
** tomcat-dbcp.jar
* In /usr/share/java non vengono creati i simboli links:
** commons-collections.jar à commons-collections-3.1.jar
** commons-dbcp.jar à commons-dbcp-1.2.1.jar
** commons-pool.jar à commons-pool-1.2.jar
Nota. Con il war vengono distribuite altre librerie, ma con quelle non c’è verso di farlo andare!!! In particolare: commons-collections-2.1.1.jar, commons-dbcp-1.3-snapshit.jar e commons-pool-1.5.3.jar… basta mettere in debug l’istanza per vedere errori di ogni genere…
Ho quindi creato i symbolic links di cui sopra, sia in /usr/share/java che nella cartella /usr/share/tomcat6/lib, ho copiato il file war in /var/lib/tomcat6/webapps ed atteso qualche istante che tomcat si predisponesse per il deploy.
Prima di andare via interfaccia web di tomcat per il deploy, ho modificato il file log4j.conf in /var/lib/tomcat6/webapps/WEB-INF, la riga:
log4j.appender.R.File=${catalina.base}/cmdbuild.log
diventa:
log4j.appender.R.File=${catalina.base}/logs/cmdbuild.log
in questo modo si riescono ad avere anche i log del deploy, in caso contrario si otterrà un errore di autorizzazioni a scrivere il file di log nella ${catalina.base}.
Con questo workaround ho installato con successo diverse istanze di cmdbuild sulla stessa macchina virtuale. Nei prossimi giorni mi preoccuperò di installare Alfresco e gli altri componenti.
Spero che qualcuno trovi utili queste informazioni.