Installare Xampp con Apache Tomcat »


xampp.jpgXampp è 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

Tags:
, , ,

----> Leggi Anche :

#

1 commento

  • At 2008.05.13 16:24, mizar said:

    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.

    (Required)
    (Required, will not be published)
    Se sei alle prime armi con Linux fai la tua richiesta alla sezione Help per inesperti su InTiLinuX Forum.