Apache Tomcat · 8 min read · Oct 23, 2025
Integrazione semplice di Apache 2 Tomcat 5 mod_jk
Integrazione semplice di Apache 2 Tomcat 5 mod_jk
L’intero tutorial si basa su molti tutorial, ma ne ho realizzato uno molto semplice, senza host virtuali. QUESTO È STATO TESTATO SOLO SU DEBIAN 3.1!!!! Potrebbe non funzionare su altre distribuzioni …
La principale fonte di informazioni può essere trovata qui:
https://www.howtoforge.com/apache2_tomcat5_mod_jk
Installazione di Apache2
Ho seguito questo link: https://www.howtoforge.com/perfect_setup_debian_sarge_p5
Esegui
apt-get install apache2 apache2-doc
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagickModifica /etc/apache2/apache2.conf. Cambia
| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |
in
| DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |
Modifica /etc/mime.types e commenta le seguenti righe:
| #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 |
Modifica /etc/apache2/mods-enabled/php4.conf e commenta le seguenti righe:
| |
Modifica /etc/apache2/ports.conf e aggiungi Listen 443:
| Listen 80 Listen 443 |
Ora dobbiamo abilitare alcuni moduli di Apache (SSL, rewrite e suexec):
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod includeRiavvia Apache:
/etc/init.d/apache2 restartUn nuovo utente www-data sarà creato automaticamente nel sistema.
Installazione di JDK (Java Development Kit)
Per eseguire Tomcat, è necessario installare JDK e impostare la variabile di ambiente JAVA_HOME per identificare la posizione dell’ambiente JDK sul sistema. Ho scelto di utilizzare JDK 5.0.
- Puoi scaricare JDK 5.0 su http://java.sun.com/j2se/1.5.0/download.jsp.
- Clicca su Download JDK 5.0 Update 6 per andare alla pagina di download.
- Clicca su Accetta per accettare il contratto di licenza.
- Successivamente scegli il file autoestraente per Linux. Questo è il download per il file binario autoestraente piuttosto che l’rpm.
- Scarica nella tua directory di download preferita. Cambia in quella directory e rendila eseguibile eseguendo il seguente comando:
chmod +x jdk-1_5_0_06-linux-i586.binOra esegui il file:
./jdk-1_5_0_06-linux-i586.binDovresti ora avere una nuova directory chiamata jdk1.5.0_06. Ora sposta questa directory nella posizione in cui dovrebbe essere eseguita. Ho scelto /usr/lib/.
mv jdk1.5.0_06 /usr/libOra crea un collegamento simbolico chiamato jdk a JAVA_HOME con il seguente comando. Questo ti consente di passare facilmente da una JVM all’altra se mai ne avessi bisogno.
cd /usr/lib
ln -s jdk1.5.0_06 jdkOra dobbiamo impostare la variabile di ambiente JAVA_HOME. Aggiungi quanto segue alla fine di /etc/profile subito dopo export PATH.
| JAVA_HOME="/usr/lib/jdk" export JAVA_HOME |
/etc/profile viene eseguito all’avvio e quando un utente accede al sistema. Per aggiornare l’ambiente dovrai disconnetterti e riconnetterti al sistema.
Controlla per assicurarti che JAVA_HOME sia definito correttamente eseguendo il comando qui sotto. Questo dovrebbe riportare la posizione del Java SDK che dovrebbe essere /usr/lib/jdk.
echo $JAVA_HOMEInstallazione di Tomcat
In questa sezione scaricherai e installerai Apache Tomcat 5.5.16. Per questa particolare configurazione, non è necessario costruire il pacchetto da sorgente, scaricheremo la versione binaria.
Scarica la versione binaria nella tua directory di download preferita da qui: http://tomcat.apache.org/download-55.cgi. Scegli il tar.gz dalla sezione core per 5.5.16.
Ora cambia in quella directory ed estrai i file utilizzando il seguente comando:
cd /mydownloads #(assicurati di cambiare nella tua directory di download)
tar xvzf apache-tomcat-5.5.16.tar.gzDovresti ora avere una nuova directory chiamata apache-tomcat-5.5.16. Ora sposta questa directory nella posizione in cui dovrebbe essere installata. Ancora una volta, ho scelto /usr/lib/. Nota che questa posizione sarà chiamata CATALINA_HOME nella documentazione di Tomcat.
mv apache-tomcat-5.5.16 /usr/lib- Successivamente cambia nella directory /usr/lib/.
cd /usr/lib- Ora crea un collegamento simbolico chiamato apache-tomcat a CATALINA_HOME con il seguente comando.
ln -s apache-tomcat-5.5.16 apache-tomcatQuesto ti salverà dal dover apportare modifiche agli script di avvio e arresto ogni volta che aggiorni Tomcat e, se lo desideri, ti consente anche di mantenere diverse versioni di Tomcat sul tuo sistema e passare facilmente tra di esse.
Dovresti ora essere in grado di avviare e fermare Tomcat dalla directory CATALINA_HOME/bin. Se stai usando una shell diversa dalla shell bash, dovrai aggiungere sh all’inizio del comando. Dovresti ora essere in grado di testare che Tomcat sia installato avviandolo e aprendo il tuo browser e inserendo http://localhost:8080 nel tuo browser. La porta 8080 è la porta predefinita per Tomcat e può essere facilmente cambiata nel file /usr/lib/apache-tomcat/conf/server.xml. (Lavoreremo con questo file più avanti.) Se prevedi di accedere a questa pagina da remoto, assicurati di inoltrare la rispettiva porta all’indirizzo IP del tuo server all’interno del tuo router. Dovresti ora vedere la pagina di benvenuto di Tomcat che contiene collegamenti alla documentazione di Tomcat e anche script JSP/Servlet di esempio. Verifica che Tomcat sia in esecuzione eseguendo alcuni degli esempi trovati sulla pagina di benvenuto.
cd /usr/lib/apache-tomcat/bin
./startup.shPer arrestare il server, dovrai eseguire il seguente comando. Sentiti libero di provarlo, ma per ora lasceremo Tomcat in esecuzione.
./shutdown.shInstallazione e configurazione di mod_jk
Per stabilire la connessione tra Tomcat e Apache, dovremo scaricare e installare il connettore mod_jk. Troverai che la documentazione di Apache raccomanda di installare la versione pacchettizzata di mod_jk se è disponibile per la tua particolare distribuzione Linux. Molte risorse obsolete raccomandano di installare il connettore mod_jk2, ma ho scoperto che è stato deprecato e, sebbene mod_jk sia stato sviluppato prima di mod_jk2, è ancora completamente supportato ed è molto stabile.
Mike Millson ha fornito alcune buone motivazioni per utilizzare mod_jk per collegare Tomcat ad Apache per Red Hat qui: Integrazione di Tomcat e Apache su Red Hat Linux.
Ho scelto di scaricare la sorgente attuale dagli archivi di Apache: http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/. Scarica il file jakarta-tomcat-connectors-1.2.15-src.tar.gz nella tua directory /usr/src/.
Cambia nella directory /usr/src.
cd /usr/src- Successivamente, estrai i contenuti per creare la directory /usr/src/jakarta-tomcat-connectors-1.2.15-src.
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz- Cambia nella directory /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
cd jakarta-tomcat-connectors-1.2.15-src/jk/native- Ora sei pronto per creare il file di configurazione personalizzato per il tuo sistema. Esegui il seguente:
./buildconf.shQuesto creerà un file di configurazione nella directory /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
- Esegui il seguente comando per configurare mod_jk per il tuo sistema. Nota importante: Dovrai avere apxs2 (APache eXtension tool) installato e configurato con Apache. Se non lo hai, come è successo a me, puoi scaricare e installare il pacchetto apache2-threaded-dev (che ha sostituito il precedente pacchetto apache-dev) da www.debian.org. Al momento della scrittura, l’archivio dei pacchetti Debian su www.debian.org era inattivo e mi hanno indirizzato al loro sito temporaneo fino a quando non hanno risolto i loro problemi pdo.debian.net. Ho trovato il pacchetto apache2-threaded-dev e sono riuscito a installarlo con successo.
Assicurati di includere il percorso corretto di apxs2 sul tuo sistema nel percorso del comando.
./configure --with-apxs=/usr/bin/apxs2- Ora costruisci il mod_jk con il seguente:
make- Infine, se hai avuto successo con i comandi precedenti, copia il nuovo mod_jk.so nella directory dei moduli di Apache2. I miei moduli si trovavano in /usr/lib/apache2/modules.
cd apache-2.0
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modulesOra sei pronto per passare alla fase successiva, che è iniziare a configurare Apache e Tomcat. Puoi trovare ulteriori informazioni sul connettore mod_jk su http://tomcat.apache.org/connectors-doc/howto/apache.html.
Configurazione di Tomcat e Apache
Crea il file workers.properties.
Nota importante: Assicurati di fare una copia di backup dei tuoi file di configurazione prima di modificarli.
Il file workers.properties contiene i dettagli su come ogni processo è collegato a Tomcat definendo i worker che comunicano tramite il protocollo ajpv13. Fai riferimento a Workers HowTo per ulteriori dettagli.
- Prima crea il file workers.properties nella tua directory radice di Apache2.
touch /etc/apache2/workers.properties- Successivamente, apri il file workers.properties e aggiungi quanto segue. Puoi trovare molti altri esempi del file workers.properties su Internet, ma questo è quello che ho creato e sembra funzionare bene con le altre parti che sono già state configurate in questo tutorial.
| workers.tomcat_home=/usr/lib/apache-tomcat workers.java_home=/usr/lib/jdk ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 |
Salva e chiudi il file.
Ora dobbiamo aprire il file /etc/apache2/apache2.conf e aggiungere le seguenti righe in fondo. (httpd.conf è solo per compatibilità retroattiva):
| LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # Dove trovare workers.properties JkWorkersFile /etc/apache2/workers.properties # Dove mettere i log di jk JkLogFile /var/log/apache2/mod_jk.log # Imposta il livello di log di jk [debug/error/info] JkLogLevel info # Seleziona il formato del log JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicano di inviare SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat imposta il formato della richiesta JkRequestLogFormat "%w %V %T" # Invia servlet per il contesto / jsp-examples al worker chiamato worker1 JkMount /jsp-examples worker1 # Invia JSP per il contesto /jsp-examples/* al worker chiamato worker1 JkMount /jsp-examples/* worker1 |
Salva e chiudi il file.
Ora un ultimo punto di sicurezza.
Creeremo un gruppo e un utente tomcat tomcat in questo modo:
groupadd tomcat
useradd -g tomcat tomcatQuindi cambia l’utente e il gruppo del percorso di Tomcat:
chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16Per cambiare la password dell’utente tomcat, con root digita:
passwd tomcate segui le istruzioni.
Quindi per avviare e fermare il server Tomcat dovresti usare l’utente tomcat.
su - tomcatOra ferma e avvia Tomcat:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.shE riavvia Apache:
/etc/init.d/apache2 restartHai finito.
Test:
In questo test, stiamo indirizzando tutti gli URL che iniziano con “/jsp-examples” a Tomcat.
In una situazione reale, potremmo indirizzare solo JSP o servlet al worker JK.
Assicurati che nessun altro server sia in esecuzione sulle porte predefinite di Tomcat 8005, 8009 e 8080.
Assicurati che nessun altro server sia in esecuzione sulla porta di Apache, che è normalmente 8080 o 80.
Avvia prima Tomcat: Avvia sempre prima Tomcat e poi avvia Apache.
Se devi riavviare Tomcat, ricorda di fermare prima Apache e riavviarlo dopo che Tomcat è stato riavviato.
Avvia Apache: Punta il tuo browser su http://localhost e verifica di ottenere la pagina predefinita di Apache. Sostituisci “localhost” con il nome della macchina/IP effettivo se necessario.
Punta il tuo browser su http://localhost:8080 e verifica di ottenere la pagina predefinita di Tomcat.
Punta il tuo browser su http://localhost/jsp-examples/ e verifica di ottenere la pagina indice per gli esempi di Tomcat.
Questo sarà servito da Apache e indicherà che hai completato con successo la tua integrazione di Apache e Tomcat.
Riferimenti e percorsi:
Tomcat conf:
/usr/lib/apache-tomcat/conf/server.xmlTomcat stop e start:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.shModuli Apache:
/usr/lib/apache2/modulesApache conf:
/etc/apache2/workers.properties
/etc/apache2/apache2.conf
/etc/apache2/httpd.confApache2:
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop
/etc/init.d/apache2 startPer coloro che hanno bisogno di aiuto con questo tutorial, per favore pubblica le tue domande qui:
https://www.howtoforge.com/forums/showthread.php?t=3595
O anche se trovi errori nel tutorial, per favore fammi sapere nel forum.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.