3 581
contributi
Nessun oggetto della modifica |
(da adottare) |
||
(41 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Guida da adottare}}{{Versioni compatibili | Squeeze}} | ||
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/> | |||
È 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/> | |||
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]. | |||
== Installazione == | |||
Bisogna ricordare innanzitutto che Tomcat è basato sulla tecnologia Java quindi per installarlo si dovrà procedere in due passi: | |||
* installazione di un ambiente di sviluppo Java sul proprio Debian, procurandosi un JDK (Java Development Kit); | |||
* installazione del web server Tomcat. | |||
=Installazione= | === Installazione del JDK === | ||
Java è una creazione della Sun Microsystems e può essere reso disponibile sul proprio Debian: | |||
* utilizzando la versione libera openjdk; | |||
* facendo ricorso al pacchetto della Sun. | |||
Percorreremo la seconda via ma, per fare ciò, sarà necessario apportare delle modifiche al file <code>/etc/apt/sources.list</code>. | |||
Tramite il comando: | |||
<pre> | <pre> | ||
# apt | # vi /etc/apt/sources.list | ||
</pre> | </pre> | ||
potremo apportare la necessaria modifica che consisterà nell'aggiunta delle seguenti righe: | |||
<pre> | <pre> | ||
deb http://ftp.debian.org/debian/ squeeze main contrib non-free | |||
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free | |||
</pre> | </pre> | ||
Subito dopo potremo procedere all'aggiornamento dei pacchetti disponibili con: | |||
<pre> | |||
# aptitude update | |||
</pre> | |||
Al termine dell'operazione, vedremo tra i pacchetti disponibili, l'ultima versione del JDK della Sun.<br/>Attualmente '''sun-java6-jdk''', il kit di sviluppo per la versione 1.6 del linguaggio Java.<br/>Al termine dell'installazione, durante la quale sarà necessario accettare i termini di licenza, si potrà averne la prova della riuscita: | |||
* controllando se è disponibile la Java Virtual Machine digitando: | |||
<pre> | |||
# java | |||
</pre> | |||
e verificando che venga restituito la descrizione della modalità di uso del comando; | |||
* verificando la versione del linguaggio Java disponibile con: | |||
<pre> | |||
# java -version | |||
</pre> | |||
e ricevendo di risposta poche righe attestanti la versione java installata che ovviamente dovrebbe corrispondere a quella del pacchetto richiesto. Ad esempio, sun-java6-jdk installa java 1.6. | |||
= | === Installazione di Tomcat === | ||
Una volta ottenuto il JDK, si è pronti ad installare Tomcat.<br/> | |||
Tramite il comando: | |||
<pre> | |||
# aptitude search tomcat | |||
</pre> | |||
Si possono vedere le versioni di Tomcat disponibili.<br/> | |||
Se, ad esempio, si ottiene il seguente output: | |||
<pre> | |||
p libtomcat6-java | |||
p tomcat6 | |||
p tomcat6-admin | |||
p tomcat6-common | |||
p tomcat6-docs | |||
p tomcat6-examples | |||
p tomcat6-user | |||
</pre> | |||
Si potrebbe iniziare installando i pacchetti <code>tomcat6</code> e <code>tomcat6-admin</code> per l'amministrazione. | |||
<pre> | |||
# aptitude install tomcat6 tomcat6-admin | |||
</pre> | |||
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: | |||
<pre> | |||
http://192.168.1.100:8080 | |||
</pre> | |||
In caso di corretto funzionamento del server (che dovrebbe essere già attivato) si otterrà la classica pagina di risposta in stile Apache Foundation "It works!". | |||
== 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/ | ; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat6/'' | ||
; logs : contiene tutti i log delle varie istanze di | ; logs : contiene tutti i log delle varie istanze di Tomcat. È un link alla directory ''/var/log/tomcat6'' | ||
; shared : | ; shared : | ||
; temp : | ; temp : | ||
; webapps : directory contenente le | ; webapps : cartella contenente le applicazioni web che realizzeremo. | ||
; | ; work : link a ''/var/cache/tomcat6'' | ||
[[Categoria: | |||
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:Java]] |
contributi