2012-07-22 8 views
11

Stavo iniziando lo sviluppo web JAVA oggi e ho riscontrato alcuni problemi, ho installato il mio tomcat7 sulla mia macchina Ubuntu. Ora quando cerco di // localhost: 8080, ottengo la pagina di benvenuto predefinita dicendo:Non posso mettere nulla in/var/lib/tomcat7/webapps/

Questa è la pagina iniziale di Tomcat predefinita. Può essere trovato sul file system locale: /var/lib/tomcat7/webapps/ROOT/index.html

veterani Tomcat7 potrebbe essere lieti di apprendere che tale istanza del sistema di Tomcat è installato con CATALINA_HOME in /usr/share/tomcat7 e CATALINA_BASE in /var/lib/tomcat7, seguendo le regole da /usr/share/doc/tomcat7-common/RUNNING.txt.gz.

Ma stranamente quando provo lo echo $CATALINA_HOME non compare nulla. Anche io non posso copiare/creare nulla in/var/lib/tomcat7/ROOT di default anche se è solo questione di fornire pochi permessi ma mi chiedevo se è il modo giusto per farlo ?,

Cosa ho vorrei fare è creare una directory separata nella mia casa in cui posso mettere la mia applicazione web e Tomcat può leggere l'orlo da lì. C'è un modo per farlo? In Apache posso farlo cambiando il documento root e directory ma non so come farlo per tomcat

+0

Hai controllare la '' se .bashrc' CATALINA_HOME' è definito? –

+2

Se hai installato tomcat usando 'apt-get', potresti prendere in considerazione la rimozione e [utilizzando la versione standalone di tomcat] (http://stackoverflow.com/questions/1567597/tomcat-on-linux-centos-incorrect-java -version/1568390 # 1568390), che è possibile estrarre nella directory $ HOME o da qualche altra parte conveniente. –

+0

Perché vuoi copiare qualcosa nella cartella ROOT? per distribuire un'applicazione basta copiarlo nella cartella webapps o utilizzare Tomcat manager. – Tomer

risposta

10

Ma stranamente quando provo echo $ CATALINA_HOME non compare nulla.

Questo perché la versione pacchettizzata imposta CATALINA_HOME appena prima di lanciare Tomcat, dopo la lettura da un file di configurazione (in genere da qualche parte in/etc).

Inoltre non riesco a copiare/creare qualcosa nel predefinito /var/lib/tomcat7/ROOT anche se è solo una questione di fornire pochi permessi ma mi chiedevo se è il modo giusto per farlo?

Il problema delle autorizzazioni ha a che fare con il fatto che tu non sia root (o utente Tomcat). La maggior parte delle installazioni Tomcat pacchettizzate (deb o RPM) tendono a essere installate pensando a un utente specifico, e talvolta la copia di cose diverse non funzionerà.

/usr/share/tomcat7 è la directory CATALINA_HOME, e ha collegamenti con le altre directory, come ad esempio /var/lib/tomcat7/webapps, /etc/tomcat7, ecc Si consiglia di non copiare direttamente in un'applicazione web, si dovrebbe comprime l'applicazione web in un file WAR e " distribuire "it. I vantaggi sono numerosi.

Quello che vorrei fare è creare una directory separata in casa mia dove posso mettere la mia applicazione web e Tomcat può leggere orlo da lì. C'è un modo per farlo?

Sì, uno viene creato quando si "distribuisce un'app Web". Osserva la documentazione standard di Tomcat7 e considera l'installazione dell'applicazione web "manager" se ti piace un'interfaccia a riga di comando. Ora che sai cosa viene chiamato "installazione" di un'app Web, sarà probabilmente un compito più facile.

in Apache posso farlo modificando il documento root e la directory, ma non so come fare per Tomcat

Tomcat ha un diverso, leggermente più restrittiva dei requisiti per un documento-root. Hai bisogno di impararlo, e solo venire a patti con l'idea che non sarà mai lo stesso. Fondamentalmente sotto la directory "webapps", c'è un file WAR o una directory espansa che proviene da un file WAR. L'editing sul posto non è una buona idea per Tomcat, poiché gli equivalenti CGI non vengono letti dal disco ogni volta che vengono eseguiti, sono collegati nella memoria di Tomcat. Ciò significa che una modifica nella directory potrebbe non influire sull'applicazione Web, il che è un motivo sufficiente per non disturbare la modifica dei file su disco per un'applicazione Web distribuita.

Modificare l'applicazione Web, riconfezionarla e aggiornare la distribuzione. È davvero il modo "giusto" per andare con Tomcat.

+0

Grazie per i dettagli .. Intanto ho rimosso Tomcat, scaricato un tar e decompresso nella mia cartella home, dopo aver aggiunto alcuni collegamenti simbolici sono in grado di correggerlo anche con Eclipse ... funziona perfettamente bene da lì (Almeno fino ad ora) .... Pensi che potrei incorrere in alcuni problemi più tardi? ... o perché questo non è il modo giusto per farlo? – Sudh

+0

I tipi di problemi che si incontreranno saranno i tipi di problemi che riguardano l'amministrazione IT, non i tipi di problemi che riguardano gli sviluppatori. Fondamentalmente, la registrazione non è integrata con il resto del sistema operativo, l'avvio/arresto non è integrato con il sistema operativo, i file di configurazione non sono in cui il sistema operativo memorizza i file di configurazione, i file binari non sono predefiniti raggiungibili dal sistema operativo, non è dedicato l'utente per limitare l'ambito del sistema operativo, le librerie non sono integrate con le librerie del sistema operativo e lo spazio temporaneo non si trova nello spazio temporaneo riservato dal sistema operativo. La tua configurazione va bene per lo sviluppo, solo non distribuire in questo modo –

5

il permesso Dare 777 alla cartella webroot

sudo chmod -R 777 Webroot 

Dopo essersi trasferito nella cartella di Tomcat

+5

'sudo chmod -R 777/var/lib/tomcat7/webapps' – vanguard69