Installazione Tomcat: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
da adottare
(corretta gerarchia titoli)
(da adottare)
 
(40 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Guida da adottare}}{{Versioni compatibili | Squeeze}}
Tomcat permette l'esecuzione di pagine .jsp e di servlet. È sviluppato dalla [http://www.apache.org Apache Foundation].
== 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].


__TOC__
== 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 ===
Tomcat è presente in Debian, è quindi possibile installarlo con un semplice
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>
# vi /etc/apt/sources.list
</pre>
potremo apportare la necessaria modifica che consisterà nell'aggiunta delle seguenti righe:
<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>
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>
<pre>
# apt-get install tomcat4
# aptitude install tomcat6 tomcat6-admin
</pre>
</pre>
nel caso della versione 4 (presente a partire da woody), mentre per la versione 5 (presente a partire da etch):
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>
<pre>
# apt-get install tomcat5
http://192.168.1.100:8080
</pre>
</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 ==
== Struttura dell'installazione ==
La struttura dei dati di questo pacchetto è leggermente diversa da quella normale (soprattutto se pensiamo ad apache).
L'installazione viene localizzata per lo più nella cartella '''/var/lib/tomcat6''' (nell'esempio attuale abbiamo installato questa versione di Tomcat).<br/>


La home in cui sono posizionati tutti i file normalmente usati dal server è '''/var/lib/tomcat5''' (o 4).
All'interno, troviamo:
 
; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat6/''
In particolare troviamo:
; 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/tomcat5/''
; logs : contiene tutti i log delle varie istanze di tomcat. È un link alla directory ''/var/log/tomcat5''
; shared :  
; shared :  
; temp :  
; temp :  
; webapps : directory contenente le varie webapps.  
; webapps : cartella contenente le applicazioni web che realizzeremo.
; work :
; work : link a ''/var/cache/tomcat6''
[[Categoria:Da Adottare]]
 
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]]
3 581

contributi

Menu di navigazione