Dimensione: 12239
Commento:
|
Dimensione: 12139
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 21: | Linea 21: |
Procediamo con l'installazione di '''Tomcat'''. | Installazione di '''Tomcat'''. |
Linea 25: | Linea 25: |
Attiviamo i repository '''Universe''' e '''Multiverse''' di Ubuntu. Per maggiori informazioni consultare la pagina [:Repository]. 0. Installamio per prima cosa, se già non lo avete fatto il '''Java jre '''e''' jdk''': {{{ |
Attivare i repository '''Universe''' e '''Multiverse''' di Ubuntu. Per maggiori informazioni si consulti la pagina [:Repository]. 0. Installare per prima cosa, se già non lo si è fatto, i pacchetti ''Java jre'' e ''jdk'': {{{ |
Linea 29: | Linea 29: |
}}} se invece volete installare l'ultimissima versione di '''Java''', la '''1.6''': {{{ | }}} se invece si vuole installare l'ultimissima versione di '''Java''', la '''1.6''': {{{ |
Linea 33: | Linea 33: |
0. Scarichiamo dal sito ''http://tomcat.apache.org/'' l'ultima versione di '''Tomcat''', la '''6''' al momento in cui sto scrivendo: {{{ | 0. Scaricare dal sito ''http://tomcat.apache.org/'' l'ultima versione di '''Tomcat''', la '''6''' al momento in cui sta scrivendo: {{{ |
Linea 37: | Linea 37: |
0. Estraiamo l'archivio: {{{ | 0. Estrarre l'archivio: {{{ |
Linea 41: | Linea 41: |
0. Copiamo in ''/usr/local'' la directory estratta e poi creiamo un link simbolico ''/usr/local/tomcat'' , per un triplice motivo, ''praticità'', ''manutenibilità'' e ''comodità'' se si desidera installare più versioni (basta cambiare il riferimento al link simbolico). Procediamo: {{{ | 0. Copiare in `/usr/local` la directory estratta e poi creare un link simbolico `/usr/local/tomcat`. Questo per un triplice motivo: ''praticità'', ''manutenibilità'' e ''comodità''. Se si desidera installare più versioni basterà cambiare il riferimento al link simbolico. {{{ |
Linea 46: | Linea 46: |
0. Creiamo uno script per `init.d` per far si che il demone di Tomcat venga attivato all'avvio o comunque darci la possibilità di avviarlo, arrestarlo, riavviarlo: 0. creiamo il file `/etc/init.d/tomcat` con l'[:EditorDiTesto:editor di testo preferito] e copiamo quanto segue: {{{ |
0. Creare uno script per `init.d` per far si che il demone di '''Tomcat''' venga attivato all'avvio o comunque dia la possibilità di avviarlo, arrestarlo, riavviarlo: 0. crare il file `/etc/init.d/tomcat` con l'[:EditorDiTesto:editor di testo preferito] e copiare quanto segue: {{{ |
Linea 94: | Linea 94: |
0. A questo punto, se tutto è andato per il verso giusto, connettendoci all'indirizzo [http://localhost:8080] dovremmo vedere la pagina di benvenuto di '''Tomcat'''. | 0. A questo punto, se tutto è andato per il verso giusto, puntando all'indirizzo [http://localhost:8080] si dovrebbe avere la pagina di benvenuto di '''Tomcat'''. |
Linea 102: | Linea 102: |
Ovviamente si presume che abbiate '''Apache2''' già installato. 0. Installiamo il ''connector'': {{{ sudo apt-get isntall libapache2-mod-jk }}} 0. Creiamo il file `/etc/apache2/workers.properties` con l'[:EditorDiTesto:editor di testo] preferito e copiamo quanto segue: {{{ |
Si presume che abbia '''Apache2''' già installato. 0. Installare il ''connector'': {{{ sudo apt-get install libapache2-mod-jk }}} 0. Creare il file `/etc/apache2/workers.properties` con l'[:EditorDiTesto:editor di testo] preferito e copiare quanto segue: {{{ |
Linea 116: | Linea 116: |
}}} Con '''port=8009''' si intende la porta con la quale '''Tomcat''' ascolta il ''connector'', non http che è '''8080'''. 0. Modifichiamo il file `/etc/apache2/mods-available/jk.load` e inseriamo, dopo la riga «`!LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so`», quanto segue: {{{ |
}}} Con `port=8009` si intende la porta con la quale '''Tomcat''' ascolta il ''connector'', non http che è '''8080'''. 0. Modificare il file `/etc/apache2/mods-available/jk.load` e inserire, dopo la riga `!LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so`, quanto segue: {{{ |
Linea 126: | Linea 126: |
0. Riavviamo Apache: {{{ | 0. Riavviare Apache: {{{ |
Linea 130: | Linea 130: |
Se tutto è andato per il verso giusto, connettendoci all'indirizzo [http://localhost/examples], dovremmo vedere la pagina con i '''JSP''' e i '''Java Servlet''' d'esempio. | Se tutto è andato per il verso giusto, puntando all'indirizzo [http://localhost/examples], si dovrebbe vedere la pagina con i '''JSP''' e i '''Java Servlet''' d'esempio. |
Linea 136: | Linea 136: |
In `/etc/apache2/workers.properties` la direttiva «''!JkMount''» non fa altro che redirigere a '''Tomcat''' tutte le richieste ''http'' precedute da ''/examples/'', per esempio ''http:/localhost/exampler/unesempio.jsb'' , in questo caso `unesempio.jsp` verrà processato da '''Tomcat''' invece che da '''Apache'''. Dunque, se vogliamo aggiungere altre direcotory per richiamare le nostre applicazioni basta inserire altri «''!JkMount''» in `/etc/apache2/mods-available/jk.load`: {{{ |
In `/etc/apache2/workers.properties` la direttiva `!JkMount` non fa altro che redirigere a '''Tomcat''' tutte le richieste ''http'' precedute da ''/examples/'' (per esempio ''http:/localhost/exampler/unesempio.jsb''), in questo caso `unesempio.jsp` verrà processato da '''Tomcat''' invece che da '''Apache'''. Dunque, se si vogliono aggiungere altre direcotory per richiamare le nostre applicazioni basta inserire altri `!JkMount` in `/etc/apache2/mods-available/jk.load`: {{{ |
Linea 144: | Linea 144: |
È importante osservare che '''<nomedirectory>''' deve essere contenuta all'interno della directory {{{/usr/local/tomcat/webapps}}}, questo perchè come avete potuto notare in {{{/etc/apache2/workers.properties}}} abbiamo settato il ''path'' della home di '''Tomcat''' in {{{/usr/local/tomcat}}}, dunque la direttiva '''!JkMount''' effettuerà la sua ricerca a partire da li. Se invece vogliamo che le nostre applicazioni siano salvate e sviluppate in una directory nella nostra home, oppure nella ''root'' del nostro ''Web Server'', basta creare un collegamento simbolico che dalla directory dichiarata in «''!JkMount''» punti a una directory o nella nostra home o nella ''root'' del ''Web Server'' o in qualsiasi posto noi volessimo salvare i nostri progetti '''Servlet/JSP'''. Per esempio, se vogliamo che «''!JkMount /<nomedirectory>/''» punti a `/home/nomeutente/nostreapplicazioni/<nomedirectory>`, procederemo come segue: {{{ |
È importante osservare che `<nomedirectory>` deve essere contenuta all'interno della directory `/usr/local/tomcat/webapps`, questo perchè come avete potuto notare in `/etc/apache2/workers.properties` abbiamo settato il ''path'' della home di '''Tomcat''' in {{{/usr/local/tomcat}}}, dunque la direttiva `!JkMount` effettuerà la sua ricerca a partire da li. Se invece vogliamo che le nostre applicazioni siano salvate e sviluppate in una directory nella nostra `home`, oppure nella `root` del nostro ''Web Server'', basta creare un collegamento simbolico che dalla directory dichiarata in `!JkMount` punti a una directory o nella nostra home o nella ''root'' del ''Web Server'' o in qualsiasi posto noi volessimo salvare i nostri progetti '''Servlet/JSP'''. Per esempio, se vogliamo che `!JkMount /<nomedirectory>/` punti a `/home/nomeutente/nostreapplicazioni/<nomedirectory>`, procederemo come segue: {{{ |
Linea 161: | Linea 161: |
0. Apriamo il file `/usr/share/tomcat/conf/tomcat-users.xml` con l'[:EditorDiTesto:edito di testo] che preferiamo e aggiungiamo l'utente/i con i ruoli di ''admin'' e ''manager''. Per creare i ruoli inseriamo tra i tag «`<tomcat-users> ... </tomcat-users>`»: {{{ | 0. Aprire il file `/usr/share/tomcat/conf/tomcat-users.xml` con l'[:EditorDiTesto:edito di testo] che preferiamo e aggiungiamo l'utente (o gli utenti) con i ruoli di ''admin'' e ''manager''. Per creare i ruoli inseriamo tra i tag «`<tomcat-users> ... </tomcat-users>`»: {{{ |
Linea 172: | Linea 172: |
Per approfondimenti sulla creazioni di altri ruoli vi rimando alla documentazione ufficiale: [http://tomcat.apache.org/tomcat-6.0-doc/index.html]. | Per approfondimenti sulla creazioni di altri ruoli si rimanda alla [http://tomcat.apache.org/tomcat-6.0-doc/index.html documentazione ufficiale]. |
Linea 234: | Linea 234: |
CategoryServer CategoryDaRevisionare | CategoryServer |
IndiceBRTableOfContents |
Introduzione
Apache Tomcat è un Servlet/JSP engine che non fa altro che contenere ed eseguire le applicazioni Java Servlet e Java Server Page (JSP).
Non è l'unico Application Server per Servlet/JSP in circolazione, ma di sicuro è libero ed è il contenitore di servlet utilizzato nell'implementazione ufficiale di riferimento per il Java Servlet e le tecnologie Java Server Page sviluppate dalla Sun Microsystems.
Questa guida servirà ad installare Apache Tomcat utilizzando i binari ufficiali prelevabili dal sito di Tomcat e non utilizzando i pacchetti precompilati di Ubuntu prelevabili dal [:Repository:repository] Universe.
Il tutto per un duplice motivo:
i pacchetti di Ubuntu non sono sincronizzati con l'ultima release disponibile;
richiedono dipendenze, spesso eccessive e non necessariamente utili, come ad esempio l'installazione delle librerie ligcj e sue dipendenze, che risulterebbero ridondanti visto già la presenza, o che comunque andremo ad installare, di Java JRE e JDK della Sun.
Tomcat 6
Installazione di Tomcat.
Installazione
Attivare i repository Universe e Multiverse di Ubuntu. Per maggiori informazioni si consulti la pagina [:Repository].
Installare per prima cosa, se già non lo si è fatto, i pacchetti Java jre e jdk:
sudo apt-get install sun-java5-jre sun-java5-jdk
se invece si vuole installare l'ultimissima versione di Java, la 1.6:
sudo apt-get install sun-java6-jre sun-java6-jdk
Scaricare dal sito http://tomcat.apache.org/ l'ultima versione di Tomcat, la 6 al momento in cui sta scrivendo:
wget http://mirrors.publicshout.org/apache/tomcat/tomcat-6/v6.0.7/bin/apache-tomcat-6.0.7.tar.gz
Estrarre l'archivio:
tar xzfv apache-tomcat-6.0.7.tar.gz
Copiare in /usr/local la directory estratta e poi creare un link simbolico /usr/local/tomcat. Questo per un triplice motivo: praticità, manutenibilità e comodità. Se si desidera installare più versioni basterà cambiare il riferimento al link simbolico.
sudo cp -r apache-tomcat-6.0.7 /usr/local/ sudo ln -s /usr/local/apache-tomcat-6.0.7/ /usr/local/tomcat
Creare uno script per init.d per far si che il demone di Tomcat venga attivato all'avvio o comunque dia la possibilità di avviarlo, arrestarlo, riavviarlo:
crare il file /etc/init.d/tomcat con l'[:EditorDiTesto:editor di testo preferito] e copiare quanto segue:
# # Startup script for the Tomcat server # # chkconfig: - 83 53 # description: Starts and stops the Tomcat daemon. # processname: tomcat # pidfile: /var/run/tomcat.pid # See how we were called. case $1 in start) export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/ export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/ echo "Tomcat is started" sh /usr/local/tomcat/bin/startup.sh ;; stop) export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/ sh /usr/local/tomcat/bin/shutdown.sh echo "Tomcat is stopped" ;; restart) export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/ sh /usr/local/tomcat/bin/shutdown.sh echo "Tomcat is stopped" sh /usr/local/tomcat/bin/startup.sh echo "Tomcat is started" ;; *) echo "Usage: /etc/init.d/tomcat start|stop|restart" ;; esac exit 0
Diamogli i giusti permessi, rendiamolo eseguibile e registriamolo:
sudo chmod 755 /etc/init.d/tomcat sudo update-rc.d tomcat defaults
Avviamo Tomcat:
sudo /etc/init.d/tomcat start
A questo punto, se tutto è andato per il verso giusto, puntando all'indirizzo [http://localhost:8080] si dovrebbe avere la pagina di benvenuto di Tomcat.
Apache e Tomcat
Tomcat è abbastanza performante per essere eseguito come Web Server di pagine statiche o dinamiche, o come Web Application Server. Tuttavia se si vogliono sfruttare anche le innumerevoli potenzialità di un vero e proprio Web Server come Apache, soprattutto se lo si usa in macchine in produzione, esiste un connector che permette di mettere in comunicazione Apache con Tomcat facendolo richiamare da Apache solo quando serve.
Installazione del jk connector
Si presume che abbia Apache2 già installato.
Installare il connector:
sudo apt-get install libapache2-mod-jk
Creare il file /etc/apache2/workers.properties con l'[:EditorDiTesto:editor di testo] preferito e copiare quanto segue:
workers.tomcat_home=/usr/local/tomcat workers.java_home=/usr/lib/jvm/java-1.5.0-sun ps=/ worker.list=ajp13 worker.ajp13.host=localhost worker.ajp13.port=8009 worker.ajp13.type=ajp13
Con port=8009 si intende la porta con la quale Tomcat ascolta il connector, non http che è 8080.
Modificare il file /etc/apache2/mods-available/jk.load e inserire, dopo la riga !LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so, quanto segue:
JkWorkersFile /etc/apache2/workers.properties JkLogFile /etc/apache2/mod_jk.log JkLogLevel debug #JkMount /servlets-examples/* ajp13 #da decommentare se si usa tomcat 5.x; JkMount /examples/* ajp13
Riavviare Apache:
sudo /etc/init.d/apache2 restart
Se tutto è andato per il verso giusto, puntando all'indirizzo [http://localhost/examples], si dovrebbe vedere la pagina con i JSP e i Java Servlet d'esempio.
Osservazioni e approfondimenti
Connector: aggiungere altre directory web
In /etc/apache2/workers.properties la direttiva !JkMount non fa altro che redirigere a Tomcat tutte le richieste http precedute da /examples/ (per esempio http:/localhost/exampler/unesempio.jsb), in questo caso unesempio.jsp verrà processato da Tomcat invece che da Apache.
Dunque, se si vogliono aggiungere altre direcotory per richiamare le nostre applicazioni basta inserire altri !JkMount in /etc/apache2/mods-available/jk.load:
..... JkMount /examples/* ajp13 JkMount /<nomedirectory>/* ajp13
È importante osservare che <nomedirectory> deve essere contenuta all'interno della directory /usr/local/tomcat/webapps, questo perchè come avete potuto notare in /etc/apache2/workers.properties abbiamo settato il path della home di Tomcat in /usr/local/tomcat, dunque la direttiva !JkMount effettuerà la sua ricerca a partire da li.
Se invece vogliamo che le nostre applicazioni siano salvate e sviluppate in una directory nella nostra home, oppure nella root del nostro Web Server, basta creare un collegamento simbolico che dalla directory dichiarata in !JkMount punti a una directory o nella nostra home o nella root del Web Server o in qualsiasi posto noi volessimo salvare i nostri progetti Servlet/JSP.
Per esempio, se vogliamo che !JkMount /<nomedirectory>/ punti a /home/nomeutente/nostreapplicazioni/<nomedirectory>, procederemo come segue:
mkdir /home/nomeutente/nostreapplicazioni/<nomedirectory> sudo ln -s /home/nomeutente/nostreapplicazioni/<nomedirectory>/ /usr/local/tomcat/webapps/<nomedirectorydichiaratainJkMount> sudo /etc/init.d/apache2 restart sudo /etc/init.d/tomcat restart
Ora basterà inserire o creare le nostre applicazioni in /home/nomeutente/nostreapplicazioni/<nomedirectory> e puntando col nostro browser a [http://localhost/<nomedirectorydichiaratainJkMount>/applicazione.jsp] i nostri lavori verranno processati da Tomcat.
Amministrare Tomcat
Per amministrare Tomcat è necessario attivare Tomcat Manager. Per farlo basta seguire questi semplici passi:
Aprire il file /usr/share/tomcat/conf/tomcat-users.xml con l'[:EditorDiTesto:edito di testo] che preferiamo e aggiungiamo l'utente (o gli utenti) con i ruoli di admin e manager. Per creare i ruoli inseriamo tra i tag «<tomcat-users> ... </tomcat-users>»:
<role rolename="manager"/> <role rolename="admin"/>
mentre per creare l'utente con i ruoli di admin e manager, inseriamo:
<user username="YOUR USERNAME " password="YOUR PASSWORD" roles="admin,manager"/>
Se volessimo dare all'utente un unico ruolo, come admin, basta inserirne solo uno:
<user username="YOUR USERNAME " password="YOUR PASSWORD" roles="admin"/>
Connettiamoci all'indirizzo [http://localhost:8080/manager/html] e accediamo al pannello di controllo di Tomcat Manager con le credenziali appena create.
Per approfondimenti sulla creazioni di altri ruoli si rimanda alla [http://tomcat.apache.org/tomcat-6.0-doc/index.html documentazione ufficiale].
Tomcat 5.x
La procedura di installazione di Tomcat appena descritta vale per la versione 6, ma, per le versioni precendenti, il metodo e l'approccio non cambiano, basta avere l'accortezza di adeguare alcuni path nei file di configurazione, visto che le direcotory delle versioni precedenti sono organizzate e nominate diversamente dalla versione 6.
Ecco nel dettaglio come procedere:
Ridefinire il collegamento simbolico /usr/local/tomcat facendolo puntare a /usr/local/apache-tomcat-5.5.20 (o comunque alla versione scelta):
sudo ln -s /usr/local/apache-tomcat-5.5.20 /usr/local/tomcat
se non è una nuova installazione e avevate già definito il collegamento simbolico, prima di crearlo è necessario rimuoverlo:
sudo rm /usr/local/tomcat
Nel file /etc/init.d/tomcat modificare i CLASSPATH da:
export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar
in:
export CLASSPATH=/usr/local/tomcat/conf/lib/servlet-api.jar export CLASSPATH=/usr/local/tomcat/conf/lib/jsp-api.jar
La differenza sta che lib/ nelle versioni precedenti è una sotto directory di conf/.
Nel file /etc/apache2/mods-available/jk.load sostituiamo:
JkMount /examples/* ajp13
con:
JkMount /servlets-examples/* ajp13
Questo perchè gli esempi non si trovano in examples/ come nella versione 6, ma in servlets-examples/.
Java JRE e JDK 1.6
Nel caso in cui avvessimo scelto di installare l'ultima versione della Java Virtual Machine e relativo JDK, basta sostiture in tutti i file di configurazione ogni occorrenza di:
/usr/lib/jvm/java-1.5.0-sun
con:
/usr/lib/jvm/java-1.6.0-sun
Installazione del pacchetto Ubuntu
Ad ogni modo se vogliamo installare le versioni precompilate per Ubuntu presenti nei repository Universe, indipendentemente dalle dipendenze che si tirerà dietro, basta semplicemente fare come segue:
Installiamo:
sudo apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
Avviamo Tomcat:
sudo /etc/init.d/tomcat5 start
Connettiamoci al server usando la porta 8180 e non 8080 :
http://localhost:8180
Per configurare connector e Apache basta seguire quanto descritto in precedenza.
Ulteriori riorse
[http://tomcat.apache.org/index.html Sito ufficiale]
[http://tomcat.apache.org/tomcat-5.6-doc/index.html Documentazione ufficiale Tomcat 5.5]
[http://tomcat.apache.org/tomcat-6.0-doc/index.html Documentazione ufficiale Tomcat 6.0]