Custom Search
Bloggers Activos
Una historia para meditar tonathiu
K3b burning failed asimov
La evolución del Programador mandrake
Darwin no perdió la fe por desarrollar la teoría de la evolución blacksoul
El Dalai Lama dice: vendaval
Religión, fanatísmo o Terrorismo? blacksoul
De regreso a la Mononeurona y probando NetBSD 4.0 luzbel
Dani people's vaio chilicuil
Una Canción Triste vendaval
¡Lo hemos conseguido! der_teufel
Last Download
Segunda Fundación
Segunda Fundación
Continuación del Curso de DB
rnstux
Tattoo
aarkerio
Gentoo Linux 2008.0 released
asarch
Libro de Servidores GNU/LINUX Licencia CC
vendaval
Ese elusivo 1%
aarkerio
El ACTA se discute en el G8
aarkerio
Asus lanza rival para el iMac
aarkerio
Manda al diablo a Telcel
asarch
Seguimiento de Cuba...
vendaval
Las mentiras
aarkerio
Google Groups Karamelo
Visit this group
GNU/Linux
GNU/Linux
Hacktivismo
Hacktivismo
Debian
Debian
NetBSD
NetBSD
WWW
WWW
Guia Linux
Guia Linux
Server Side
Server Side
Ofimatica
Ofimatica
Despabilando...
Despabilando...
Mundo Maya
Mundo Maya
Literatura
Literatura
Agora
Agora
Psicologia
Psicologia
Economia
Economia
Ambientalismo
Ambientalismo
Desarrollo
Desarrollo
Biologia
Biologia
No a la crueldad
No a la crueldad

Hacktivism

LinuxChix button

Server Side
Server Side
Tomcat, Java y PostgreSQL

Este artículo ha sido consultado en 2,327 ocasiones.



En este tutorial se enseña cómo realizar una aplicación web básica usando GNU/Debian + Tomcat + Postgresql

Uno de los problemas con respecto a desarrollar aplicaciones java en debian, es que la version estable (Woody) trae un jdk desfasado (muy viejo pues), pues es el 1.1.8 mientras que el de Sun ya va en el 1.4.2 Así, un número considerable de programas como jetty, Jboss o jigsaw tienen problemas, además hay mucho código fuente que llama a paquetes del jdk1.4. Entonces, en lugar de usar el apt-get de debian recomiendo bajar el jdk de Blackdown , de preferencia el 1.4.1 que es la version estable. Una vez descargado el paquete se descomprime simplemten ejecutandolo pues se trata de un binario:

$ sh ./jdk1.4.1.bin

Nota: Para este tutorial asumo dos usuarios: el root y un usuario normal.
Los comandos que deberán ser ejecutados por el root están precedidos por ' # ' mientras los del usuario normal lo estan por ' $ '

.

Esto creará un directorio nuevo con un nombre parecido a "jdk1.4-algo-mas". Nos cambiamos a root y movemos el directorio recién creado al directorio /opt con el nombre jdk1.4:

# mv jdk1.4-algo-mas /opt/jdk1.4

Ahora el compilador (javac) y la JVM (java) deben estar en /usr/lib/jdk1.4/bin, creamos links simbólicos en /usr/bin para que el sistema los encuentre pues busca siempre en ese directorio cuando invocamos un comando:

# ln -s /opt/jdk1.4/bin/java /usr/bin/java

# ln -s /opt/jdk1.4/bin/javac /usr/bin/javac

Abrimos otra terminal y como usuario normal tecleamos:

$java -version

Esto es para conocer los detalles de la JVM, debe regresar algo como Java Version "1.4.1" y algunos detalles más. Tambien tecleamos:

$ javac

Nos regresara un mensaje de error y sugerencias de uso pero no nos importa, lo que queríamos comprobar es que los comandos java y javac se pueden usar desde cualquier directorio y por cualquier usuario, ahora java esta instalado en nuestro sistema.

En cuanto a nuestra querida PostgreSQL.org basta con usar la herramienta apt-get. El archivo /etc/apt/sources.list debe tener algo como esto en caso de que queramos bajar postgresql desde la red:

deb http://debian.lcs.mit.edu/debian woody main contrib non-free
deb-src ftp://ftp.debian.org/debian woody main contrib non-free
#Debian Non-US
deb http://non-us.debian.org/ woody/non-US main contrib non-free
#deb-src http://non-us.debian.org/ woody/non-US main contrib non-free

Me gusta tomar los archivos del servidor del MIT por que esta mantenido con dinero del ejército de EU, de modo que por lo menos regresa un poco de lo mucho que abusivamente nos quitan a las colonias =P. Por supuesto debes de cambiar la opción "woody" dependiendo de la versión de Debian que tengas. Dado que para este tutorial supongo un equipo en producción, deberemos seleccionar los paquetes de la versión estable, que en este momento (Julio del 2004) es Woody. Ahora que hemos editado nuestro archivo, actualizamos nuestra lista de paquetes con:

# apt-get update

En caso de que postgresql este en un cd de alguna distribucion de Debian basta con el comando "apt-cdrom add" para agregar los paquetes de ese cd al archivo sources.list. Héchale un ojo al contenido antes y después de correr al comando apt-cdrom para que veas los cambios. Ahora que hemos decidido de donde tomaremos los paquetes simplemente instalamos la base de datos con el comando apt-get:

# apt-get install postgresql

Y esperamos a que se instale, si es la primera vez que se instala nos preguntara alguno detalles como el formato de fecha y que tipo de caracteres vamos a usar, por supuesto un japonés no debería de seleccionar el mismo tipo que un sueco, en el caso del español debemos selecionar LATIN1 para que postgresql no tenga problemas con los acentos y las eñes. Nos hacemos un gran favor (no, no ese favor) y en el archivo /etc/postgresql/pg_hba.conf utiliza esta línea como método de autentificación:

local all trust

Ahora que hemos configurado postgresql reiniciamos la base de datos con el script de postgresql asi:

# /etc/init.d/postgresql restart

Nos cambiamos al usuario "postgres", vamos al directorio /usr/local/pgsql/bin y creamos una base de datos llamada "clientes" con el comando

$ createdb clientes

En seguida hacemos uso de esa base de datos con el comando psql:

psql clientes

Ya adentro de la base de datos creamos la tabla "datos":

clientes=# CREATE TABLE datos (
id_datos serial,
direccion varchar(60),
cp varchar(6),
email varchar(20)
);

Creamos un par de registros para la tabla "datos":

clientes=#INSERT INTO datos VALUES (NEXTVAL('datos_id_datos_seq'), 'Ceballos 106-2', '04340', 'linus@torvald.org');

clientes=#INSERT INTO datos VALUES (NEXTVAL('datos_id_datos_seq'), 'Cerrada del puerco 89', '92165', 'porky@bacon.org');

Nos cambiamos a root y modificamos el password del usuario "postgres" a "mex2004" asi:

#passwd postgres

y tecleamos dos veces "mex2004".

Bien, ahora tenemos java y postgresql ibnslados y funcionando, ahora decargamos los binarios de Tomcat, yo uso la version 5.0.x asi que es la que recomiendo bajar. Descomprimimos el archivo:

$tar -zxvf jakarta-tomcat-5.0.x.tar.gz

y el directorio resultante lo colocamos en /usr/local con el nombre "tomcat":

# mv jakarta-tomcat /usr/local/tomcat

El java webserver Tomcat es un proyecto cuyo nomre clave es CATALINA, por lo cual cuando nos refiramos a $CATALINA_HOME nos estaremos refiriendo al directorio /usr/local/tomcat. Tomcat trae un grupo de scripts para activar y desactivar el java webserver, este directorio esta en $CATALINA_HOME/bin/, buscamos el script startup.sh y tecleamos como usuario normal:

$./startup.sh

Bueno, ahora probamos que tomcat este trabajando abriendo nuestro browser y colocándonos en el puerto 8080 que es el que usa por default tomcat : http://localhost:8080. La página de Tomcat debe aparecer con su logotipo de Tomcat arriba a la izquierda, esto nos dice que el servidor está funcionando ( <-- notar la extrema brillantez de la inferencia). Ahora podemos ir a http:/localhost:8080/examples/ para ver algunos de los ejemplos de servlets y JSP que vienen con tomcat.

Ahora instalamos el JDBC de postgresql descargándolo de jdbc.postgresql.org y teniendo cuidado de descargar la version para java2 de nuestra version de postgresql, si tenemos la version de postgresql 7.4.x el JDBC es este. Después de descargado movemos el archivo.jar a al directorio $CATALINA_HOME/common/lib de tomcat:

# mv pg74jdbc3.jar $CATALINA_HOME/common/lib/pg74jdbc3.jar

Bien, pasamos a la parte más difícil de la instalación que son las variables de entorno, son varias, pero la más importante es CLASSPATH (en java muchas veces cuando algo falla es por que el CLASSPATH no contienen los archivos .jar necesarios). Cuando abres una sesión de shell estas tomando variables de ambiente, para ver estas variables utiliza el comando "env". Para colocar una variable simplemente tienes que teclear:

$ export CATALINA_HOME=/usr/local/tomcat

Para comprobar que la variable ya esta en "el ambiente" teclea:

$ echo $CATALINA_HOME

Debes poder ver como respuesta a este comando: «/usr/local/tomcat». Estas variables le dicen al sistema donde encontrar los recursos (los archivos pues), el problema es que si usas el comando "export" desde la linea de comandos para colocar variables, estas se perderán cada vez que cierras la sesion de shell, esto es bastante fastidioso. En lugar de esto las variables deben estar definidas en el archivo .bash_profile de la persona que vaya a activar Tomcat (que no debe ser el root). El archivo .bash_profile deber tener estas líneas:

PATH="/usr/local/bin:/usr/bin:/bin:./:/usr/bin/X11:/usr/games"
CLASSPATH="/opt/jdk1.4/lib/dt.jar:/usr/lib/jdk1.4/lib/tools.jar:
/usr/share/java/servlet.jar
/usr/share/java/pg74jdbc3.jar"
JAVA_HOME="/opt/jdk1.4:/usr/share/java"
TOMCAT_HOME="/usr/local/tomcat"
export PATH CLASSPATH JAVA_HOME TOMCAT_HOME

NOTA: Por alguna misteriosa razón KDE no toma los variables de .bash_profile así que inténtalo con el archivo de .bashrc

Despues de modificar este archivo, cerramos las terminales del usuario que vaya a activar tomcat y vaya a compilar con el compilador de java (si son varios usuarios, se deben agregar esas lineas a cada uno de los perfiles). Abrimos una terminal y tecleamos "env" para ver si las variables de entorno aparecen, nótese que las variables deben estar declaradas después del comando "export" en el archivo .bash_profile (o .bashrc en el caso de kde). Si eres de esos que les gusta reiniciar el equipo despues de haber estado manoseando mucho los archivos, estas en libertad de hacerlo (que se la va a hacer!!, malos hábitos adquiridos de usar sistemas operativos mal hechos =: ) ).

Como usuario normal apagamos y reiniciamos Tomcat:

$ CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

Nos colocamos en nuestro browser en http://127.0.0.1:8080/index.html

y voila! hemos finalizado la configuracion. Para comprobar que todo trabaje bien simplemente hojeamos los ejemplos que trae Tomcat. Si todo parece correcto podemos ir al siguiente paso, que es ver la base de datos con el navegador, para ello descarga este archivo en el directorio raiz. Si vemos los registros, este es el archivo para editarlos.Y por último este es el archivo para actualización.


Última actualización: 2007-04-29 10:57:00-05

Printable version

Add comment:



Captcha




Que estas haciendo?
chilicuilchilicuil está:
Gracias por la ayuda rnstux :D
1 day, 4 hours ago

der_teufelder_teufel está:
|-O
1 day, 6 hours ago

rnstuxrnstux está:
checa esto!! agregale lógica y listo. http://tinyurl.com/5s7ttw
2 days, 2 hours ago

rnstuxrnstux está:
WTF?..
2 days, 2 hours ago

chilicuilchilicuil está:
Algun mononeuron sabra como agregar excepciones al firewall de win xp sp2 con vb6?
2 days, 6 hours ago

mandrakemandrake está:
Aarkerio como va el cyber? con linux
2 days, 6 hours ago

Que estuvimos haciendo >>
Chipotle Software

Uso OpenOffice.org
Una vez a la semana
Nunca
Uso otra ofimática
Todos los días
Una vez al mes
Rapiditas
Problemas de Lenguaje en niños
13738 lecturas
Anticoncepción de Emergencia
11556 lecturas
Sexualidad infantil y juvenil
11095 lecturas
Rompiendo cualquier clave WEP en unos pocos minutos
8690 lecturas
Sinapsis y exocitosis
8100 lecturas
Mi primer CakePHP, mmmmm cakeee
6366 lecturas
Evolución filética en las hepáticas
5939 lecturas
BASH y Primeros Comandos
4900 lecturas
CakePHP II Active Record
4672 lecturas
Cómo convertirse en hacker
4231 lecturas
Add to Technorati Favorites

ir arriba
Lo que no sé, tampoco creo saberlo. Platón

The Queen is here Mozilla Firefox The Best DataBase CakePHP Framework XHTML GNU Hacker Chipotle Software

Too Cool for Internet Explorer