Passa ai contenuti principali

Configurazione multi-sito con IIS e Tomcat

Hai 2 siti che vuoi far girare con Tomcat e IIS?
Nessun problema, è facile.
Ecco come...

Presupponiamo di avere l'Apache Tomcat Connector (http://tomcat.apache.org/connectors-doc/), IIS 6, Apache Tomcat 6 e che tutti funzioni già.

Per chiarezza, riassumiamo il giro della chiamata che parte dall'utente e arriva alla jsp:
  1. Utente
  2. IIS
  3. Tomcat Connector
  4. uriworkermap.properties
  5. workers.properties
  6. Tomcat
  7. pagina.jsp

Immaginiamo di avere il www.sito.it e en.sito.it
Prima di iniziare...

IIS e Tomcat devono funzionare da soli

Provate entrambi i siti sulla porta 80 e 8080 (o quella usata da Tomcat)

http://www.sito.it, http://www.sito.it:8080, http://en.sito.it e http://en.sito.it:8080

Questo vuol dire che nel vostro server.xml c'è qualcosa come:

<Host name="en.sito.it" appBase="webapps.en"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</host>

a questo punto...

facciamo parlare i due mondi con due siti



il file uriworker.properties deve contenere

# uriworkermap.properties - IIS
# The general syntax for this file is:
# [URL]=[Worker name]
#
## il sito in italiano
/sito.it/*.jsp=workerIT
/www.sito.it/*.jsp=workerIT
#
## english
/en.sito.it/*.jsp=workerEN
# non facciamo entrare la gente nel WEB-INF
/WEB-INF/*=workerIT


il file workers.properties deve contenere

# l'elenco dei worker
worker.list=workerIT,workerEN

# il worker dell'italiano, workerIT (ajp13)
worker.workerIT.type=ajp13
worker.workerIT.host=localhost
worker.workerIT.port=8009

# il worker dell'inglese, workerEN (ajp13)
worker.workerEN.type=ajp13
worker.workerEN.host=en.sito.it
worker.workerEN.port=8009

Il segreto di tutto sta nel mapping dell'uriworkermap, che dice di usare un worker particolare se si sta usando un determinato sito.

Riavviamo Tomcat e IIS... e tutto dovrebbe funzionare.
Nel dubbio guardate i log del connector.

ciao
/m

Commenti

Post popolari in questo blog

jsp+form: problemi con caratteri accentati

Con il submit di un form (GET o POST) si possono ricevere schifezze al posto dei caratteri accentati. Ipotizzando di usare UTF8, non basta che: il file sia salvato come UTF-8 la pagina dica di essere UTF-8 <meta equiv="Content-Type" content="text/html; charset=utf-8"> Occorre specificare anche l'encoding della request: Sarebbe anche da impostare l'encoding del Connector per prendere valori accentati dalla request. può essere utile: http://wiki.apache.org/tomcat/FAQ/CharacterEncoding enjoy /m

jQuery validation message in italiano

Ecco i messaggi in italiano per il plugin Validation di jQuery . http://docs.jquery.com/Plugins/Validation ciao /m /* * Translated default messages for the jQuery validation plugin. * Language: IT */ jQuery.extend(jQuery.validator.messages, { required: "Questo campo è obbligatorio.", remote: "Riempire questo campo per continuare.", email: "Inserire un indirizzo email valido.", url: "Inserire un indirizzo URL valido.", date: "Inserire una data in formato mm-gg-aaaa.", dateDE: "Inserire una data in formato gg-mm-aaaa.", dateISO: "Inserire una data in formato aaaa-mm-gg.", number: "Inserire un numero.", digits: "Inserire (solo) un numero.", creditcard: "Inserire un numero di carta di credito valido.", equalTo: "Inserire lo stesso valore usato sopra.", accept: "Usare un'estensione valida....