L'application server Tomcat può essere utilizzato sia in modalità stand-alone che insieme ad Apache, il quale funge da front-end pubblico per l'erogazione delle pagine e del servizio, ma che si avvale in background di Tomcat per quanto concerne l'esecuzione di servlet e pagine JSP.
La comunicazione tramite web server e servlet container viene gestita dal connector JK di cui parleremo successivamente.
I requirement per ottenere un ambiente come quello che vogliamo creare sono i seguenti:
- Apache 2.0.x
- Tomcat 4.1.x
- Tomcat Web Server Connectors JK 1.2
- JDK 1.4.x
INSTALLAZIONE JVM
Prima di tutto bisogna installare la Java Virtual Machine sulla propria Linux Box, per fare ciò bisogna scaricare da http://java.sun.com/j2se/1.4.2/download.html il JDK SE 1.4.x in formato bin per Linux.
Una volta scaricato il pacchetto binario lo si installa in /usr/local (questa è solo una mia preferenza personale).
Successivamente si deve impostare la variabile di ambiente $JAVA_HOME. Il comando è:
JAVA_HOME=/usr/local/j2sdk1.4.2_04
export JAVA_HOME
Fatto questo si può testare il corretto funzionamento eseguendo:
echo $JAVA_HOME
Il risultato ottenuto dovrebbe essere:
/usr/local//usr/local/j2sdk1.4.2_04
INSTALLAZIONE APACHE
A questo punto dobbiamo procedere con la compilazione del server web Apache, nel nostro caso tramite sorgenti di Apache 2.0.49.
cp -p httpd-2.0.49.tar.gz /usr/local/src/
cd /usr/local/src
tar xvzf httpd-2.0.49.tar.gz
Ora possiamo procedere alla compilazione di Apache:
cd /usr/local/src/httpd-2.0.49
./configure --prefix=/usr/local/apache --enable-ssl --enable-so ; make ; make install
INSTALLAZIONE DI TOMCAT
Prima di tutto dobbiamo creare l'utente tomcat in modo tale da far girare l'application server senza i permessi di root (pericolosissimo per la sicurezza del sistema).
groupadd tomcat
useradd -g tomcat -c "Tomcat User" -d /usr/local/tomcat tomcat
passwd tomcat
La password è a vostra discrezione...
Notare che viene scelta come home directory dell'utente /usr/local/tomcat
Dopo aver scaricato Tomcat 4.1.30 in formato binario possiamo procedere all'installazione:
cp -p tomcat-4.1.30.tar.gz /usr/local/
cd /usr/local
tar xvzf tomcat-4.1.30.tar.gz
Verrà creata la cartella /usr/local/jakarta-tomcat-4.1.30 contenente i binary dell'application server Tomcat.
Per una gestione più snella e semplice andiamo ad applicare un link simbolico:
ln -s /usr/local/jakarta-tomcat-4.1.30 /usr/local/tomcat
Fatto questo dobbiamo sistemare i permessi sulla cartella e sul link simbolico, ovvero assegnare come owner della cartella e dei files l'utente tomcat, se non lo facessimo l'utente tomcat non avrebbe la possibilità di far partire il server.
chown tomcat:tomcat /usr/local/tomcat
chown -R tomcat:tomcat /usr/local/jakarta-tomcat-4.1.30
Ora bisogna settare come per $JAVA_HOME la variabile d'ambiente $CATALINA_HOME che non è altro che il path a tomcat.
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
Ora possiamo far partire il server tomcat, ma solo dopo aver settato la variabile d'ambiente $JAVA_HOME anche per l'utente tomcat.
Facciamo quindi partire il servizio con:
su - tomcat -c /usr/local/tomcat/bin/startup.sh
Testiamo il funzionamento di tomcat con http://localhost:8080 (la porta 8080 è il default dell'application server).
In questo momento tomcat sta funzionando da web server stand-alone e da application server.
Ovviamente essendo il nostro obiettivo quello di avere Apache che fornisca l'interfaccia web e Tomcat che funga da servlet container.
Per fare ciò dobbiamo installare il connector JK per Apache e Tomcat.
Prima di tutto però spegnamo tomcat:
su - tomcat -c /usr/local/tomcat/bin/shutdown.sh
Fate attenzione a scaricare il connector JK 1.2 perchè la versione 2 è differente.
Scompattiamo il connector in /usr/local/src
cd /usr/local/src
tar xvzf jakarta-tomcat-connectors-jk-1.2-src-current.tar.gz
Ora configuriamo la variabile $CONNECTOR_HOME con la cartella creata dallo scompattamento del tar.gz
CONNECTOR_HOME=/usr/local/src/jakarta-tomcat-connectors-jk-1.2.5-src
export CONNECTOR_HOME
Configuriamo e compiliamo ora il connector:
cd CONNECTOR_HOME/jk/native
./buildconf.sh
./configure --with-apxs=/usr/local/apache/bin/apxs
make
make install
Questi comandi compileranno mod_jk.so e lo copieranno in /usr/local/apache/modules.
CONFIGURIAMO APACHE E TOMCAT PER LAVORARE INSIEME
Andiamo ad editare il file server.xml di Tomcat e aggiungiamo questa riga dopo server
Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" modJk="/usr/local/apache/modules/mod_jk.so" /
e dubito dopo la parte dell'host questa riga:
Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" append="true" forwardAll="false" modJk="/usr/local/apache/modules/mod_jk.so" /
Infine aggiungiamo il modulo creato dal connector alla configurazione di Apache (httpd.conf) al termine del file di configurazione:
Include /usr/local/tomcat/conf/auto/mod_jk.conf
Ora creiamo in CATALINA_HOME/conf/jk un file di nome workers.properties
cd $CATALINA_HOME/conf
mkdir jk
chown tomcat:tomcat jk
cd jk
vi workers.properties
Il file sarà composto da queste linee:
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
Gli diamo i permessi corretti:
chown tomcat:tomcat workers.properties
A questo punto facciamo partire Apache ed il gioco è fatto.
Testiamo con: http://localhost/examples e se vengono processati i files java il lavoro è terminato.
buildconf.sh
sto configurando apache (1.3)con tomcat. Ho scaricato la jk. Quando lancio il buildconf.sh ho questo errore:
bash-3.00# ./buildconf.sh
rm autom4te.cache
libtoolize --force --automake --copy
./buildconf.sh: libtoolize: not found
aclocal
./buildconf.sh: aclocal: not found
autoheader
./buildconf.sh: autoheader: not found
automake -a --foreign --copy
./buildconf.sh: automake: not found
autoconf
./buildconf.sh: autoconf: not found
rm autom4te.cache
grazie
cord switch
cord switch
RispondiCondivisione files/cartelle
Ciao, ho 2 server Linux, appartenenti allo stesso segmento in rete, mi chiedo come posso fare per trasferire files e/o catelle tra uno e l'altro, grazie !
Tutorial copiato male...
Il tutorial è copiato malissimo :
mancano gli <> di inizio e fine linea sul server.xml
Manca la parte che dice di riavviare Tomcat prima di startare o restartare Apache, in quanto Tomcat crea il file mod_jk.conf che seguendo questo tutorial manco esiste...
Le cose fatele bene...
Tomcat e Plesk 7.5
Come si fa a lavorare con Tomcat dal pannello del Plesk 7.5? (Server Apache)
RispondiApache 1.x?
Invece di usare la versione 2 si può usare la versione 1.x ancora mantenuta o tomcat funziona solo con la 2.x?
Rispondierrore xml
...anzi: xml parsing error
Rispondierrore xml
mi funzia tutto, a parte il "trascurabile" fatto che quando cerco di spostarmi all'interno delle pagine mi dice "errore nello script xml". (che naturalmente non mi da' se non effettuo la connessione ad apache e setto la porta 80 a tomcat)
che puo' essere?
source?
vai che forse ce la faccio a installare 'sta pappardella.
segnalo solo un piccolo errore su
Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" modJk="/usr/local/apache/modules/mod_jk.so" /
mancherebbero i Sergenti < e > all'inizio e alla fine, anche sulle successive tre righe rosse.
Grazie