Tomcat è il contenitore di servlet che viene utilizzato nell'Implementazione ufficiale di Riferimento per il Java Servlet e le tecnologie JavaServer Page. Le specifiche Java Servlet e JavaServer Page sono sviluppate da Sun sotto il Java Community Process. | ||
--jakarta.apache.org |
Dal punto di vista degli autori:
Tomcat è il successore di jserv il quale non viene più sviluppato da tempo. Tomcat supporta le ultime API jsp e servlet definite da Sun. Sfortunatamente Tomcat è molto difficile da compilare dal sorgente, poiché utilizza un proprio sistema di compilazione chiamato "ant". Inoltre c'è una lista molto lunga di prerequisiti nel caso si voglia compilare dal sorgente. Si veda http://jakarta.apache.org/tomcat/tomcat-4.0-doc/BUILDING.txt per maggiori dettagli - Buona fortuna e inviate qualche indicazione all'autore.
Nel frattempo l'HOWTO fornisce qualche supporto di base per Tomcat installato dai binari.
L'autore è in cerca di qualche volontario che provi a compilare Tomcat dai sorgenti e dica quali passi sono necessari
Per favore si veda java.sun.com
È troppo per questo HOWTO, per favore si veda http://java.sun.com/j2se/1.3/docs/relnotes/features.html
Si vada a http://java.sun.com/j2se/1.3/ [1]si scelga la propria piattaforma e si seguano i passi indicati sul sito.
Eseguire il binario:
chmod +x j2sdk-1_3_1_02-linux-i386.bin ./j2sdk-1_3_1_02-linux-i386.bin |
Dopo aver accettato la licenza, spacchettare il materiale, spostare la directory risultante in /usr/lib e creare un link simbolico appropriato
Sito di origine: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-4.1.18-src.tar.gz
cd /usr/local tar -xvzf jakarta-tomcat-4.1.8.tar.gz cd jakarta-tomcat-4.1.8 cd bin rm *.bat echo export JAVA_HOME=/usr/lib/java/ >> /etc/profile . /etc/profile |
Per attivare il manager di Tomcat, è necessario modificare /usr/local/jakarta-tomcat-4.1.8/conf/tomcat-users.xml aggiugendo un utente »admin« o con il ruolo »manager«. Il risultato dovrebbe essere qualcosa tipo questo:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <role rolename="tomcat"/> <role rolename="role1"/> <user username="admin" password="secret" roles="manager"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="both" password="tomcat" roles="tomcat,role1"/> </tomcat-users> |
Ora dovrebbe essere possibile lanciare tomcat:
/usr/local/apache/jakarta-tomcat-4.1.8/bin/startup.sh |
Dovrebbe essere possibile connettersi a: http://localhost:8080/index.jsp
Se si vuole avere una interfaccia nativa nel proprio Server Web Apache, è necessario compilare mod_jk il quale deve essere scaricato separatamente da qui: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz.
tar -xvzf jakarta-tomcat-connectors-4.1.18-src.tar.gz cd jakarta-tomcat-connectors-4.1.18-src/jk/native ./buildconf ./configure --with-apxs=/usr/local/apache/bin/apxs make make install |
Ora segue la parte noiosa, la personalizzazione dei file di configurazione. Prima si modifichi /usr/local/jakarta-tomcat-connectors-4.1.18-src/jk/conf/workers.properties, e si copi il file in /usr/local/apache/conf
Ho creato un workers.properties di esempio che funziona con le JSP e i servlet di prova che vengono forniti con la distribuzione di Tomcat. Si basa sul workers.properties di esempio di Tomcat
Esempio 8. workers.properties
workers.tomcat_home=/usr/local/jakarta-tomcat-4.1.18 # workers.java_home deve puntare alla cartella della propria installazione di Java. Normalmente # in essa si dovrebbero avere le directory bin e lib. # workers.java_home=/usr/lib/java2 # Si dovrebbe configurare il proprio separatore di ambiente... ps=\ su NT e / su UNIX # e potrebbe essere differente in altri ambienti. # ps=/ # Gli operatori che dovrebbero creare e lavorare con i vostri plugin # worker.list=worker1 #------ DEFINIZIONE DELL'OPERATORE DEFAULT ajp13 ------------------------------ #--------------------------------------------------------------------- # Definizione di un operatore chiamato ajp13 e di tipo ajp13 # Si noti che il nome e il tipo non devono coincindere. # worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 #------ DEFINIZIONE CLASSPATH ----------------------------------------- #--------------------------------------------------------------------- # Componenti class path addizionali. # worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar # La JVM che abbiamo in uso # # Unix - Sun VM o blackdown worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so # Impostazione della posizione di stdout e stderr di tomcat # worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr |
Di seguito, è necessario configurare il proprio file httpd.conf. Il seguente esempio coincide con quelli forniti da Tomcat.
LoadModule jk_module libexec/mod_jk.so AddModule mod_jk.c JkWorkersFile /usr/local/apache/conf/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /examples/servlet/* worker1 JkMount /examples/*.jsp worker1 |
Dopo il riavvio di Apache, dovrebbe essere possibile connettersi alle proprie pagine JSP tramite Apache. Ad es.: http://localhost/examples/jsp/num/numguess.jsp
Per gli ulteriori passi, come l'installazione dei propri servlet e file jsp, sta a voi stessi...
Variabili d'ambiente | |
---|---|
Se Tomcat non si avvia e/o le proprie servlet non possono essere avviate, l'errore più comune è non avere tutte le classi necessarie nella variabile CLASSPATH. |
[1] | C'è anche disponibile la versione 1.4.1 di Java, ma Tomcat sembra non girare con questa. |