lunes, 31 de marzo de 2014

Tomcat y Eclipse: compañeros de camino


En este post vamos a finalizar nuestro entorno de pruebas. Vamos a instalar Tomcat 7 para poder desplegar las aplicaciones que hagamos en nuestro entorno de desarrollo.

Arrancamos nuestra máquina virtual y accedemos a ella a través de nuestro cliente favorito: putty.


Si habéis hecho lo mismo que yo vemos que tenemos algunas actualizaciones pendientes, para estar seguros de que tenemos los paquetes de los repositorios actualizados ejecutamos el comando:

sudo apt-get update

La consola empezará a escribir como loca, en cuando metamos nuestro password. Tranquilos, sólo está actualizando lo que el sistema necesita.



Cuando llegue al final podremos leer:

Leyendo lista de paquetes... Hecho

Ahora vamos a instalar Tomcat 7 y el Administrador Web de Tomcat.

Ejecutamos el comando:

sudo apt-get install tomcat7 tomcat7-admin

A continuación nos aparece todo lo que va a instalar, y nos pregunta si estamos de acuerdo.


Le decimos que Sí y esperamos un rato (largo). Como veis es bastante fácil.

Él sólo se va a bajar Java y todas las dependencias que necesita:


Cuando termina en la consola aparece lo siguiente:

Procesando disparadores para libc-bin ...
ldconfig deferred processing now taking place

Para ver si todo ha ido bien podemos ver la versión de JAVA que tenemos instalada con:

java -version

A mí me aparece esto:

java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (6b30-1.13.1-1ubuntu2~0.12.04.1)
OpenJDK Client VM (build 23.25-b01, mixed mode, sharing)

Cuando instalamos Tomcat así, se "reparte" por el sistema de ficheros de forma que todo cuadre con el sistema operativo. Las rutas que necesitamos saber son éstas:

Dentro de /var/lib/tomcat6 tenemos estos directorios:
  • common  
  • conf 
  • logs  
  • server  
  • shared  
  • webapps  
  • work
Para arrancarlo, pararlo y esas cosas, podemos usar el comando service:

Arrancar: sudo tomcat7 start
Parar: sudo tomcat7 stop
Reiniciar: sudo tomcat7 restart

Cualquier servicio que instalemos se puede gestionar desde este comando. Mola, ¿eh?

Ahora vamos a configurar los permisos del administrador web.

Por defecto viene deshabilitado, pero vamos a crearnos un usuario para poder gestionar las aplicaciones que contiene.

Editamos su fichero de configuración:

sudo vi /var/lib/tomcat7/conf/tomcat-users.xml

Yo soy de usar este editor, aunque podéis usar cualquier otro.

Éste es el contenido del fichero:



Cómo podéis ver esté todo comentado y muy bien documentado. Explica perfectamente lo que hay que hacer. Yo lo que voy a hacer es pegar este contenido dentro de <tomcat-users>:

<role rolename="manager-gui"/>
<user username="tecnificados" password="tecnificados" roles="manager-gui"/>

Esto otorgará al usuario "tecnificados" privilegios para poder entrar vía web al administrador de Tomcat.



Guardamos el fichero y reiniciamos Tomcat con sudo service tomcat7 restart.

Vamos a probarlo a través del navegador, el contexto es /manager y el puerto por defecto de Tomcat es el 8080.

Ahora hay que redirigir el puerto 8080 para que funcione (si no sabes qué es esto, mira el anterior post).

Yo lo que hago es redirigir el puerto 80 de mi máquina física al 8080 de la máquina virtual. Cuidado, si tenéis el 80 ocupado no os funcionará la redirección.

Ésta es mi configuración de puertos:



Con esto lo que hago es reservarme el puerto 8080 para el Tomcat que usaremos en desarrollo y usar el puerto 80 para el de pruebas.

En mi caso yo accedo al administrador de tomcat así: http://localhost/manager, si lo queréis dejar en el puerto 8080 accederíais con esta otra URL: http://localhost:8080/manager

Al escribir la URL en el navegador lo primero que nos pide es la autenticación:


Escribimos lo que hemos puesto en el fichero de usuarios y pulsamos aceptar.




Desde esta pantalla podremos subir nuestras aplicaciones, pararlas o borrarlas.

Y con esto ya tenemos nuestro entorno de pruebas listo.

Ahora sólo nos queda el entorno de desarrollo.

domingo, 16 de marzo de 2014

Redirección de puertos en Virtual Box


Continuando con mis anteriores "posts", vamos a terminar nuestro entorno de pruebas redirigiendo los puertos que nos interesan de la máquina virtual a nuestro PC.

Con Virtual Box podemos configurar la red de diversas formas, una de ellas es redireccionar los puertos de la máquina virtual a la nuestra.

Es bastante fácil y rápido de configurar, y lo que hace es que tengamos unos puertos destinados al entorno de desarrollo y otros para el entorno de pruebas.

Ejemplo de uso: 

- podemos usar el puerto 8080 para desarrollar en eclipse en nuestro entorno de desarrollo con Tomcat.
- usaremos el puerto 80 para el Tomcat del entorno de pruebas
Más adelante veremos cómo configurar las redes de virtual box para que sean máquinas independientes conectadas a nuestra red y más opciones.

Vamos a hacer la redirección del puerto 22 para poder acceder a nuestra máquina virtual a través de uno de los clientes ssh más extendidos (y con nombre controvertido): "putty".

Si recordáis, cuando instalamos Ubuntu 12 Server dejamos marcada la opción de "Open SSH Server", esto hace que nuestra máquina virtual escuche por el puerto 22 (por defecto) las peticiones ssh.

Antes de nada vamos a bajarnos el cliente de esta url: http://www.putty.org/



Pulsamos en el primer enlace ("here") y seleccionamos el fichero "putty.exe" que más se ajuste a nuestro sistema operativo y a nuestra arquitectura. En mi caso "For Windows on Intel x86".

Descargamos el fichero y lo ejecutamos.


Vamos a hacer una prueba que no debe funcionar: escribimos en "Host Name or (IP Address)" localhost y pulsamos el botón "Open". Nos aparecerá el siguiente error:


Esto ocurre porque nuestra máquina física no sabe que tiene que redirigir las peticiones del puerto 22 a la máquina virtual. Vamos a decírselo.

Sobre nuestra máquina virtual pulsamos botón derecho y en "configuración".


Seleccionamos "Red" en la parte de la izquierda y pulsamos el botón "Reenvío de puertos".


Se nos abre la siguiente ventana. Pulsamos sobre la cruz verde de la derecha.


Nos aparece una linea para añadir una regla. Escribimos en la columna "Puerto anfitrión" el puerto de la máquina física que queremos dirigir y en la columna "Puerto invitado" el puerto de la máquina virtual. Vamos a poner el 22 en las dos columnas.



Si por casualidad el puerto 22 de nuestra máquina física está ocupado, podemos poner otro como el 24. A la hora de lanzar la llamada desde "putty" hay que poner ese número de puerto en el texto "Port" en lugar del 22 que aparece por defecto.

Puede que en algún momento puede que nos aparezca el siguiente aviso:


Se pulsa en el botón "Permitir acceso" y ya no debería aparecernos más.

Volvemos al "putty" (suena un poco raro, ¿verdad?). Y repetimos la operación anterior.



Debería aparecer la siguiente advertencia:



Como es un entorno de pruebas no pasa nada y pulsamos el botón "Si".

A continuación ya deberíamos ver el terminal pidiéndonos nuestro usuario y password.


Trabajar con este terminal es mucho más rápido que directamente contra la máquina virtual. 

Truco: si queremos cortar algún texto solo tendremos que seleccionarlo con el ratón y para pegar pulsar con el botón derecho.

Una vez dentro ya podemos empezar a trabajar con la máquina virtual. Recordar que para apagarla basta con escribir "sudo shutdown -P now".

Con esto ya tenemos el entorno de pruebas listo para configurarlo a nuestro gusto.

Si queremos redirigir más puertos solo tenemos que repetir el proceso tantas veces como puertos queramos redirigir.

martes, 25 de febrero de 2014

Instalación de Ubuntu Server 12


Muy buenas a tod@s, vamos a continuar con el tutorial anterior ("Preparación de entorno de pruebas con Virtual Box").

En este tutorial vamos a seguir paso a paso el proceso de instalación de Ubuntu 12.04 Server en una máquina virtual ya creada y con el fichero ISO cargado en su unidad de CD. Este proceso es análogo a instalarlo en un PC/Servidor con el disco duro "vacio" y teniendo en una unidad el CD de Instalación (o un USB preparado para arrancar con la ISO).

Aviso: esto es sin entorno gráfico. Para lo que vamos utilizar está máquina no nos interesa gastar recursos inutilmente. Estás avisado, no esperes ventanas.

Primer paso: vamos a por nuestro sistema operativo: nos vamos a http://www.ubuntu.com, sección "Downloads", subsección "Server".


Seleccionamos la arquitectura que coincida con nuestro equipo, si no queréis arriesgar, seleccionar 32 bits.


Esperamos que se descargue la ISO. Una vez descargada la montamos en la máquina virtual como explicamos en el tutorial anterior. También podemos grabar el CD y utilizarlo fisicamente en la máquina virtual o en otra máquina del mundo real.

Segundo paso: instalación

Arrancamos la máquina virtual, puede que nos aparezcca algún aviso. A mí me dice que puede que tenga problemas con el audio (no debería haber dejado el hardware del sonido), no pasa nada.


Lo primero que nos aparece es el idioma de la instalación. Seleccionamos el nuestro.


En la siguiente pantalla seleccionaremos la primera opción: "Instalar Ubuntu Server".

 


Ahora toca seleccionar la ubicación:

 

Después viene la configuración del teclado:


Nos pide que pulsemos una serie de teclas para detectar la disposición de nuestro teclado. Al final si todo ha ido bien (y queremos la cofiguración "es"), veremos este mensaje.


Pulsamos "Continuar" y veremos cómo empieza a detectar hardware y configurar componentes.



Configuración de la red: lo único que nos pide es el nombre de la máquina.

 Ahora nos pide el nombre de nuestro usuario y después el password.

Si el password no cumple las características seguras nos lo avisará en esta pantalla:

Después de escribir tu usuario, te preguntara si deseas cifrar tu directorio personal, yo le he dicho que no.

Llega el turno de las particiones: yo selecciono la segunda opción, todo el disco para linux. Cuidado, si tienes algo más en el disco duro y quieres conservarlo ¡¡¡no hagas esto!!!


Cuando solo hay un disco solo hay una elección.


¿Quieres guardar los cambios?  Sí.


¿Vas a usar todo el disco? Todo

 Comienza a preparar el disco.

Nos enseña todos los cambios y nos pregunta otra vez, si estamos de acuerdo con ellos. Este es el punto de "no retorno". Si pulsas "Sí", todo lo que haya en el disco, desaparecerá (y yo no tendré la culpa).

 Ahora empezará a instalar el sistema base.


A continuación nos pregunta por el proxy. Yo no tengo, así que lo dejo en blanco.


Ahora empiezan a descargarse unos cuantos ficheros.


Siguiente parada: configuración de actualizaciones automáticas. Yo le digo que sin ellas.


Llegamos a la selección de programas. Aquí depende de para qué quieras el servidor, yo lo que hago es dejar solamente la opción "OpenSSH Server", con eso permito poder acceder a la máquina por el protocolo seguro SSH. Así puedo conectarme después e instalar lo que me interese.

Si directamente quieres instalar un "Tomcat Java Server", no hay ningún problema. Todo lo que vayamos necesitando en próximos tutoriales lo instalaremos paso a paso.


 Como os comentaba yo lo dejo así:


Pulsamos "Continuar" y veremos cómo se instalan y se descargan paquetes y paquetes:




Nos acercamos al final. Esto es un punto delicado, es la configuración del arranque:
  • Si estás haciendo esto en una máquina virtual limpia no hay problema.
  • Si lo estás haciendo en un pc donde no hay nada, o no te importa lo que hay tampoco hay problema. 
  • Si estás en una máquina con otro sistema operativo instalado, ten cuidado y no sigas estos pasos.
Como no hay nada el en cargador principal le decimos que "SI".


Y con esto ya está la instalación finalizada.



Tercer paso: arrancamos.

Ahora la máquina virtual se reiniciará y vemos como arranca:


 Una vez arrancada veremos nuestro querido terminal


¿Esperabas un entorno gráfico?

Y para terminar vamos a apagarla con el comando: "sudo shutdown -P now". Como lo hacemos con el comando "sudo" nos pedirá la constraseña de nuestro usuario.

 

Y con esto se acaba el tutorial. 

Espero que os haya gustado, y que os animéis a intentarlo.