\t\t\t\t
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra le ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
Este documento muestra como podemos montar Tomcat 5 originalmente en Mandriva 2006.
Aunque Tomcat puede portarse como un servidor Web corriendo en el puerto 80 suele ser una
buena idea tener mejor Apache, él puede encargarse de la recepción de peticiones de jsp y
enviarlas al servidor Tomcat para que sean atendidas, quien a su vez retorna la info a apache para
que este se la envie al cliente.
Evidentemente lo primero que necesitamos para desarrollar en Java es instalar el
kit de desarrollo (JDK) que podemos descargar desde la web de Sun. A la hora de escribir este tutorial la última versión es la 5.0 Update 6.
Sun provee dos paquetes, un RPM y un bin autoextraible, para este documento utilizaremos la versión autoextraible (Linux self-extracting file) en lugar del paquete RPM. (Aunque el jefe prefiera RPMs)
Tambien los RPMS se pueden convertir en DEBs usando la herramienta alien.
Bueno esto es sacado de una pagina por ahi.. pero yo preferi hacerlo con el RPM. el .bin genera el RPM que luego debe instalar
su -
Introducir contraseña de root
cp -p jdk-1_5_0_06-linux-i586.bin /usr/local
cd /usr/local
chmod +x jdk-1_5_0_06-linux-i586.bin
./jdk-1_5_0_06-linux-i586.bin
rm jdk-1_5_0_06-linux-i586.bin
Por requerimientos de la aplicación que se quiso correr cuando se escribio este COMO se
instalo la version 1.4 de sdk
j2sdk-1_4_2_11-linux-i586-rpm.bin&File=j2sdk-1_4_2_11-linux-i586-rpm.bin
Esto extraerá el contenido del archivo en una nueva carpeta jdk1.5.0_06 en /usr/local(en caso
de que lo haga con los binarios si no lo deja en /usr/java). Ahora basta crear la variable de entorno
para indicar dónde está instalado el JDK y añadir a la variable PATH el directorio en el que se
encuentran los binarios para poder ejecutarlos desde cualquier sitio. Para ello abrimos el archivo
/etc/profile con nuestro editor favorito (como root) y añadimos las siguientes líneas al final:
cp -p jdk-1_4_2_11-linux-i586.bin /usr/local
cd /usr/local
chmod +x jdk-1_4_2_11-linux-i586.bin
./jdk-1_4_2_11-linux-i586.bin
rm jdk-1_4_2_11-linux-i586.bin
Esto extraerá el contenido del archivo en una nueva carpeta jdk1.5.0_06 en /usr/local. Ahora
basta crear la variable de entorno para indicar dónde está instalado el JDK y añadir a la
variable PATH el directorio en el que se encuentran los binarios para poder ejecutarlos desde
cualquier sitio. Para ello abrimos el archivo /etc/profile con nuestro editor favorito (como root)
y añadimos las siguientes líneas al final:
export JAVA_HOME=/usr/java/j2sdk1.4.2_11
export JAVA_BIN=/usr/java/j2sdk1.4.2_11/bin
export CLASSPATH=./:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/htmlconverter.jar:$CATALINA_BIN
export PATH=$PATH:$JAVA_HOME:$JAVA_BIN
NOTA: CATALINA_BIN se define adelante con tomcat
Actualizamos las variables de entorno:
source /etc/profile
Si todo ha salido bien al escribir javac -version deberíamos obtener el número de
versión del compilador de Java. En el caso de que algo halla salido mal el sistema
nos informará de que no encontró ningún ejecutable con ese nombre.
Bueno.. supongo que que ya tiene apache instalado y configurado.. sino remitase al COMO de Apache.
Descargamos la aplicación desde su web. En este caso no tenemos más que descomprimir
el archivo en el directorio que queramos, ya que se trata de una aplicación Java.
cp -p apache-tomcat-5.0.28.tar.gz /usr/local/
cd /usr/local
tar xvzf apache-tomcat-5.0.28.tar.gz
rm apache-tomcat-5.0.28.tar.gz
De nuevo vamos a editar /etc/profile para añadir la variable de entorno CATALINA_HOME:
CATALINA_HOME=/usr/local/apache-tomcat-5.0.28
export CATALINA_HOME
Y actualizamos:
source /etc/profile
Por último ejecutamos el script de iniciación de tomcat:
/usr/local/apache-tomcat-5.0.28/bin/startup.sh
Deberías ver la página de bienvenida de Tomcat introduciendo la URL http://localhost:8080
en un navegador.
Por ahora vamos a parar Tomcat
/usr/local/apache-tomcat-5.0.28/bin/shutdown.sh
En este momento tenemos instalados ambos servidores que correrían de forma independiente, con Apache
escuchando en el puerto 80 y Tomcat escuchando en el 8080.
Existen dos versiones del conector, JK y JK2. Aunque parezca raro la versión que nos interesa instalar
es la primera, ya que la segunda está descontinuada. El código fuente se puede descargar desde la
web de Tomcat.
Vamos a compilar el módulo mod_jk.so (debería colocarlo en la carpeta de módulos del servidor Apache):
cp -p jakarta-tomcat-connectors-1.2.15-src.tar.gz /usr/local/src/
cd /usr/local/src
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
rm jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd jakarta-tomcat-connectors-1.2.15-src/jk/native/
./buildconf.sh
./configure –with-apxs=/usr/sbin/apxs
make
make install
En caso de que tenga problemas con apxs recuerde que son herramientas incluidas dentro del Apache-devel:
apache-devel-2.0.54-13mdk.i586.rpm, fue el paquete que instale en Mandriva 2006.
Y ahora sólo falta configurarlo. Creamos un nuevo archivo workers.properties en /etc/httpd/conf
con el siguiente contenido:
workers.tomcat_home=/usr/local/apache-tomcat-5.0.28/
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
Editamos el archivo de configuración de Apache (/etc/httpd/conf/httpd2.conf) para cargar el
módulo. En la sección LoadModules añadimos:
LoadModule jk_module modules/mod_jk.so
Y al final del archivo:
JkWorkersFile “conf/workers.properties”
JkLogFile “logs/mod_jk.log”
JkLogLevel warn
JkMount /jsp-examples default
JkMount /jsp-examples/* default
JkMount es la línea que indica a Apache que solicitudes reenviar a Tomcat. En este caso
llamaremos a Tomcat siempre que se intente acceder a cualquier archivo del directorio
jsp-examples, donde se guardan algunos ejemplos para demostrar el uso de JSP,
utilizando el protocolo definido por “default”. También podríamos haber utilizado algo
del estilo *.jsp para ejecutar Tomcat sólo en el caso de que los archivos terminaran con
esta extensión.
Por último iniciamos Apache y Tomcat:
/usr/local/apache-tomcat-5.5.16/bin/startup.sh
/usr/local/apache/bin/apachectl start
Al introducir la URL http://localhost deberíamos ver la web de bienvenida de Apache, al
introducir http://localhost:8080 la de Tomcat, y con http://localhost/jsp-examples Apache
enviará la petición a Tomcat.
ALgo que le puede ser muy util es el archivo para iniciar tomcat como servicios del sistema:
Cree un archivo tomcat5 en /etc/init.d/ y dele permisos de ejecución
touch /etc/init.d/tomcat5
chmod +x /etc/init.d7tomcat5
chown -f root:root /etc/init.d/tomcat5
chmod -f 0755 /etc/init.d/tomcat5
luego cree los
# chown -f root:root /etc/rc.d/init.d/jabberd2
# chmod -f 0755 /etc/rc.d/init.d/jabberd2
Cree los enlaces simbolicos según lo necesite:
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc0.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc1.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc2.d/S85tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc2.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc3.d/S85tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc3.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc4.d/S85tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc4.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc5.d/S85tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc5.d/K15tomcat5
# ln -s /etc/init.d/tomcat5 /etc/rc.d/rc6.d/K15tomcat5
El contenido del archivo es el siguiente:
#
# Start/Shutdown the Tomcat server
#
BIN=/usr/local/tomcat5/bin
export JAVA_HOME=/usr/java/j2sdk1.4.2_11
#export DISPLAY=:0.0
#
#
case “$1” in
stop)
# Shutdown Tomcat.
echo -n “Sending Tomcat processes the shutdown…”
$BIN/shutdown.sh
#
;;
start)
# Start Tomcat.
echo -n “Starting Tomcat Server…”
su - tomcat -c “$BIN/startup.sh & 2> /dev/null”
sleep 1
#$BIN/startup.sh tomcat
#
;;
*)
echo “Usage: $N {start|stop}” >&2
exit 1
;;
esac
exit 0
#
Ahora pruebe: # /etc/rc.d/init.d/ start
1. java/lang/NoClassDefFoundError: java/lang/Object
05-Mayo-2006 Jhair A. Escobar v1.0 Primera version