JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Visitas: 48  
Tiempo total: 1 días con 4:48:36 hrs  

Para iniciar, el software de virtualización es VirtualBox 4.2.12 R849080 con un disco dinámico de un máximo de 20GB, una memoria RAM de 1GB y, se configuraron tres adaptadores de red en VirtualBox, estos son NAT, la segunda es tipo puente usando el dispositivo Wi-Fi Broadcom 4313GN 802.11b/g/n 1×1 y el tercer adaptador es igualmente tipo puente con el dispositivo Realtek PCIe FE Family Controller. El único adaptador que se va a utilizar debido a su conexión automática a internet es NAT pero las demás interfaces proveen las IP asignadas por mi router de acuerdo a la interfaz que esté utilizando en mi portátil.

Instalación de RedHat

1. El DVD utilizado es RHEL 7, descargado desde la dirección FTP utilizando FileZilla, la ISO es rhel-everything-7.0-beta-1-x86_64-dvd.iso

im1 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

La ISO pesa 4.37GB. La configuración en la instalación es básica, creando una partición SWAP de 1GB, 8GB para el sistema de archivos y 11GB de espacio para la instalación del sistema. El entorno base es GNOME Desktop y se seleccionaron todos los complementos del entorno seleccionado.

Instalación de JBoss

2. El primer paso es la instalación de Maven, para esto descargamos el paquete comprimido de maven.apache.org, los comandos para su instalación son los siguientes:

tar –zxvf apache-maven-3.2.1-bin.tar.gz /usr/share
export PATH=$PATH:/usr/share/apache-maven-3.2.1/bin

Comprobando su correcta instalación con mvn –version, también podemos actualizar la Shell con . ~/.bashrc, es necesario recordar que editamos y hacemos los cambios de la variable PATH únicamente en memoria, para hacer los cambios validos en el próximo inicio de sesión, agregamos el comando export PATH= … /bin al archivo .bashrc con el comando vi ~/.bashrc

3. La instalación de JBoss es más simple, se debe de comprobar que java y maven estén instalados con los comandos java –version y mvn –version, una vez esto descargamos el Zip del sitio oficial y los descomprimimos al directorio /usr/share, con el siguiente comando:

unzip jboss-as-7.1.1.Final.zip –d /usr/share

Para iniciar el servidor JBoss, ejecutamos el archivo ./standalone.sh e iniciara en el puerto 8080, localhost. En este caso el objetivo es iniciar el servidor para que acepte conexiones de otros ordenadores, para esto iniciamos el servidor con el comando ./standalone.sh –b 0.0.0.0, lo que hace es aceptar las conexiones desde cualquiera de las IP asignadas a cada interface.

Con el comando netstat –punta confirmamos que la interface de la red está abierta en espera de conexiones, en RedHat funcionara correctamente pero en otro ordenador en algunos casos estará bloqueado gracias al FireWall.

im3 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Eclipse Kepler

4. El IDE a utilizar es Eclipse Kepler, el archivo de instalación es eclipse-standard-kepler-R-win32-x86_64.zip, para empezar es necesario poder desarrollar aplicaciones web, para esto seleccionamos el menú Help, Install New Software y buscamos JAVA EE usando la URL:

http://download.eclipse.org/releases/kepler

im4 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

5. Instalamos el plugin para JBoss que nos permitirá la conexión remota. Agregamos el nuevo software con la siguiente URL:

http://download.jboss.org/jbosstools/updates/development/kepler/

im5 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Seleccionamos ABridget JBoss Tools. Una vez instalado el software seleccionamos el menú Window, Open perspective y JBoss. Agregamos el servidor en el menú File, New, Other y buscamos la carpeta Server. Ahora, debemos de tener el servidor JBoss de manera local, para esto usamos el mismo archivo Zip e indicamos en la carpeta JBoss Comunity la versión que tenemos, a continuación dejamos los valores por defecto de los campos Server Host Name y Server Name. La carpeta de instalación de JBoss va a estar ubicada en C:\eclipse\jboss-as-7.1.1.Final indicándola en la siguiente ventana que nos muestra Eclipse.

En la siguiente ventana indicamos los parámetros del servidor JBoss, en la etiqueta Server Behavior seleccionamos Remote System Deployment, en Host damos clic en New Host. Ahora, en tipo de sistema seleccionamos Linux, a continuación ingresamos la IP del servidor y una descripción, las siguientes ventanas nos indicas configuraciones de la conexión SSH que se va a realizar, dejamos las opciones por defecto finalizando la configuración del nuevo host.

im5-2 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Tenemos que ingresar el campo Remote Server Home, este campo es /usr/share/jboss-as-7.1.1.Final, y el archivo de configuración es standalone.conf. Si navegamos dando clic en los botones Browse… y seleccionamos la conexión 192.168.1.17 (Mi caso) usando los detalles SSH, podremos navegar por las carpetas del servidor JBoss, en el siguiente paso describo como se configura SSH para permitir esto.

6. Para habilitar ssh en RHEL 7, configuramos el archivo gedit /etc/ssh/sshd_config y des-comentamos las líneas:

Port 22
ListenAddress 0.0.0.0
PermitRootLogin yes

im6 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Si realizamos la prueba de conexión con el usuario root desde otra PC con Ubuntu observamos que funciona correctamente.

7. Para crear el proyecto usando el Framework Spring IO MVC, seleccionamos el menú File y Project, Spring MVC Project. Si no esta opción, la buscamos en Other o bien en la página de inicio de JBoss en eclipse seleccionamos Spring Project.

im7 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

En esta opción seleccionamos Target Runtime JBoss 7.1 Runtime, dejamos los parámetros por defecto cambiando el nombre del proyecto a {Nombre} y Package a org.jboss.tools.{Nombre}.springmvc, en este caso {Nombre} es el nombre que le asignamos a nuestro proyecto. Finalmente podemos terminar la creación del proyecto.

En algunas ocasiones observaremos mensajes de errores en dependencias o que faltan artefactos, estos se solucionan agregando las entradas al archivo pom.xml y otros descargando el .jar que hace falta, te puedes guiar del mensaje de error y buscar las fuentes o entradas en google.com

8. Podemos observar como la aplicación funciona correctamente en nuestro servidor local:

im8 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

http://localhost:8080/{nombre}/

im8-2 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

En Eclipse no observamos ninguna opción para compilar el proyecto en el servidor remoto, para solucionar esto debemos de agregar el servidor remoto, seleccionando el tab Servers y en JBoss Comunity seleccionamos JBoss 7.1, en Server Host Name colocamos la IP 192.168.1.17 y le agregamos un nuevo nombre, en este caso RHEL 7 JBoss, a continuación asignamos los mismos parámetros que habíamos usado anteriormente para Remote Server Home y Configuration File.

im8-3 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Ahora, para subir los documentos de nuestro proyecto al servidor remoto, debemos de dar clic derecho en el J2EE Web Module, que contiene todo lo necesario para correr nuestra aplicación en el servidor remoto y seleccionamos Full Publish, con esto logramos que en menos de un minuto la aplicación se publique en el servidor.

im8-4 - JBoss en servidor externo RHEL 7 y Eclipse Kepler con Spring MVC

Finalmente, con cada edición que realicemos en nuestro proyecto, al ejecutarlo veremos dos servidores, el servidor local que es útil para realizar todo más rápido y cuando necesitemos actualizar el servidor remoto, únicamente repetimos el paso donde seleccionábamos Full Publish.

Adjunto

En la configuración utilizada en esta publicación, no fue necesaria la utilización del comando en el servidor:

JAVA_OPTS=”$JAVA_OPS – Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n”

Que sirve para habilitar el Puerto 8787,al igual que las instrucciones para depurar el proyecto en el servidor desde Eclipse, en varias Fuentes de consulta lo mencionan, siendo lo mostrado aquí la mejor manera para desarrollar software con JBoss externo y Eclipse.

Referencias

[http://ftp.redhat.com/redhat/rhel/beta/7/x86_64/iso/rhel-everything-7.0-beta-1-x86_64-dvd.iso]
[http://maven.apache.org/download.cgi]
[http://blog.desdelinux.net/tutorial-instalar-paquetes-tar-gz-y-tar-bz2/]
[http://www.happyminds.es/maven-instalar-y-probar-maven/]
[http://stylesourcecode.wordpress.com/2011/04/08/instalar-maven/]
[http://magnus-k-karlsson.blogspot.com/2013/01/how-to-install-maven-3-on-rhel-63.html]
[http://www.cyberciti.biz/faq/linux-howto-unzip-files-in-root-directory/]
[https://docs.jboss.org/author/display/AS7/Installing+and+starting+JBoss+AS+on+Linux,+Unix+or+Mac+OS+X]
[http://www.jboss.org/jbossas/downloads/]
[http://www.mastertheboss.com/jboss-as-7/install-jboss-7]
[http://www.wikihow.com/Change-the-Path-Variable-in-Linux]
[http://blog.desdelinux.net/como-saber-los-puertos-abiertos-o-conexiones-establecidas-por-nuestro-ordenador/]
[http://juancarlosmolinos.net/2012/03/08/configuracion-firewall-iptables-red-hatcentos-6-desde-linea-de-comandos/]
[http://es.kioskea.net/forum/affich-4533-comandos-para-abrir-puertos-linux]
[http://www.cyberciti.biz/faq/rhel-fedorta-linux-iptables-firewall-configuration-tutorial/]
[http://stackoverflow.com/questions/5320708/how-to-run-jboss-4-2-1-on-ip-address]
[http://stackoverflow.com/questions/7945253/java-ee-perspective-in-eclipse]
[http://www.mastertheboss.com/jboss-eclipse/eclipse-useful-tips-and-tricks]
[https://www.openshift.com/blogs/spring-mvc-3-on-jboss]
[http://download.jboss.org/jbosstools/updates/development/kepler/]
[https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.0/html/V2V_Guide/Preperation_Before_the_P2V_Migration-Enable_Root_Login_over_SSH.html]


Para recibir boletines de información, por favor escribe tu correo electrónico:

Por favor ingrese un correo electrónico valido.
Registrado correctamente!