Installazione Tomcat: differenze tra le versioni

(da adottare)
 
(23 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{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 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/>
È 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 29: Riga 29:
# aptitude update
# aptitude update
</pre>
</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,
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 ===
=== Installazione di Tomcat ===
Tomcat è presente in Debian, è quindi possibile installarlo con un semplice
Una volta ottenuto il JDK, si è pronti ad installare Tomcat.<br/>
Tramite il comando:
<pre>
<pre>
# apt-get install tomcat4
# aptitude search tomcat
</pre>
</pre>
nel caso della versione 4 (presente a partire da woody), mentre per la versione 5 (presente a partire da etch):
Si possono vedere le versioni di Tomcat disponibili.<br/>
Se, ad esempio, si ottiene il seguente output:
<pre>
<pre>
# apt-get install tomcat5
p  libtomcat6-java
p  tomcat6
p  tomcat6-admin
p  tomcat6-common
p  tomcat6-docs
p  tomcat6-examples
p  tomcat6-user
</pre>
</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 ==
== 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).


In particolare troviamo:
All'interno, troviamo:
; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat5/''
; 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/tomcat5''
; 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 varie webapps.  
; webapps : cartella contenente le applicazioni web che realizzeremo.
; work :
; 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]]

Versione attuale delle 10:30, 22 apr 2015

Guida da adottare! Bannermv.png


Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 6 "squeeze"

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.
È 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.
Tuttavia molti progetti molto delicati sotto ospitati su Tomcat.
Infine, da ricordare che si tratta di un progetto sviluppato dalla Apache Foundation ed è tuttora opensource e progredisce grazie alla libera collaborazione di ottimi programmatori di tutto il mondo.
Attualmente è distribuito sotto la 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 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 /etc/apt/sources.list. Tramite il comando:

# vi /etc/apt/sources.list

potremo apportare la necessaria modifica che consisterà nell'aggiunta delle seguenti righe:

deb http://ftp.debian.org/debian/ squeeze main contrib non-free 
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free

Subito dopo potremo procedere all'aggiornamento dei pacchetti disponibili con:

# aptitude update

Al termine dell'operazione, vedremo tra i pacchetti disponibili, l'ultima versione del JDK della Sun.
Attualmente sun-java6-jdk, il kit di sviluppo per la versione 1.6 del linguaggio Java.
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:
# java

e verificando che venga restituito la descrizione della modalità di uso del comando;

  • verificando la versione del linguaggio Java disponibile con:
# java -version

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.
Tramite il comando:

# aptitude search tomcat

Si possono vedere le versioni di Tomcat disponibili.
Se, ad esempio, si ottiene il seguente output:

p   libtomcat6-java
p   tomcat6
p   tomcat6-admin
p   tomcat6-common
p   tomcat6-docs
p   tomcat6-examples
p   tomcat6-user 

Si potrebbe iniziare installando i pacchetti tomcat6 e tomcat6-admin per l'amministrazione.

# aptitude install tomcat6 tomcat6-admin

Una volta terminata l'installazione del server, per provarlo sarà sufficiente aprire il browser e richiedere l'indirizzo IP della macchina alla porta 8080.
Ad esempio, se l'indirizzo IP della macchina con il server Tomcat è 192.168.1.100, si dovrà testare Tomcat contattando:

http://192.168.1.100:8080

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).

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
shared
temp
webapps
cartella contenente le applicazioni web che realizzeremo.
work
link a /var/cache/tomcat6

Probabilmente le cartelle a cui metteremo mano particolarmente saranno conf (/etc/tomcat6) 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).
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 webapps, collocate in /var/lib/tomcat6 come già detto, vedremo subito una cartella di nome ROOT. Questa cartella è già pronta per la pubblicazione di pagine web.
Se ad esempio il nostro server risponde all'indirizzo http://192.168.1.100:8080, collocando una pagina HTML in webapps/ROOT tipo una banale hello.html:


<html> 
 <body> 
   <h1>Hello world!</h1> 
   <h1>Hello world!</h1> 
   <h1>Hello world!</h1>
 </body> 
</html>

essa risulterà disponibile all'indirizzo:

http://192.168.1.100:8080/hello.html

In alternativa, è possibile creare una nuova directory in webapps, ad esempio webapps/hellodir, e mettere all'interno le proprie pagine web.
Ad esempio, copiando il solo file HTML webapps/ROOT/hello.html, realizzato prima, in webapps/hellodir, lo si potrà trovare all'indirizzo:

http://192.168.1.100:8080/hellodir/hello.html

Utilizzare sottodirectory di webapps, diverse da ROOT, può risultare comodo per usare Tomcat con diversi utenti, assegnando una sottodirectory di webapps 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.
Per prima cosa è necessario sapere che un'applicazione web in Java ha una struttura ben precisa. All'interno del context, ossia la sottocartella di webapps che la conterrà, si deve avere una cartella denominata WEB-INF, 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 classes e di lib.

Configurare un amministratore in Tomcat

Considerato che in una sezione precedente è stato consigliato di installare anche il pacchetto tomcat6-admin è 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.
Si fa così:

  • aprire con un editor il file /etc/tomcat6/tomcat-users.xml;
  • 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:
    # /etc/init.d/tomcat6 restart




Guida scritta da: Turinext   Debianized 40%
Estesa da:
Verificata da:
Ferdybassi

Verificare ed estendere la guida | Cos'è una guida Debianized