CMDBuild Forum

Installazione sotto Tomcat

Vi prego di darmi qualche idea,
sto cercando di installare CMDBuild 0.90.3 su Ubuntu Server 8.10 (macchina virtuale, su cui già gira OCS Inventory NG).
Tomcat 6 e Postgresql 8.3 sono correttamente funzionanti, cogli utenti indicati nelle note di installazione di CMDBuild.

La popolazione del db con pg_restore è andata a buon fine.
Il manager di Tomcat mi lista cmdbuild tra le applicazioni running.
Però il suo lancio mi dà errore:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
cmdbuild.filter.CMDBFilterChain.doFilter(CMDBFilterChain.java:66)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.18

Buongiorno,
da quello che vedo, il problema potrebbe essere legato al security manager di Tomcat, che viene abilitato sui sistemi Debian e derivati di default.
Le consiglierei di verificare se è attivo,eventualmente di disabilitarlo e di riprovare.

Cordiali saluti,
Lisa

Anonymous wrote:

Vi prego di darmi qualche idea,
sto cercando di installare CMDBuild 0.90.3 su Ubuntu Server 8.10 (macchina virtuale, su cui già gira OCS Inventory NG).
Tomcat 6 e Postgresql 8.3 sono correttamente funzionanti, cogli utenti indicati nelle note di installazione di CMDBuild.

La popolazione del db con pg_restore è andata a buon fine.
Il manager di Tomcat mi lista cmdbuild tra le applicazioni running.
Però il suo lancio mi dà errore:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
cmdbuild.filter.CMDBFilterChain.doFilter(CMDBFilterChain.java:66)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.18

Grazie Lisa,
ho effetivamente risolto quel problema abbassando (spero non troppo!) le misure di sicurezza nel file catalina.policy: ora l'applicazione parte e chiede Username e Password...

Però le credenziali di default non mi fanno entrare: "Non hai il permesso di accedere a quest'area"!
E non ricordo di avere impostato password durante l'installazione.



[quote=tecnoteca]Buongiorno,
da quello che vedo, il problema potrebbe essere legato al security manager di Tomcat, che viene abilitato sui sistemi Debian e derivati di default.
Le consiglierei di verificare se è attivo,eventualmente di disabilitarlo e di riprovare.

Cordiali saluti,
Lisa

[quote=Anonymous]Vi prego di darmi qualche idea,
sto cercando di installare CMDBuild 0.90.3 su Ubuntu Server 8.10 (macchina virtuale, su cui già gira OCS Inventory NG).
Tomcat 6 e Postgresql 8.3 sono correttamente funzionanti, cogli utenti indicati nelle note di installazione di CMDBuild.

La popolazione del db con pg_restore è andata a buon fine.
Il manager di Tomcat mi lista cmdbuild tra le applicazioni running.
Però il suo lancio mi dà errore:

HTTP Status 500 -

...

Salve,
utente e password dovrebbero essere quelli standard indicati nel manuale di installazione (il technical manual).

Se sono quelli corretti, la inviterei a guardare i log (in {tomcat_home}/logs/catalina.out ) e a vedere il tipo di errore riportato.
Potrebbe esserci qualche problema di connessione al database.
In questo caso, quello che andrei a controllare al suo posto è:
1) la presenza del driver di postgres fra le librerie di tomcat
2) la configurazione corretta del contesto in {cmdbuild_home}/META-INF/context.xml
3) la presenza di tabelle nel db indicato nel file di configurazione

Spero di esserle stata di aiuto.

Saluti,
Lisa.

Dopo aver passato un finesettimana nel tentativo di avviare l'applicazione posso confermare che il problema segnalato risponde all'assenza del driver di PostrgreSQL.
In Debian e derivati la libreria postresql*.jar deve essere copiata in /usr/share/tomcat5.5/common/lib
Propongo le seguenti modifiche al codice di CMDBUILD:
- modificare la classe LoginForm.java, impostando diversi messaggi di errore in caso dei diversi problemi presentati - risponde a 3 errori diversi dicendo sempre "Non hai il permesso di accedere a questa area"
- creare una pagina di test del corretto funzionamento di tutti i componenti (in modo da escludere eventuali problemi di db e/o librerie mancanti
- modificare la procedura di installazione Setup.jar in modo che venga segnalato all'utente che in caso di installazione su distribuzioni Linux Debian e derivati deve essere verificata la configurazione del Security Manager e soprattutto che in automatico copi il driver di postgresql nella directory corretta
- distribuire il sorgente come progetto pulito e senza dipendenze da progetti esterni non disponibili (vedi cartelle che puntano a D:\Home\Zanitti etc etc)

Esiste un server SVN o CVS dove il sorgente è reperibile, oppure il sorgente presente in WEB-INF/src è tutto?

Grazie

La nuova versione 1.0 di CMDBuild, che verrà rilasciata il prossimo mese in versione beta, è stata completamente ristrutturata e risolve (o per lo meno riduce fortemente) i problemi relativi al corretto posizionamento delle varie librerie richieste dal sistema (che in particolare potevano insorgere nel caso di installazioni di Tomcat effettuate tramite il gestore di pacchetti del proprio sistema operativo).
L'applicazione verrà distribuita sotto forma di archivio war con integrata un'apposita interfaccia di configurazione.
Per quanto riguarda i codici di errori, la loro gestione è stata rivista e migliorata per fornire un feedback piu' attendibile all'utente.
Per quanto riguarda infine il server SVN, al momento è accessibile solo ad alcuni collaboratori esterni, essendo tutto il codice sorgente disponibile nel tar.gz pubblicato sul sito. Nel futuro potranno essere fatte scelte diverse soprattutto se prenderà piede una community di supporto al progetto, che stiamo attualmente cercando di stimolare.