Newsgroup: it.comp.java
Titolo: Tomcat + Apache (Un problema)

Ciao a tutti,
ho il seguente problema, lavoro da un po' con le JSP e mi sono trovato 
sempre bene con Tomcat ma ora mi sorge il problema...dovendo realizzare 
un server proprio...di come collegare Tomcat ad Apache, per poter 
rendere le applicazioni accessibili via web e senza dover aggiungere al 
link del server la porta 8080 dove lavora di default Tomcat.
Ho letto un po' di cose a riguardo ma non ho trovato gran che...qualcuno 
si è trovato mai in una situazione simile? E sa come procedere?!
Grazie in anticipo,
jRed

Ciao, jRed!
Il giorno 04/08/2004 alle ore 17:19 hai scritto:
 j> Ho letto un po' di cose a riguardo ma non ho trovato gran che...qualcuno
 j> si è trovato mai in una situazione simile? E sa come procedere?!
http://jakarta.apache.org/tomcat/connectors-doc/jk2/index.html
Bye
-- 
There is no passion; There is serenity.
http://www.maccasoft.com

 link del server la porta 8080 dove lavora di default Tomcat.
il vantaggio di connettere apache e tomcat nn è la porta 80, quella puoi
configurare nel server.xml di tomcat :D, piuttosto sono le performance e le
features di webserver di apache che nn sono paragonabili a tomcat, in qquel
caso si riduce tomcat a semplice container per sefvlet e jsp delegando il
servizio di risorse statiche ad apache
-- 
Ciao e buon lavoro,
  Renato
---- 
Renato Eschini
   Inera srl
   Via Vespucci 41
   56100 Pisa
   Tel:         (+39) (0)50 2201218
   WWW:         
http://www.inera.it

 
molto interessante...controllo subito la doc (tramite il link del post 
precedente)...e se comunque qualcuno ha qualche consiglio 
sull'installazione mi farebbe veramente un favore! ;-)

io uso apache 2.0.43 con tomcat5.
una volta installato apache (posto che tomcat lo sia già)
1) aggiungere questa riga alla fine del file httpd.conf
LoadModule jk2_module modules/mod_jk2-2.0.43.dll
2) devi definire la documentroot, sempre su httpd.conf, all'indirizzo in cui
stanno le tue applicazioni.
le seguenti righe quindi vanno così definite
DocumentRoot "C:/Programmi/Apache Group/Tomcat 5.0/webapps"
<Directory "C:/Programmi/Apache Group/Tomcat 5.0/webapps">
3) procurati il file mod_jk2-2.0.43.dll (mi pare si trovi sul sito dove c'è
anche tomcat) e mettilo nella cartella modules.
questo file serve per far colloquiare apache e tomcat.
4) nella cartella conf, quella dove c'è anche httpd.conf, crea un file che
si chiami
workers2.properties
il mio contiene più o meno questo
### Start of workers2.properties ###
# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Map the Tomcat examples webapp to the Web server uri space
 [uri:localhost/examples/*]
 info=Map the whole webapp
 worker=ajp13:localhost:8009
# Map the Tomcat datamart webapp to the Web server uri space
 [uri:localhost/datamart/*]
 info=Map the whole webapp
 worker=ajp13:localhost:8009
[shm]
file=${serverRoot}/logs/shm.file
size=1048576
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
### End of workers2.properties ###
se ho ben capito, questo file definisce la porta attraverso cui si
parleranno apache e tomcat (8009), e l'ajp13 credo sia il protocollo usato,
ma probabilmente questa è una cazzata.
l'importante comunque è definire le tue web application, che nel mio caso
sono examples e datamart, e stanno entrambe sotto webapps.
questo mi sembra tutto.
tieni presente che non sono un sistemista, ho dovuto arrangiarmi, e comunque
così funziona.
per fare installazioni più raffinate cii vuole qualcuno che ne sappia più di
mè.
anzi, non è che qualcuno competente ha voglia di scrivere un piccolo
tutorial sull'argomento ?
sarebbe un grosso aiuto per molti di noi.
ciao
dimenticavo, l'unica vera menata  è trovare il mod_jk2 adatto alla tua
versione di apache, con apache 2.0.43 anche il mod_jk2 dovrebbe essere
2.0.43 e così via.
potrebbe funzionare lo stesso anche con versioni differenti (mi pare che con
apache2.0.48 e mod_jk2 2.0.43 funzionasse ugualmente) ma non è detto.

  worker=ajp13:localhost:8009
Apache mi mappa la webapp examples e la rende ragiungibile tramite 
http://localhost/examples
 come faccio a mappare la webapp "ROOT" di 
Tomcat (o comunque un altra webapp) in modo tale da poterla ragiungere 
con 
http://localhost/
 ?
Grazie ancora,
jRed


Avevo quasi risolto ma poi non ha funzionato...io avevo provato a 
mappare l'uri cosi:
  [uri:localhost/*]  //per mappare il contenuto della cartella "ROOT" di 
Tomcat in 
http://localhost/
ma non ci sono riuscito, qualcuno ha qualche idea su come fare!?
Grazie in anticipo,
jRed

se vuoi che a localhost corrisponda la directory ROOT devi mettere nel
documentroot di apache non webapps ma webapps/ROOT, però ovviamente non sei
più in grado (almeno credo) di vedere la directory webapps/examples.
io vedo 2 possibilità
1) te ne freghi della directory ROOT e metti il tuo file index.html
direttamente sotto webapps (è quello che faccio io)
2) usi ROOT come directory in cui sta la tua web application, cioè metti
tutto (ma proprio tutto perchè avrai solo un web.xml) sotto ROOT, definendo
però nel file httpd.conf documentroot e directory .../webapps/ROOT
però , come ti ho detto precedentemente, io non sono un sistemista, e
senz'altro configurando apache in modo adeguato si può risolvere il problema
in maniera più elegante, ma  io purtroppo non ne sò abbastanza


Grazie ancora per la disponibilità e i consigli dati,
per ora proverò una di queste due soluzioni e vedrò di adattare il 
contenuto!
Certo che se devi realizzare un home page non credo sia il caso mappare 
il tutto cosi:
www.tuosito.it/nomeapplicazione/index.jsp
 (o .html) rimane anche 
difficile da ricordare!
Però credo che il problema sia risolvibile mettendo come dici tu 
l'index.html nella document root e poi da li fare un collegamento a una 
cose del genere: 
www.tuosito.it/nomeapplicazione/home.jsp
(partendo da 
www.tuosito.it/index.html
) o meglio ancora visto che si può 
trattare di un index senza del jsp si potrebbe metterla (solo lei) in 
Apache e poi ridirigere il tutto verso Tomcat, secondo te è possibile?!
Ciao e grazie ancora,
jRed