miércoles, 28 de noviembre de 2007

Password de root

Hola, a veces cuando trabajamos como superusuario o root en una maquina linux, corremos peligro de modificar la clave de root y no recordarla, sin embargo existe un metodo de poder modificar esta contraseña aun encriptada.

Para eso necesitamos acceder a la maquina victima de alguna forma con los permisos para poder modificar la clave, lo podemos hacer desde un cd live o desde grub antes que botee el sistema (jjj), una vez que estamos con acceso al sistema debemos editar como root el archivo que contiene las claves, este se encuentra en /etc/shadow (Linux fedora, debian y otras distros), sin embargo esta forma de modificar la password solo es valida en fedora, ubuntu y no debian, ya que debian posee ademas un archivo oculto donde almacena las claves, siendo esta distro una de las mas seguras por sus niveles de seguridad, entonces (en fedora y ubuntu) editamos este fichero con el siguiente comando:

[root@desarrollo ~]# nano /etc/shadow

Este nos desplegara por consola el contenido del fichero que almacena las password de las cuentas de la maquina. Nos fijamos en la linea del fichero que comienza con root, este es mi fichero shadow:

root:$1$yIuxswB6$QT86TruSszlFpfJajq0RL0:13845:0:99999:7:::
bin:*:13550:0:99999:7:::
daemon:*:13550:0:99999:7:::
adm:*:13550:0:99999:7:::
lp:*:13550:0:99999:7:::
sync:*:13550:0:99999:7:::
shutdown:*:13550:0:99999:7:::
halt:*:13550:0:99999:7:::
mail:*:13550:0:99999:7:::
news:*:13550:0:99999:7:::
uucp:*:13550:0:99999:7:::
operator:*:13550:0:99999:7:::
games:*:13550:0:99999:7:::
gopher:*:13550:0:99999:7:::
ftp:*:13550:0:99999:7:::
nobody:*:13550:0:99999:7:::
rpm:!!:13550:0:99999:7:::
dbus:!!:13550:0:99999:7:::
avahi:!!:13550:0:99999:7:::
rpc:!!:13550:0:99999:7:::
mailnull:!!:13550:0:99999:7:::
smmsp:!!:13550:0:99999:7:::
nscd:!!:13550:0:99999:7:::
vcsa:!!:13550:0:99999:7:::
haldaemon:!!:13550:0:99999:7:::
rpcuser:!!:13550:0:99999:7:::
nfsnobody:!!:13550:0:99999:7:::
sshd:!!:13550:0:99999:7:::
netdump:!!:13550:0:99999:7:::
pcap:!!:13550:0:99999:7:::
xfs:!!:13550:0:99999:7:::
beaglidx:!!:13550:0:99999:7:::
ntp:!!:13550:0:99999:7:::
apache:!!:13550:0:99999:7:::
hsqldb:!!:13550:0:99999:7:::
gdm:!!:13550:0:99999:7:::
eddie:SPazu6o8RY76c:13845:0:99999:7:::
slackware:$1$XVVZPWKH$.7nfCZ2/5PNKQqjSGxhXd.:13622:0:99999:7:::
acade03:LTZr79vyOL6tE:13845:0:99999:7:::
lorena:UJz7VT.jDOS.U:13845:0:99999:7:::
postgres:!!:13572::::::
valeria:FTTFXp78Npc6E:13845:0:99999:7:::
zidboy:OYUlNA.CKxvOA:13845:0:99999:7:::
desa:$1$Pgrh1DCx$gd1Qyzqew2m/6tntaj9HD.:13787:0:99999:7:::
mysql:!!:13708::::::
csagredo:ECuYwNCZrBjU2:13845:::::13880:
jiratomcat:NNawvQXlqK5og:13845::::::

Vemos aqui que root esta en la primera linea del fichero, en sus casos debiera ser algo similar:

root:$1$yIuxswB6$QT86TruSszlFpfJajq0RL0:13845:0:99999:7:::

Tienes que borrar todo lo que haya entre los primeros y segundos dos puntos, ya que este string es la password encriptada. quedaría así:

root::13845:0:99999:7:::

Ahora podrás bootear tranquilamente y entrar como root, ya que estará sin clave. Te recomiendo que le pongas una lo antes posible con el comando passwd, ya que es un gran riesgo de seguridad dejar el sistema sin password.

¿Moralejas después de esto? Primero, comer pasas. Así no se te volverá a olvidar la clave. Segundo, ponerle clave a GRUB para que nadie pueda entrar en modo single, excepto tú.

Nota: Este artículo es para aquellos que se les olvidó la clave, no para que hackeen otros sistemas, ademas no les servira por que para eso deben saber mas de redes.

Saludos y suerte !!

Maven en Linux

Hola, para los que conocemos ant, no nos costara comprender lo que es maven, ya que maven es la evolución de ant. mejora enormemente la automatización de proyectos Java.

Maven es una herramienta para la gestión y automatización de proyectos Java. Estaba integrado dentro del proyecto Jakarta pero ahora es un proyecto de nivel superior de la Apache Software Foundation.

En la versión 1, maven se basa en un fichero XML de configuración (project.xml) y una serie de plugins, esta herramienta puede compilar el proyecto Java, ejecutar los tests unitarios, generar paquetes (jars, wars, etc..) y generar una serie de reportes. La versión 2 usa también un fichero XML de configuración llamaddo pom.xml. Su funcionalidad es parecida a Apache Ant de manera que permite compilar, ejecutar test o realizar distribuciones pero con la diferencia que trata de forma automática las dependencias del proyecto. Una de las más importantes características es su actualización en línea mediante servidores con repositorios de librerias (jar's). Maven es capaz de descargar nuevas actualizaciones de las bibliotecas de las que depende el proyecto y de igual manera subir una nueva distribución a un repositorio de versiones, dejandola al acceso de todos los usuarios, de esta forma maven alimenta el desarrollo de proyectos Java y el Open source.

Maven se ejecuta de forma nativa por la consola de Unix-Linux (debian en mi caso), tambien tiene plugin de integracion con Eclipse y Netbeans en su version 5.5. Para trabajar con maven primero debemos dirigirnos a su download en la siguiente URL: http://maven.apache.org/index.html, actualemente esta disponible la version 2.0.8, sin embargo este articulo se basara en la instalación y trabajo con maven 1.0.2, he probado con la version 1.1 y 2.0.7 y no existe mayor diferencia, en maven 1.0.2 el comando es maven y en las posteriores es mvn.

Entonces, nos descargamos la version 1.0.2 de la siguiente url, que corresponde a los archivos de Maven:
http://archive.apache.org/dist/maven/binaries/ , una vez que tengamos el archivo maven-1.0.2.tar.gz en algún directorio donde lo dejamos, debemos copiar o mover el archivo al directorio /usr/local de nuestra maquina con el siguiente comando:

slackware:/home/slack/Software# cp maven-1.0.2.tar.gz /usr/local/

* cp para copiar y mv para mover

Nos posicionamos en este directorio y descompimimos el archivo con el siguiente comando por consola:

slackware:/usr/local# tar -xzvf maven-1.0.2.tar.gz

Se generara un directorio con el nombre maven-1.0.2, en /usr/local,

Hacemos un ls -l para ver lo que contiene el directorio:

slackware:/usr/local# ls -l
total 5972
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 bin
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 etc
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 games
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 include
drwxrwsr-x 4 root staff 4096 2007-09-30 21:54 lib
lrwxrwxrwx 1 root staff 9 2007-09-15 08:40 man -> share/man
drwxr-xr-x 5 slack slack 4096 2004-12-07 08:13 maven-1.0.2
-rw-r--r-- 1 slack slack 6060686 2007-11-28 11:57 maven-1.0.2.tar.gz
drwxr-xr-x 6 slack slack 4096 2007-10-18 15:29 maven-2.0.7
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 sbin
drwxrwsr-x 13 root staff 4096 2007-10-12 17:55 share
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 src

Ya confirmado la creación de nuestro directorio maven en usr/local, debemos agregar al path de los ejecutables el nuevo comando de maven, esto es para poder ejecutar maven desde cualquier directorio de linux, ya que en ocaciones debemos ejecutar el comando desde los directorio de nuestras aplicaciones.

Entonces ingresamos la siguiente linea de comandos:

slackware:/usr/local# export PATH=/usr/local/maven-1.0.2/bin:$PATH

OJO: si ejecutamos este comando como root, solo se podra ejecutar el comando maven como root, para ejecutar el comando como un usuario, debemos asegurarmos de los permisos, usuario y grupos del directorio
maven-1.0.2. En ubuntu podemos agregar este path editando el archivo profile, que esta en /etc/profile

supongamos que tenemos dos usuarios: slackware como root y slack, para correr maven como slackware(root) podemos hacerlo de la forma que explique arriba, si queremos ejecutar maven como slack (usuario) , debemos cambiar de usuario y grupo al directorio maven y setar el path, de la siguiente forma:

slackware:/usr/local# chown -R slack maven-1.0.2/
slackware:/usr/local# chgrp -R slack maven-1.0.2/
slackware:/usr/local# ls -la
total 48
drwxrwsr-x 12 root root 4096 2007-11-27 14:01 .
drwxr-xr-x 12 root root 4096 2007-09-20 17:57 ..
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 bin
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 etc
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 games
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 include
drwxrwsr-x 4 root staff 4096 2007-09-30 21:54 lib
lrwxrwxrwx 1 root staff 9 2007-09-15 08:40 man -> share/man
drwxr-xr-x 5 slack slack 4096 2004-12-07 08:13 maven-1.0.2
drwxr-xr-x 6 slack slack 4096 2007-10-18 15:29 maven-2.0.7
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 sbin
drwxrwsr-x 13 root staff 4096 2007-10-12 17:55 share
drwxrwsr-x 2 root staff 4096 2007-09-15 08:40 src
slackware:/usr/local# su slack
slack@slackware:/usr/local$ export PATH=/usr/local/maven-1.0.2/bin:$PATH

Si todo va ok, podriamos ejecutar un maven --version para asegurarmos que todo esta correcto, de la siguiente manera:

slack@slackware:/usr/local$ maven --version
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2

Y huala, ya tenemos maven instalado y configurado en nuestra maquina Linux (debian), ahora podremos ejecutar comandos maven para trabajar con proyectos Java. dejo algunos link de interes para conocer estos comandos.

http://today.java.net/pub/a/today/2007/03/01/building-web-applications-with-maven-2.html

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Saludos y suerte !!

martes, 27 de noviembre de 2007

Common Unix Printing System

Common Unix Printing System , CUPS, es un sistema de impresión modular para sistemas operativos de tipo Unix que permite que un computador actúe como servidor de impresión. Un computador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros computadores clientes, los procesa y los envía al servidor de impresión apropiado.

CUPS está compuesto por una cola de impresión con su planificador, un sistema de filtros que convierte datos para imprimir hacia formatos que la impresora conozca, y un sistema de soporte que envía los datos al dispositivo de impresión. CUPS utiliza el protocolo IPP(Internet Printing Protocol) como base para el manejo de tareas de impresión y de colas de impresión. También provee los comandos tradicionales de línea de comandos de impresión de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo server message block (SMB, no es samba). Los controladores de dipositivos de impresión que CUPS provee pueden ser configurados utilizando archivos de texto con formato Descripción de impresoras PostScript (PPD, PostScript Printer Description en inglés) de Adobe Systems. Existen varias interfaces de usuario para diferentes plataformas para configurar CUPS; cuenta también con una interfaz como aplicación Web. CUPS es software libre y se distribuye bajo licencia GNU.

Para acceder a CUPS lo puedes hacer desde tu browser accediendo a tu localhost:

http://localhost:631/

Esta url corresponde al servidor web de administración de impresoras de tu localhost en Linux (debian en mi caso), desde esta aplicación se puede configurar impresoras y trabajos de impresion.

Saludos y suerte !!

jueves, 15 de noviembre de 2007

Actualización de aplicaciones en Tomcat

Para un equipo de desarrollo lo más conveniente es generar versiones estables de las aplicaciones y publicarlas en un servidor de desarrollo antes de pasarlas a producción, cuando se generan mantenciones en las aplicaciones web, y es necesario pasarlas a un servidor de desarrollo, en este caso Tomcat, se deben seguir los siguientes pasos.

1.- Generar el archivo .war en el ide local, sea eclipse o netbeans.

2.- Ingresar a la maquina de desarrollo, abrir un terminal unix(consola) o el cliente ssh en windows e ingresar la siguiente linea de comando para tener acceso a la maquina de desarrollo como usuario tomcat (previamente creado), en este caso se ocupa linux y su terminal.

slackware:/home/slack# ssh tomcat@desarrollo.gruposiglo.cl

Esta instrucción solicita acceso a la maquina de desarrollo por ssh, el cual nos pedira contraseña del usuario tomcat, en caso de modificación de la contraseña del usuario tomcat, esta debera ser notificada al grupo que efectúa estas tareas.

tomcat@desarrollo.gruposiglo.cl's password: xxxxxxxx

3.- Si el acceso es correcto el login nos dejara en la siguiente ruta del servidor, debemos posicionarnos en la ruta en la cual se encuentra el servidor Tomcat con la siguiente linea de comando:

Last login: Thu Nov 15 10:07:58 2007 from slackware.groupsiglo.local
[tomcat@desarrollo ~]$ cd /home/tomcat/tomcat55/

4.- Con la precaución de que nadie este efectuando alguna tarea importante en el servicio de tomcat en desarrollo y aviso a los demás desarrolladores del grupo, debemos proceder a bajar el servicio Tomcat con la siguiente linea de comando:

[tomcat@desarrollo tomcat55]$ ./bin/shutdown.sh
Using CATALINA_BASE: /home/tomcat/tomcat55
Using CATALINA_HOME: /home/tomcat/tomcat55
Using CATALINA_TMPDIR: /home/tomcat/tomcat55/temp
Using JRE_HOME: /usr/java/jdk1.5.0_12
CompilerOracle: exclude org/apache/lucene/index/IndexReaderstop doBody


5.- Posteriormente debemos eliminar los archivos de la aplicación que queremos actualizar, por ejemplo cdding, para los cual debemos seguir los siguientes pasos, comenzamos por ingresar al directorio donde se encuentra esta aplicación (webapps) con la siguiente linea de comando:

[tomcat@desarrollo tomcat55]$ cd webapps/

Lo cual nos dejara en el directorio donde se encuentran las aplicaciones de desarrollo.

Si hacemos un ls -l, nos listara las aplicaciones del directorio, sus usuarios y grupos:

[tomcat@desarrollo webapps]$ ls -l
total 141712
drwxr-xr-x 5 tomcat tomcat 4096 sep 12 2006 balancer
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 14:10 cdding
-rw-r--r-- 1 tomcat tomcat 15367817 nov 14 14:10 cdding.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 12 11:27 genera
-rw-r--r-- 1 tomcat tomcat 11039668 nov 12 11:23 genera.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 17:54 gestionDesgravamenIng
-rw-r--r-- 1 tomcat tomcat 15710827 nov 14 17:51 gestionDesgravamenIng.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:15 jetspeed
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:33 jetspeed-2.1.2
-rwxr-xr-x 1 tomcat tomcat 15586886 nov 5 14:31 jetspeed-2.1.2.war
drwxr-xr-x 19 tomcat tomcat 4096 jul 19 13:27 jetspeed_old
drwxr-xr-x 6 tomcat tomcat 4096 feb 20 2007 jfm
drwxr-xr-x 14 tomcat tomcat 4096 feb 7 2007 jira
drwxr-xr-x 21 tomcat tomcat 4096 feb 7 2007 jsp-examples
drwxr-xr-x 5 tomcat tomcat 4096 oct 26 18:05 MProcesos_SGDING
drwxr-xr-x 21 tomcat tomcat 4096 nov 2 17:13 mundialcore
-rw-r--r-- 1 tomcat tomcat 33091582 nov 2 17:13 mundialcore.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 ROOT
drwxr-xr-x 9 tomcat tomcat 4096 oct 23 18:26 scarab
-rw-r--r-- 1 tomcat tomcat 17459313 oct 23 18:23 scarab.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 servlets-examples
drwxr-xr-x 12 tomcat tomcat 4096 feb 7 2007 tomcat-docs
drwxr-xr-x 9 tomcat tomcat 4096 sep 27 09:33 WebConsorcio
-rw-r--r-- 1 tomcat tomcat 12183733 sep 27 09:25 WebConsorcio.war
drwxr-xr-x 10 tomcat tomcat 4096 oct 26 18:05 WebDemo
-rw-r--r-- 1 tomcat tomcat 12057521 may 29 12:08 WebDemo.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 20:58 WebIng
-rw-r--r-- 1 tomcat tomcat 12220073 nov 14 20:53 WebIng.war


Para esta tarea recordemos que el servicio de tomcat debe estar abajo.

Posteriormente eliminamos el archivo y directorio de la aplicación que queremos actualizar (cdding de ejemplo), con los siguientes comandos:

[tomcat@desarrollo webapps]$ rm -rf cdding.war

En la linea anterior hemos eliminado el .war de la aplicación, seguidamente eliminamos el directorio con el siguiente comando:

[tomcat@desarrollo webapps]$ rm -rf cdding

Y al hacer un ls -l vemos que este archivo y directorio ya no existen:

[tomcat@desarrollo webapps]$ ls -l
total 111712
drwxr-xr-x 5 tomcat tomcat 4096 sep 12 2006 balancer
drwxr-xr-x 9 tomcat tomcat 4096 nov 12 11:27 genera
-rw-r--r-- 1 tomcat tomcat 11039668 nov 12 11:23 genera.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 17:54 gestionDesgravamenIng
-rw-r--r-- 1 tomcat tomcat 15710827 nov 14 17:51 gestionDesgravamenIng.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:15 jetspeed
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:33 jetspeed-2.1.2
-rwxr-xr-x 1 tomcat tomcat 15586886 nov 5 14:31 jetspeed-2.1.2.war
drwxr-xr-x 19 tomcat tomcat 4096 jul 19 13:27 jetspeed_old
drwxr-xr-x 6 tomcat tomcat 4096 feb 20 2007 jfm
drwxr-xr-x 14 tomcat tomcat 4096 feb 7 2007 jira
drwxr-xr-x 21 tomcat tomcat 4096 feb 7 2007 jsp-examples
drwxr-xr-x 5 tomcat tomcat 4096 oct 26 18:05 MProcesos_SGDING
drwxr-xr-x 21 tomcat tomcat 4096 nov 2 17:13 mundialcore
-rw-r--r-- 1 tomcat tomcat 33091582 nov 2 17:13 mundialcore.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 ROOT
drwxr-xr-x 9 tomcat tomcat 4096 oct 23 18:26 scarab
-rw-r--r-- 1 tomcat tomcat 17459313 oct 23 18:23 scarab.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 servlets-examples
drwxr-xr-x 12 tomcat tomcat 4096 feb 7 2007 tomcat-docs
drwxr-xr-x 9 tomcat tomcat 4096 sep 27 09:33 WebConsorcio
-rw-r--r-- 1 tomcat tomcat 12183733 sep 27 09:25 WebConsorcio.war
drwxr-xr-x 10 tomcat tomcat 4096 oct 26 18:05 WebDemo
-rw-r--r-- 1 tomcat tomcat 12057521 may 29 12:08 WebDemo.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 20:58 WebIng
-rw-r--r-- 1 tomcat tomcat 12220073 nov 14 20:53 WebIng.war


6.- Siempre con el servicio de tomcat abajo debemos copiar a este directorio la nueva o actualización de la aplicación (archivo .war) que queremos desplegar, para esto podemos ocupar algún navegador de archivos, como ssh client para windows o el comando scp en la consola de linux o algún navegador con soporte para sftp como konqueror en linux.

Una vez que copiamos nuevamente la aplicación (.war) a este directorio podemos hacer un ls -l para confirmar su existencia en el webapps de tomcat:

[tomcat@desarrollo webapps]$ ls -l
total 141712
drwxr-xr-x 5 tomcat tomcat 4096 sep 12 2006 balancer
-rw-r--r-- 1 tomcat tomcat 15367817 nov 14 14:10 cdding.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 12 11:27 genera
-rw-r--r-- 1 tomcat tomcat 11039668 nov 12 11:23 genera.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 17:54 gestionDesgravamenIng
-rw-r--r-- 1 tomcat tomcat 15710827 nov 14 17:51 gestionDesgravamenIng.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:15 jetspeed
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:33 jetspeed-2.1.2
-rwxr-xr-x 1 tomcat tomcat 15586886 nov 5 14:31 jetspeed-2.1.2.war
drwxr-xr-x 19 tomcat tomcat 4096 jul 19 13:27 jetspeed_old
drwxr-xr-x 6 tomcat tomcat 4096 feb 20 2007 jfm
drwxr-xr-x 14 tomcat tomcat 4096 feb 7 2007 jira
drwxr-xr-x 21 tomcat tomcat 4096 feb 7 2007 jsp-examples
drwxr-xr-x 5 tomcat tomcat 4096 oct 26 18:05 MProcesos_SGDING
drwxr-xr-x 21 tomcat tomcat 4096 nov 2 17:13 mundialcore
-rw-r--r-- 1 tomcat tomcat 33091582 nov 2 17:13 mundialcore.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 ROOT
drwxr-xr-x 9 tomcat tomcat 4096 oct 23 18:26 scarab
-rw-r--r-- 1 tomcat tomcat 17459313 oct 23 18:23 scarab.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 servlets-examples
drwxr-xr-x 12 tomcat tomcat 4096 feb 7 2007 tomcat-docs
drwxr-xr-x 9 tomcat tomcat 4096 sep 27 09:33 WebConsorcio
-rw-r--r-- 1 tomcat tomcat 12183733 sep 27 09:25 WebConsorcio.war
drwxr-xr-x 10 tomcat tomcat 4096 oct 26 18:05 WebDemo
-rw-r--r-- 1 tomcat tomcat 12057521 may 29 12:08 WebDemo.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 20:58 WebIng
-rw-r--r-- 1 tomcat tomcat 12220073 nov 14 20:53 WebIng.war


Ya confirmada la existencia del .war en el directorio webapps de tomcat, nos debemos pocisionar el la raiz del tomcat con el siguiente comando:

[tomcat@desarrollo webapps]$ cd ..


7.- Seguidamente arrancamos nuevamente el servicio con la siguiente linea de comando:

[tomcat@desarrollo tomcat55]$ ./bin/startup.sh
Using CATALINA_BASE: /home/tomcat/tomcat55
Using CATALINA_HOME: /home/tomcat/tomcat55
Using CATALINA_TMPDIR: /home/tomcat/tomcat55/temp
Using JRE_HOME: /usr/java/jdk1.5.0_12


Si todo va bien esta acción desempaquetara el archivo .war de la aplicación generando un directorio con su nombre.

[tomcat@desarrollo webapps]$ ls -l
total 141712
drwxr-xr-x 5 tomcat tomcat 4096 sep 12 2006 balancer
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 14:10 cdding
-rw-r--r-- 1 tomcat tomcat 15367817 nov 14 14:10 cdding.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 12 11:27 genera
-rw-r--r-- 1 tomcat tomcat 11039668 nov 12 11:23 genera.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 17:54 gestionDesgravamenIng
-rw-r--r-- 1 tomcat tomcat 15710827 nov 14 17:51 gestionDesgravamenIng.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:15 jetspeed
drwxr-xr-x 9 tomcat tomcat 4096 nov 5 14:33 jetspeed-2.1.2
-rwxr-xr-x 1 tomcat tomcat 15586886 nov 5 14:31 jetspeed-2.1.2.war
drwxr-xr-x 19 tomcat tomcat 4096 jul 19 13:27 jetspeed_old
drwxr-xr-x 6 tomcat tomcat 4096 feb 20 2007 jfm
drwxr-xr-x 14 tomcat tomcat 4096 feb 7 2007 jira
drwxr-xr-x 21 tomcat tomcat 4096 feb 7 2007 jsp-examples
drwxr-xr-x 21 tomcat tomcat 4096 nov 2 17:13 mundialcore
-rw-r--r-- 1 tomcat tomcat 33091582 nov 2 17:13 mundialcore.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 ROOT
drwxr-xr-x 9 tomcat tomcat 4096 oct 23 18:26 scarab
-rw-r--r-- 1 tomcat tomcat 17459313 oct 23 18:23 scarab.war
drwxr-xr-x 4 tomcat tomcat 4096 feb 7 2007 servlets-examples
drwxr-xr-x 12 tomcat tomcat 4096 feb 7 2007 tomcat-docs
drwxr-xr-x 9 tomcat tomcat 4096 sep 27 09:33 WebConsorcio
-rw-r--r-- 1 tomcat tomcat 12183733 sep 27 09:25 WebConsorcio.war
drwxr-xr-x 10 tomcat tomcat 4096 oct 26 18:05 WebDemo
-rw-r--r-- 1 tomcat tomcat 12057521 may 29 12:08 WebDemo.war
drwxr-xr-x 9 tomcat tomcat 4096 nov 14 20:58 WebIng
-rw-r--r-- 1 tomcat tomcat 12220073 nov 14 20:53 WebIng.war

8.- Si queremos verificar que el servicio esta arriba, ingresamos la siguiente linea de comandos, la cual nos confirma el uso del servicio y el puerto que esta ocupando:

[tomcat@desarrollo tomcat55]$ netstat -tan | grep 8080
tcp 0 0 :::8080 :::* LISTEN

En caso contrario no mostrara nada.

Si queremos ver el log del servicio tomcat, podemos ingresar la siguiente linea de comando:

[tomcat@desarrollo tomcat55]$ tail -f logs/catalina.out

los cual nos despliega la traza del servicio y sus aplicaciones.

Toda esta tarea de mantención no debiera demorar más de 5 minutos, con la practica podemos hacer esto en unos 3 minutos, recordemos que se debe efectuar en el menor tiempo posible para no interrumpir otras acciones del grupo de desarrollo.


Saludos y Suerte !!

viernes, 2 de noviembre de 2007

Asignar memoria a java para eclipse

Hola, a veces desarrollando aplicaciones java en eclipse, debugueando y ocupando gran cantidad de memoria en nuestro sistema, etc... eclipse nos manda un OutOfMemoryExceptions, warning o error de overlock de memoria, y se nos complica seguir trabajando hasta reiniciar eclipse.

Por lo tanto la solución es asignar más memoria a la Java virtual machine sobre la que corre eclipse, y para eso tenemos que parametrizar los parámetros con los que se incializa la Java Virtual Machine. existen algunos metodos para setear esa cantidad de memoria, el más simple y efectivo es pasar estos parametros de memoria en el lanzador de eplipse en el escritorio del linux, en mi caso es debian, la linea del lanzador que hay que editar es:

/home/slack/programas/eclipse/eclipse

quedando:

/home/slack/programas/eclipse/eclipse -vmargs -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=128m

En algunas distros de Linux, cuando parametrizamos este lanzador, aparece sobre el icono de eclipse una taza de café.


Saludos y suerte !!