APACHE2+TOMCAT5+JAVA1.5+mod_jk

Imagen de peron

Copio un texto que escribì antes de ayer por la noche, que tal vez les sirva a màs de uno que ande dando vueltas con web-servers.

La combinaciòn descripta en el tìtulo del thread, suele traer algunas complicacioes. Acà les dejo un tuto recièn escrito, aplicable a la mayorìa de las distros, ya que todo se compila.

APACHE2+TOMCAT5+JAVA1.5+mod_jk por Sebastiàn Sàenz Ford

La instalaciòn fue probada con èxito en los siguientes sistema: Debian Sarge; Ubuntu 5.10; Red Hat Enterprise 4 AS. Como todas las aplicaciones se compilan, deberìa funcionar en cualquier distribuciòn GNU/Linux.

Notas: los archivos obtenidos de internet seràn guardados en el home del usuario que utilicemos. En mi caso /home/ssf80/apps/ ,que para mayor facilidad llamaremos al path $HOME. Es pràctico para tener un backup de los instaladores.

1)Instalaciòn de APACHE
Creamos la carpeta en donde guardaremos el tar.gz que bajamos de internet.
$:cd $HOME
$:mkdir apache
Se utiliza la versiòn de Apache 2.0.55 Download --> http://apache.mesi.com.ar/httpd
httpd-2.2.0.tar.gz

Vamos a instalar Apache en /usr/local/apache_2.0.52
$:cd apache
$:cp httpd-2.2.0.tar.gz /usr/local/
$:cd /usr/local
$:tar zxvf httpd-2.2.0.tar.gz
$:cd httpd-2.2.0
$:./configure --with-layout=Apache --prefix=/usr/local/apache2 --enable-module=most --enable-mods-shared=most
###Y las ùltimas lìneas deberìan ser del tipo:
###config.status: creating build/config_vars.sh
###config.status: creating include/ap_config_auto.h
###config.status: executing default commands
$:make
###Y las ùltimas lìneas deberìan ser del tipo:
###lib/apr-util/xml/expat/lib/libexpat.la /usr/local/httpd-2.2.0/srclib/apr/libapr-1.la -lrt -###lcrypt -lpthread -ldl
###make[1]: Leaving directory `/usr/local/httpd-2.2.0'
$:make install
###Y las ùltimas lìneas deberìan ser del tipo:
###mkdir /usr/local/apache2/man/man8
###mkdir /usr/local/apache2/manual
###make[1]: Leaving directory `/usr/local/httpd-2.2.0'
$:cd ..
Borramos httpd-2.2.0.tar.gz de /usr/local ya que lo tenemos en $HOME/apache
$:rm -f httpd-2.2.0.tar.gz
Ya tenemos instalado Apache 2.0.55

2) Instalaciòn de Java
$:cd $HOME
$:mkdir java
Procederemos a la instalaciòn de Java 2 Platform Standard Edition 5.0. Download --> https://sdlcweb2d.sun.com/ECom/ECom...6F57DC1F32F006D
Debemos aceptar la licencia y luego bajar el archivo jdk-1_5_0_06-linux-i586.bin
La instalaciòn de java la realizaremos en /usr/java
$:cd /usr
$:mkdir java
$:cd java
Copiamos el instalador a /usr/java
$:cp $HOME/java/jdk-1_5_0_06-linux-i586.bin .jdk-1_5_0_06-linux-i586.bin
Otorgamos permisos de ejecuciòn.
$:chmod 755 jdk-1_5_0_06-linux-i586.bin
Ejecutamos el instalador
$:./jdk-1_5_0_06-linux-i586.bin
Eliminamos el ejecutable de /usr/java
$:rm -f jdk-1_5_0_06-linux-i586.bin
Ahora deberemos crear la variable global JAVA_HOME y agregar al PATH la ruta del ejecutable de java. Editamos /etc/profile agregando las siguientes lìneas al final del archivo:
$:vi /etc/profile
JAVA_HOME=/usr/java/jdk1.5.0_06
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_JAVA

3) Instalaciòn de TOMCAT
Utilizaremos la versiòn 5.0.28 de Tomcat que la podemos bajar de http://apache.xmundo.com.ar/tomcat/...t-5.0.28.tar.gz
Al igual que apache y java creo un directorio en donde guardar el .tar.gz.
$:cd $HOME
$:mkdir tomcat
La instalaciòn de tomcat la realizaremos en /usr/local
$:cd tomcat
Copiamos el .tar.gz a /usr/local
$:cp jakarta-tomcat-5.0.28.tar.gz /usr/local
$:cd /usr/local
Descomprimimos
$:tar zxvf jakarta-tomcat-5.0.28.tar.gz
Borramos jakarta-tomcat-5.0.28.tar.gz de /usr/local ya que lo tenemos en $HOME/tomcat
$:rm -f jakarta-tomcat-5.0.28.tar.gz
Creamos un enlace simbòlico que nos facilitarà la administraciòn de tomcat.
$:ln -s jakarta-tomcat-5.0.28 tomcat5

4) Instalaciòn de conector mod_jk.
Se utiliza la versiòn 1.2.15 del conector mod_jk que se puede bajar de http://www.apache.org/dist/tomcat/t...2.15-src.tar.gz que guardaremos $HOME/mod_jk
$:cd $HOME
$:mkdir mod_jk

Para instalar mod_jk necesitamos los siguientes pre-requisitos:
a) libtool:
Para corroborar si nuestro sistema tiene libtool:
$:which libtool
Si tenemos como respuesta algo del tipo /usr/local/bin/libtool el sistema alberga libtool.
En caso contrario deberemos bajar libtool de ftp:/ftp.gnu.org/gnu/libtool e instalamos:
$:./configure
$:make
$:make install

b) autoconf. Corroboramos:
$:which autoconf
Si tenemos como respuesta algo del tipo /usr/bin/autoconf el sistema alberga autoconf
En caso contrario deberemos bajar autoconf de ftp://ftp.gnu.org/autoconf e instalamos:
$:./configure
$:make
$:make install

c) Ant:
Para esta guìa se utilizò la versiòn 1.6.5 de Ant, que se puede obtener de http://apache.mesi.com.ar/ant/binar....6.5-bin.tar.gz que la guarderemos en $HOME/ant.
$:cd $HOME
$:mkdir ant
$:cd ant
$:cp apache-ant-1.6.5-bin.tar.gz /usr/local
$:cd /usr/local
$:tar zxvf apache-ant-1.6.5-bin.tar.gz
$:rm -f apache-ant-1.6.5-bin.tar.gz
$:ln -s apache-ant-1.6.2 ant

Debemos crear la variable global ANT_HOME=/usr/local/home:
$:vi /etc/profile
Y recordando que ya habìamos editado este archivo, deberìa quedar de la siguiente manera sus ùltimas lìneas:

JAVA_HOME=/usr/java/jdk1.5.0_06
ANT_HOME=/usr/local/ant
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME
export PATH JAVA_HOME ANT_HOME

Para que el sistema tome los nuevos valores de /etc/profile:
$:source /etc/profile

Procedemos a la instalaciòn de mod_jk:
$:cd $HOME/mod_jk
$:tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
$:cd jakarta-tomcat-connectors-1.2.15-src/jk/native/
$:./configure --with-apxs=/usr/local/apache2/bin/apxs --enable-EAPI
$:make
$:cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules

5) Configuraciòn de mod_jk para Apache2
Creamos el archico workers.properties en /usr/local/apache2/conf
$: vi /usr/local/apache2/conf/workers.properties
Y copiamos lo siguiente:
workers.tomcat_home=/usr/local/tomcat5
workers.java_home=$JAVA_HOME
ps=/
worker.list=default

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

Configuramos Apache:
$:vi /usr/local/apache2/conf/httpd.conf
En la secciòn de de "LoadModules" agregamos al final:
LoadModule jk_module modules/mod_jk.so
Y en la secciòn 3, y al final de todo:
#
# Opciones de mod_jk
#

JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"

JkLogLevel error

JkMount /jsp-examples default
JkMount /jsp-examples/* default

# Fin de opciones de mod_jk

Vereficamos la correcta sintaxis de http.conf:
$:cd /usr/local/apache2/bin
$:./apachectl configtest

6) Testing
Llego la hora de probar que todo funcione correctamente. Como recomendaciòn, siempre levanten el servicio de Tomcat y luego Apache. Para bajar los servicios, primero Tomcat y luego Apache

a) Levantamos Tomcat
$:cd /usr/local/tomcat5/bin/
$:./catalina.sh start
Deberemos vereficar corroborando si levantò el el/los procesos java:
$ps -ef | grep java

###Y deberìamos tener como resultado algo del estilo:
###root 9038 1 4 17:54 pts/0 00:00:07 /usr/java/jdk1.5.0_06/bin/java -###Djava.endorsed.dirs=/usr/local/tomcat5/common/endorsed -classpath /usr/java/jdk1.5.0_06/lib/###tools.jar:/usr/local/tomcat5/bin/bootstrap.jar:/usr/local/tomcat5/bin/commons-logging-api.jar -###Dcatalina.base=/usr/local/tomcat5 -Dcatalina.home=/usr/local/tomcat5 -Djava.io.tmpdir=/usr/###local/tomcat5/temp org.apache.catalina.startup.Bootstrap start

b) Levantamos Apache:
$:cd ../../apache2/bin
$:./apachectl start

Podemos vereficar Apache ingresando a:
http://localhost
Tomcat:
http://localhost:8080
Y el conectos mod_jk:
http://localhost/jsp-examples

Para bajar los servicios lo mismo pero con "stop".
Por ejemplo para bajar Tomcat:
$:cd /usr/local/tomcat5/bin
$:./catalina.sh stop

0
Su voto: Ninguno

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Anónimo

No sirve

Este tutorial Esta incompleto nosotros para un proyecto en la universidad instalamos todo lo que se dice en el articulo y nada sirvio no se revisenlo pero en ubunto 5.10 no sirve saludos

Imagen de Anónimo

Sirve en un 100%. Hasta a

Sirve en un 100%. Hasta a sido publicado en la revista Linux Users de la Argentina. Si tu tienes problemas para seguirlo, no saques tus propias conclusiones que son erròneas. En cambio, serìa màs enriquecedor, que digas porque no te funciona, que error tienes, y seguramente se te podrà ayudar.

Imagen de Anónimo

que pena con la ortografía

supongo que fué un patinazo con las prisas, pero escribir "hasta a sido publicado...." de "haber" sido publicado sin "la mudita", ya nos valeeeeee......

Imagen de Anónimo

"valeeee" ¿Què cosa

"valeeee" ¿Què cosa "vale"? ¿Vale $200??, no, acà los tutoriales son gratis. Por favor, intenta escribir en español neutro para que todos te puedan entender, y mejor, intenta ser claro porque realmente no se entiende nada de nada que quieres decir. O mejor, intenta colaborar en algo productivo si te sobra el tiempo.

Imagen de Anónimo

GRACIAS POR EL ARTICULO

simple, preciso y claro
funciona de primera, una lastima el "universitario"que posteo el primer mensaje.
Gracias por el articulo me saco de un apuro

Imagen de Anónimo

Hazte desarrollador de alguna distribución

Yo prefiero "apt-get install libapache2-mod-jk" y de vez en cuando "apt-get update&&apt-get upgrade" que tirarme toda la vida compilando software.

Si te gusta trabajar a ese nivel tan bajo donde mejor puedes ayudar es siendo desarrollador de algún paquete de alguna distribución.

Y si, me alegro de que ya no tengamos que usar tarjetas perforadas, y de poder usar ventanitas. Y no me siento mal por ello.

Saludos

Imagen de Anónimo

Me parece que no has leido,

Me parece que no has leido, esto es para TODAS las distribuciones. Si algún día tienes que configurar estos servidores en distintas distribuciones para miles y miles de clientes, ya verás lo que es volverte LOCO con los paquetes. Que Red Hat tiene este problema, que Ubuntu este otro, que Debian este otro ...

Imagen de Anónimo

Estoy de acuerdo contigo en parte

Es cierto que si compilas vas por la línea recta y siempre va a funcionar ... cuando no tengas problemas con que no encuentras librerías para compilar y que en cada distribución los paquetes que las contienen se llaman de forma diferente.
Pero vamos a suponer que todo va rodao y que funciona a la primera ... y que en poner a funcionar algo tirando de paquetes se tarda más y es más difícil.

Problema de seguridad en la versión del apache, tomcat o lo que quieras.

Solución Debian y Ubuntu "apt-get update&&apt-get upgrade", solución Red Hat ¿yum update? (hace siglos que no toco Red Hat) y tiempo de parada unos segundos.

Ahora cuéntame tú que hay que hacer para actualizar un software compilado en el que has tocado los ficheros de configuración y cuanto sueles tardar normalmente.

Para añadir un módulo al apache "apt-get install libapache-mod-ruby". Dime en una línea que tienes que hacer si quieres añadir un módulo al apache compilado.

"Puede" que en la primera instalación haya que aprender algo más, pero el mantenimiento se reduce a lo mínimo.

Imagen de Anónimo

no consigo acceder a webapps

aun incluyendo el role manager al usuario tomcat definido en tomcat-users.xml no puedo acceder
error 443
alguna idea?
gracias

Imagen de Anónimo

alternativa simple

Gracias por el manual... claro y sencillo, pero ahí van 2 peniques (para calmar ansiedades):

Lo he provado con una ubuntu 5.10, apache2 y jdk1.5, es (si cabe) todavía más simple:

$apt-get install libapache2-mod-jk2

Y luego activa el módulo creando sendos enlaces simbólicos para el mod_jk (conf y load) en /etc/apache2/mod-enabled

Salu2 y gracias por todos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.