3 581
contributi
(da adottare) |
|||
(21 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Guida da adottare}}{{Versioni compatibili | Squeeze}} | ||
== Cos'è Tomcat ? == | == Cos'è Tomcat ? == | ||
Tomcat è un web server dotato di un servlet container. Ciò lo rende in grado di rendere disponibili non solo pagine web tramite il protocollo HTTP ma di eseguire Java Servlet e tutte le tecnologie web su di esse basate quindi pagine JSP ma anche importanti framework come Spring.<br/> | Tomcat è un web server dotato di un servlet container. Ciò lo rende in grado di rendere disponibili non solo pagine web tramite il protocollo HTTP ma di eseguire Java Servlet e tutte le tecnologie web su di esse basate quindi pagine JSP ma anche importanti framework come Spring.<br/> | ||
È importante conoscerlo | È importante conoscerlo perché rappresenta un ottimo modo, opensource, per praticare la programmazione web in Java, nei casi in cui non sia indispensabile utilizzare un vero application server.<br/> | ||
Tuttavia molti progetti molto delicati sotto ospitati su Tomcat.<br/> | Tuttavia molti progetti molto delicati sotto ospitati su Tomcat.<br/> | ||
Infine, da ricordare che si tratta di un progetto sviluppato dalla [http://www.apache.org Apache Foundation] ed è tuttora opensource e progredisce grazie alla libera collaborazione di ottimi programmatori di tutto il mondo.<br/>Attualmente è distribuito sotto la [http://www.apache.org/licenses Apache License versione 2]. | Infine, da ricordare che si tratta di un progetto sviluppato dalla [http://www.apache.org Apache Foundation] ed è tuttora opensource e progredisce grazie alla libera collaborazione di ottimi programmatori di tutto il mondo.<br/>Attualmente è distribuito sotto la [http://www.apache.org/licenses Apache License versione 2]. | ||
Riga 15: | Riga 15: | ||
* utilizzando la versione libera openjdk; | * utilizzando la versione libera openjdk; | ||
* facendo ricorso al pacchetto della Sun. | * facendo ricorso al pacchetto della Sun. | ||
Percorreremo la seconda via ma, per fare ciò, sarà necessario apportare delle modifiche al file /etc/apt/sources.list. | Percorreremo la seconda via ma, per fare ciò, sarà necessario apportare delle modifiche al file <code>/etc/apt/sources.list</code>. | ||
Tramite il comando: | Tramite il comando: | ||
<pre> | <pre> | ||
Riga 47: | Riga 47: | ||
# aptitude search tomcat | # aptitude search tomcat | ||
</pre> | </pre> | ||
Si possono vedere le versioni di | Si possono vedere le versioni di Tomcat disponibili.<br/> | ||
Se, ad esempio, si ottiene il seguente output: | Se, ad esempio, si ottiene il seguente output: | ||
<pre> | <pre> | ||
Riga 58: | Riga 58: | ||
p tomcat6-user | p tomcat6-user | ||
</pre> | </pre> | ||
Si potrebbe iniziare installando i pacchetti tomcat6 e tomcat6-admin per l'amministrazione. | Si potrebbe iniziare installando i pacchetti <code>tomcat6</code> e <code>tomcat6-admin</code> per l'amministrazione. | ||
<pre> | <pre> | ||
# aptitude install tomcat6 tomcat6-admin | # aptitude install tomcat6 tomcat6-admin | ||
</pre> | </pre> | ||
Una volta terminata l'installazione del server, per provarlo sarà sufficiente aprire il browser e richiedere l'indirizzo | Una volta terminata l'installazione del server, per provarlo sarà sufficiente aprire il browser e richiedere l'indirizzo IP della macchina '''alla porta 8080'''.<br/> | ||
Ad esempio, se l'indirizzo IP della macchina con il server Tomcat è 192.168.1.100, si dovrà testare Tomcat contattando: | Ad esempio, se l'indirizzo IP della macchina con il server Tomcat è 192.168.1.100, si dovrà testare Tomcat contattando: | ||
<pre> | <pre> | ||
Riga 70: | Riga 70: | ||
== Struttura dell'installazione == | == Struttura dell'installazione == | ||
L'installazione viene localizzata per lo più nella cartella '''/var/lib/tomcat6''' (nell'esempio attuale abbiamo installato questa versione di Tomcat).<br/> | |||
All'interno, troviamo: | |||
; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat6/'' | |||
; logs : contiene tutti i log delle varie istanze di Tomcat. È un link alla directory ''/var/log/tomcat6'' | |||
; conf : contenente i file di configurazione del server, è un link a ''/etc/ | |||
; logs : contiene tutti i log delle varie istanze di | |||
; shared : | ; shared : | ||
; temp : | ; temp : | ||
; webapps : directory contenente le | ; webapps : cartella contenente le applicazioni web che realizzeremo. | ||
; | ; work : link a ''/var/cache/tomcat6'' | ||
Probabilmente le cartelle a cui metteremo mano particolarmente saranno '''conf''' (<code>/etc/tomcat6</code>) per la fase di configurazione ma soprattutto '''webapps''' per il vero e proprio utilizzo del server. | |||
== Usare Tomcat == | |||
Per fare uso di Tomcat, sarebbe il caso di saper sviluppare (o almeno di avere pronte da installare) delle applicazioni web realizzate in Java e basate più o meno direttamente sulla tecnologia Servlet (Servlets, JSP, Spring).<br/> | |||
Comunque per prima cosa è bene ricordare che Tomcat è un '''web server''' in grado quindi di pubblicare normali pagine web e risorse. | |||
=== Usare Tomcat come Web Server === | |||
Aprendo la cartella <code>webapps</code>, collocate in <code>/var/lib/tomcat6</code> come già detto, vedremo subito una cartella di nome <code>ROOT</code>. Questa cartella è già pronta per la pubblicazione di pagine web.<br/> | |||
Se ad esempio il nostro server risponde all'indirizzo <nowiki>http://192.168.1.100:8080</nowiki>, collocando una pagina HTML in <code>webapps/ROOT</code> tipo una banale <code>hello.html</code>: | |||
<pre> | |||
<html> | |||
<body> | |||
<h1>Hello world!</h1> | |||
<h1>Hello world!</h1> | |||
<h1>Hello world!</h1> | |||
</body> | |||
</html> | |||
</pre> | |||
essa risulterà disponibile all'indirizzo: | |||
<pre> | |||
http://192.168.1.100:8080/hello.html | |||
</pre> | |||
In alternativa, è possibile creare una nuova directory in <code>webapps</code>, ad esempio <code>webapps/hellodir</code>, e mettere all'interno le proprie pagine web.<br/> | |||
Ad esempio, copiando '''il solo file HTML''' <code>webapps/ROOT/hello.html</code>, realizzato prima, in <code>webapps/hellodir</code>, lo si potrà trovare all'indirizzo: | |||
<pre> | |||
http://192.168.1.100:8080/hellodir/hello.html | |||
</pre> | |||
Utilizzare sottodirectory di <code>webapps</code>, diverse da <code>ROOT</code>, può risultare comodo per usare Tomcat con diversi utenti, assegnando una sottodirectory di <code>webapps</code> ad ogni applicazione su cui lavorare. | |||
=== Usare Tomcat come contenitore per servlet === | |||
Oltre all'uso che si può fare di Tomcat come semplice web server, c'è quello più importante e per cui Tomcat è conosciuto nel mondo che è quello di contenitore di servlet.<br> | |||
Per prima cosa è necessario sapere che un'applicazione web in Java ha una struttura ben precisa. All'interno del context, ossia la sottocartella di <code>webapps</code> che la conterrà, si deve avere una cartella denominata <code>WEB-INF</code>, al cui interno, ci saranno: | |||
* classes: cartella contenente le classi compilate che costituiranno l'applicazione; | |||
* lib: cartella contenente le librerie (solitamente archivi jar) di cui si servirà l'applicazione; | |||
* web.xml: file in XML che contiene la configurazione dell'applicazione; | |||
* altre cartelle. | |||
Da tenere ben presente che il classpath dell'applicazione web sarà il contenuto di <code>classes</code> e di <code>lib</code>. | |||
=== Configurare un amministratore in Tomcat === | |||
Considerato che in una sezione precedente è stato consigliato di installare anche il pacchetto <code>tomcat6-admin</code> è bene sottolineare che per poter utilizzare l'amministrazione del server, ad esempio per eseguire il deploy di un'applicazione web, è necessario inserire almeno un utente con ruolo admin.<br> | |||
Si fa così: | |||
* aprire con un editor il file <code>/etc/tomcat6/tomcat-users.xml</code>; | |||
* all'interno del nodo XML <tomcat-users> si troveranno diverse righe commentate che illustrano come inserire utenti, aggiungere una riga del tipo <user username="..." password="...." roles="admin,manager"/> sostituendo con username e password scelti i puntini riportati tra virgolette. Notare che la password va scritta in chiaro; | |||
* riavviare tomcat con: <pre># /etc/init.d/tomcat6 restart</pre> | |||
{{Autori | |||
| Autore = [[Utente:Turinext|Turinext]] | |||
|Verificata_da = | |||
: [[Utente:Ferdybassi|Ferdybassi]] | |||
|Numero_revisori = | |||
}} | |||
[[Categoria:Web server]] | [[Categoria:Web server]] | ||
[[Categoria:Java]] | [[Categoria:Java]] |
contributi