


Xampp è un software che ci permette di avere, in maniera facile e veloce, un webserver (apache) con MySQL, PHP ,Perl e molto altro sulla nostra Linux-Box. Di default Xampp utilizza apache ma se volessimo integrare, all’interno di xampp, apache Tomcat per l’esecuzione di applicazioni Web sviluppate nel linguaggio Java? Questa guida consente, in pochi e semplici passaggi di utilizzare Xampp con Apache Tomcat.
Installazione di Xammp
Apriamo una shell e digitiamo:
wget http://www.apachefriends.org/download.php?xampp-linux-1.6.6.tar.gz
sudo tar xvfz xampp-linux-1.6.6.tar.gz -C /opt
Per lanciare xampp è sufficiente digitare da terminale:
sudo /opt/lampp/lampp start
Dovremmo quindi vedere nel terminale qualcosa come:
Starting XAMPP for Linux 1.6.6...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
Adesso, per vedere se tutto funziona, avviamo il nostro browser preferito e digitiamo nella barra degli indirizzi:
http://localhost
Ora dovremmo vedere la pagina iniziale di Xampp che contiene alcuni link per testare le singole componenti installate e alcuni file di esempio.
Installazione di TomCat su Xampp
Stoppiamo XAMPP mediante il comando
sudo /opt/lampp/lampp stop
Installiamo i seguenti pacchetti (Java5):
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
Scarichiamo Tomcat:
wget http://mirrors.publicshout.org/apache/tomcat/tomcat-6/v6.0.7/bin/apache-tomcat-6.0.7.tar.gz
Estraiamo l’archivio:
tar xzfv apache-tomcat-6.0.7.tar.gz
Copiamo 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:
creare il file /etc/init.d/tomcat con l’editor di testo preferito e copiare quanto segue:
#!/bin/bash
# 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.
Adesso colleghiamo Apache con Tomcat, in modo che le directory che specificheremo in seguito siano gestite da Tomcat e non da Apache.
Scaricare il Tomcat connector che collega Tomcat con Apache:
wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.26/i386/mod_jk-1.2.26-httpd-2.2.6.so
Rinominiamo il file in mod_jk.so e copiamolo nella directory /opt/lampp/modules:
mv mod_jk-1.2.26-httpd-2.2.6.so mod_jk.so
sudo cp mod_jk.so /opt/lampp/modules
Creiamo la directory jk_module all’interno di /opt/lampp/etc
sudo mkdir jk_module /opt/lampp/etc
A questo punto editare il file /opt/lampp/etc/httpd.conf ed inserire la riga
LoadModule jk_module modules/mod_jk.so
tra le righe LoadModule già presenti.
Scorrere il file fino alla fine ed inserire prima della sezione #XAMPP il seguente codice:
<IfModule jk_module>
JkWorkersFile /opt/lampp/etc/jk_module/workers.properties
JkLogFile /opt/lampp/etc/jk_module/mod_jk.log
JkLogLevel debug
#JkMount /servlets-examples/* ajp13 #da decommentare se si usa tomcat 5.x;
JkMount /examples/* ajp13
</IfModule>
Salvare e chiudere il file.
N.B. La direttiva JkMount non fa altro che redirigere a Tomcat tutte le richieste http precedute da /examples/ (per esempio http://localhost/examples/prova.jsp, in questo caso prova.jsp verrà processato da Tomcat invece che da Apache).
Creare il file workers.properties all’interno della directory /opt/lampp/etc/jk_module ed inserirci dentro il seguente codice:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/lib/jvm/java-6-sun/
ps=/
worker.list=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.type=ajp13
sostituendo eventualmente qualche percorso se differisce nel vostro computer, ad esempio la posizione di Java.
Salvare e chiudere il file. Avviare XAMPP mediante il comando :
sudo /opt/lampp/lampp start
Se dà errore in Apache, è possibile vedere meglio di cosa si tratta avviando Apache tramite :
sudo /opt/lampp/bin/httpd
Se tutto è andato per il verso giusto, apriamo il browser e digitiamo
http://localhost/examples/ (Notare la / alla fine del percorso, assolutamente necessaria).
Dovrebbe comparire una pagina con la scritta Apache Tomcat Examples e alcuni esempi che è possibile testare. Se è così complimenti, Apache è integrato con Tomcat.
Potrete facilmente aggiungere altre directory da gestire non con Apache ma con Tomcat agendo nel file /opt/lampp/etc/httpd.conf e aggiungendo altri JkMount alla sezione che abbiamo aggiunto poco fa e riavviando poi XAMPP mediante
sudo /opt/lampp/lampp restart











maggio 13th, 2008 at 16:24
Il mod_jk si accompagna ad una valanga di problemi ed effetti collaterali. Molto piu’ intuitivo e semplice (e tra l’altro gia’ incluso in lampp) e’ il mod_proxy. Con esso non servono particolari modifiche se non in http.conf e nella lista dei moduli caricati da apache.
Comunque lampp non gestisce in nessun modo tomcat, perche’ questi continua a rimanere sempre attivo anche alla chiusura dello stesso. Di fatto poi e’ semplicemente apache che governa un redirect di pacchetti su tomcat.
Rispondi
febbraio 14th, 2009 at 16:25
Ciao, sto provando a seguire il tuo schema, ma con le versioni aggiornate di xampp, jre e tomcat, il problema è che non riesco neppure ad avviare tomcat! Il browser non mi vede niente in localhost:8080!
Consigli? Grazie!
fabio
Rispondi
marzo 30th, 2009 at 10:02
Chiedo scusa per la risposta tardiva, spero che nel frattempo hai risolto. Credo che basti modificare lo script /etc/init.d/tomcat inserendo i parametri corretti riguardanti Java.
Probabilmente adesso, con la versione 6, il percorso giusto sarà /usr/lib/jvm/java-6-sun/
Rispondi