Comunicacion tomcat4-apache2, ya no se que hacer.
Buenas, pues eso, lo de arriba no es un marcador de futbol :p, que llevo ya demasiado tiempo dando palos, y por lo visto de ciego pq no consigo nada, he intentado reproducir lo que pone en el howto del jk2 de la pagina de jakarta y nada...
alguien puede orientarme mejor o contar su experiencia con que hay que tocar?
Saludos
alguien puede orientarme mejor o contar su experiencia con que hay que tocar?
Saludos
estos son los pasos que yo he seguido:
Cómo Conectar Apache 2 y Tomcat 5 ( de una vez por todas )
0. Descarga de los servidores, conectores y librerias.
Las versiones de los servidores que vamos a utilizar son apache 2.0.49 y tomcat 5.0.19. Los podemos descargar desde las siguientes direcciones :
http://apache.rediris.es/httpd/httpd-2.0.49.tar.gz
http://apache.rediris.es/jakarta/tomcat-5/v5.0.19/src/jakarta-tomcat-5.0.19-src.tar.gz
Usaremos el conector mod_jk2 para que Apache pase las peticiones a Tomcat :
http://apache.oss.eznetsols.org/jakarta/tomcat-connectors/jk2/source/jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
Necesitamos tener instalados los siguientes paquetes :
apr-0.9.4-2
apr-devel-0.9.4-2
apr-util-0.9.4-2
apr-util-devel-0.9.4-2
automake-1.7.8-1
autoconf-2.57-3
libtool-libs-1.5-8libtool-1.5-8
pcre-4.4-1
pcre-devel-4.4-1
También será imprescindible tener instalado una maquina virtual de java, de aquí en adelante nos referiremos como JAVA_HOME al directorio donde esté instalada
1. Instalación de los servidores.
Al ser este un paso sencillo que no requiere explicación solo diremos que de aquí en adelante llamaremos APACHE_HOME al directorio donde pongamos apache y TOMCAT_HOME al directorio donde pongamos tomcat. Ya se que suena a tontería pero luego nos ahorrará tiempo.
Probamos que los dos servidores funcionen correctamente y los detenemos.
2. Compilar los conectores..
Este es seguramente el paso más dificil de todos ( al menos para mi si que lo fue ).Descomprimimos el archivo de los conectores y entramos en el directorio jakarta-tomcat-connectors-jk2-src-2.0.4/jk/native2/
Los siguientes comandos tendrán que se ejecutados como root :
./configure --with-apxs2=APACHE_HOME/bin/apxs -with-tomcat-41=TOMCAT_HOME --with-apr-lib=/usr/lib/apr --with-java-home=JAVA_HOME --with-jni
Si el proceso de configuración fue bien verás las siguientes lineas al final de los comentarios del configure :
config.status: creating server/apache13/Makefile
config.status: creating server/apache13/Makefile.apxs
config.status: creating server/apache2/Makefile
config.status: creating server/apache2/Makefile.apxs
config.status: creating ../build.properties
config.status: creating scripts/build/unix/dummy
config.status: executing depfiles commands
Ahora ejecutamos make y al final del proceso veremos lo siguiente :
libtool: install: warning: remember to run `libtool --finish
/usr/lib/httpd/modules'
/bin/cp ../../../build/jk2/apache2//usr/lib/httpd/modules/libjkjni.so
../../../build/jk2/apache2/libjkjni.so
make[1]: Leaving directory `/home/chongym/downloads/jk2/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
Tal y como nos sugiere el mensaje ejecutamos libtool finnish. Los siguientes pasos son :
cd ../build/jk2/apache2
APACHE_HOME/bin/apxs -n jk2 -i mod_jk2.so
Si todo va bien, veremos lo siguiente :
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/bin/sh /usr/lib/apr/build/libtool'
mod_jk2.so /usr/lib/httpd/modules
/bin/sh /usr/lib/apr/build/libtool --mode=install cp mod_jk2.so
/usr/lib/httpd/modules/
cp mod_jk2.so /usr/lib/httpd/modules/mod_jk2.so
Warning! dlname not found in /usr/lib/httpd/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/lib/httpd/modules/mod_jk2.so
Ahora ya podemos copiar los modulos :
cp libjkjni.so APACHE_HOME/modules/jkjni.so
cp mod_jk2.so APACHE_HOME/modules/mod_jk2.so
3. Configurar los servidores.
Finalmente solo tenemos que modificar los siguientes archivos:
APACHE_HOME/conf/httpd.conf
Añadimos la siguiente línea en el apartado LoadModules :
LoadModule jk2_module /usr/lib/httpd/mod_jk2.so
APACHE_HOME/conf/workers2.properties
[logger]
# outcomment this in production use
level=DEBUG
[config:]
file=/project/www/apache-2.0.49/conf/workers2.properties
debug=0
debugEnv=0
[uriMap:]
info=Maps the requests. Options: debug
debug=1
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/project/www/apache-2.0.49/logs/jk2.shm
size=1000000
debug=0
disabled=0
[workerEnv:]
info=Global server options
timing=1
debug=0
[status:]
info=Status worker, displays runtime informations
[uri:localhost/jkstatus/*]
info=Display status information and checks the config file for changes.
group=status:
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
# Define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:localhost/jsp-examples/*]
info=jsps
[uri:localhost/servlets-examples/*]
info=servlet
[uri:localhost/tu_aplicacion/*]
info=mi_aplicacion
TOMCAT_HOME/conf/jk2.properties
# jk2.properties
# Configured for channel UNIX
# Set the desired handler list
handler.list=apr,request,channelUnix
# UNIX Domain socket location
channelUnix.file=/project/www/tomcat-5.0.19/work/jk2.socket
# Dynamic Library
serverRoot=/etc/httpd
apr.NativeSo=/project/www/apache-2.0.49/modules/jkjni.so
4. Probar que todo funciona.
Solo nos queda iniciar tomcat y luego apache y visitar con nuestro navegador
http://localhost/jsp-examples/
http://localhost/servlets-examples/
Ahora podemos instalar las aplicaciones en tomcat ( doy por sabido como hacer esto ), modificar el archivo workers2.properties y visitar http://localhost/mi_aplicacion/
Cómo Conectar Apache 2 y Tomcat 5 ( de una vez por todas )
0. Descarga de los servidores, conectores y librerias.
Las versiones de los servidores que vamos a utilizar son apache 2.0.49 y tomcat 5.0.19. Los podemos descargar desde las siguientes direcciones :
http://apache.rediris.es/httpd/httpd-2.0.49.tar.gz
http://apache.rediris.es/jakarta/tomcat-5/v5.0.19/src/jakarta-tomcat-5.0.19-src.tar.gz
Usaremos el conector mod_jk2 para que Apache pase las peticiones a Tomcat :
http://apache.oss.eznetsols.org/jakarta/tomcat-connectors/jk2/source/jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
Necesitamos tener instalados los siguientes paquetes :
apr-0.9.4-2
apr-devel-0.9.4-2
apr-util-0.9.4-2
apr-util-devel-0.9.4-2
automake-1.7.8-1
autoconf-2.57-3
libtool-libs-1.5-8libtool-1.5-8
pcre-4.4-1
pcre-devel-4.4-1
También será imprescindible tener instalado una maquina virtual de java, de aquí en adelante nos referiremos como JAVA_HOME al directorio donde esté instalada
1. Instalación de los servidores.
Al ser este un paso sencillo que no requiere explicación solo diremos que de aquí en adelante llamaremos APACHE_HOME al directorio donde pongamos apache y TOMCAT_HOME al directorio donde pongamos tomcat. Ya se que suena a tontería pero luego nos ahorrará tiempo.
Probamos que los dos servidores funcionen correctamente y los detenemos.
2. Compilar los conectores..
Este es seguramente el paso más dificil de todos ( al menos para mi si que lo fue ).Descomprimimos el archivo de los conectores y entramos en el directorio jakarta-tomcat-connectors-jk2-src-2.0.4/jk/native2/
Los siguientes comandos tendrán que se ejecutados como root :
./configure --with-apxs2=APACHE_HOME/bin/apxs -with-tomcat-41=TOMCAT_HOME --with-apr-lib=/usr/lib/apr --with-java-home=JAVA_HOME --with-jni
Si el proceso de configuración fue bien verás las siguientes lineas al final de los comentarios del configure :
config.status: creating server/apache13/Makefile
config.status: creating server/apache13/Makefile.apxs
config.status: creating server/apache2/Makefile
config.status: creating server/apache2/Makefile.apxs
config.status: creating ../build.properties
config.status: creating scripts/build/unix/dummy
config.status: executing depfiles commands
Ahora ejecutamos make y al final del proceso veremos lo siguiente :
libtool: install: warning: remember to run `libtool --finish
/usr/lib/httpd/modules'
/bin/cp ../../../build/jk2/apache2//usr/lib/httpd/modules/libjkjni.so
../../../build/jk2/apache2/libjkjni.so
make[1]: Leaving directory `/home/chongym/downloads/jk2/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
Tal y como nos sugiere el mensaje ejecutamos libtool finnish. Los siguientes pasos son :
cd ../build/jk2/apache2
APACHE_HOME/bin/apxs -n jk2 -i mod_jk2.so
Si todo va bien, veremos lo siguiente :
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/bin/sh /usr/lib/apr/build/libtool'
mod_jk2.so /usr/lib/httpd/modules
/bin/sh /usr/lib/apr/build/libtool --mode=install cp mod_jk2.so
/usr/lib/httpd/modules/
cp mod_jk2.so /usr/lib/httpd/modules/mod_jk2.so
Warning! dlname not found in /usr/lib/httpd/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/lib/httpd/modules/mod_jk2.so
Ahora ya podemos copiar los modulos :
cp libjkjni.so APACHE_HOME/modules/jkjni.so
cp mod_jk2.so APACHE_HOME/modules/mod_jk2.so
3. Configurar los servidores.
Finalmente solo tenemos que modificar los siguientes archivos:
APACHE_HOME/conf/httpd.conf
Añadimos la siguiente línea en el apartado LoadModules :
LoadModule jk2_module /usr/lib/httpd/mod_jk2.so
APACHE_HOME/conf/workers2.properties
[logger]
# outcomment this in production use
level=DEBUG
[config:]
file=/project/www/apache-2.0.49/conf/workers2.properties
debug=0
debugEnv=0
[uriMap:]
info=Maps the requests. Options: debug
debug=1
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/project/www/apache-2.0.49/logs/jk2.shm
size=1000000
debug=0
disabled=0
[workerEnv:]
info=Global server options
timing=1
debug=0
[status:]
info=Status worker, displays runtime informations
[uri:localhost/jkstatus/*]
info=Display status information and checks the config file for changes.
group=status:
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
# Define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:localhost/jsp-examples/*]
info=jsps
[uri:localhost/servlets-examples/*]
info=servlet
[uri:localhost/tu_aplicacion/*]
info=mi_aplicacion
TOMCAT_HOME/conf/jk2.properties
# jk2.properties
# Configured for channel UNIX
# Set the desired handler list
handler.list=apr,request,channelUnix
# UNIX Domain socket location
channelUnix.file=/project/www/tomcat-5.0.19/work/jk2.socket
# Dynamic Library
serverRoot=/etc/httpd
apr.NativeSo=/project/www/apache-2.0.49/modules/jkjni.so
4. Probar que todo funciona.
Solo nos queda iniciar tomcat y luego apache y visitar con nuestro navegador
http://localhost/jsp-examples/
http://localhost/servlets-examples/
Ahora podemos instalar las aplicaciones en tomcat ( doy por sabido como hacer esto ), modificar el archivo workers2.properties y visitar http://localhost/mi_aplicacion/
wow!
Estoy usando el tomcat4 ya que con el 5 me era imposible usar un pool de conexiones, y fue poner el 4 y sin mas problemas todo a la primera.
Sobre esto...
apr-0.9.4-2
apr-devel-0.9.4-2
apr-util-0.9.4-2
apr-util-devel-0.9.4-2
automake-1.7.8-1
autoconf-2.57-3
libtool-libs-1.5-8libtool-1.5-8
pcre-4.4-1
pcre-devel-4.4-1
tantos?
ah.. espera.. a ver si me entero todo eso es para genera el mod_jk2.so no?
bueno no hay problema ya lo tengo, uso suse9 y el binario para suse es de los pocos que ya se encuentran hechos., pq todo eso es para generar el mod_jk2 no?
bueno pues gracias y vamos a probar, pq llevo dando palos de ciego...
gracias.
Saludos
Estoy usando el tomcat4 ya que con el 5 me era imposible usar un pool de conexiones, y fue poner el 4 y sin mas problemas todo a la primera.
Sobre esto...
apr-0.9.4-2
apr-devel-0.9.4-2
apr-util-0.9.4-2
apr-util-devel-0.9.4-2
automake-1.7.8-1
autoconf-2.57-3
libtool-libs-1.5-8libtool-1.5-8
pcre-4.4-1
pcre-devel-4.4-1
tantos?
ah.. espera.. a ver si me entero todo eso es para genera el mod_jk2.so no?
bueno no hay problema ya lo tengo, uso suse9 y el binario para suse es de los pocos que ya se encuentran hechos., pq todo eso es para generar el mod_jk2 no?
bueno pues gracias y vamos a probar, pq llevo dando palos de ciego...
gracias.
Saludos
