Instalación de Nexus en un servidor Tomcat

2
15375

Instalación de Nexus en un servidor Tomcat

1. Introducción

Hace poco tiempo publicamos un tutorial donde analizábamos los gestores de repositorio Maven más importantes y vimos que Nexus era la aplicación que mejor rendimiento daba teniendo practicamente la misma funcionalidad que el resto.

Una vez elegido Nexus como la mejor aplicación ahora vamos a enseñaros a instalarlo en un servidor Tomcat.

2. Entorno

Entorno utilizado para escribir este tutorial:

  • Hardware: Mac Book Pro (Core 2 Duo 2,8 Ghz, 8 GB RAM, 128 GB SSD)
  • Sistema Operativo: Lion 10.7.0
  • Active Directory: Windows 2003 Server
  • JDK: 1.6
  • Servidor: Apache Tomcat 6.0.32
  • Gestor de repositorios maven: Nexus 1.9.2.4

3. Instalación

Lo primero que tenemos que hacer es descargarnos el war de la aplicación desde http://nexus.sonatype.org/downloads/.

3.1. Cambiando el directorio de trabajo de Nexus

Por defecto Nexus crea un directorio en el home del usuario con el que ejecutemos Tomcat para almacenar la configuración, repositorios y demas ficheros necesarios para su ejecución. En nuestro caso no queremos que el directorio de trabajo de Nexus se cree en el directorio del usuario de Tomcat así que vamos a modificar el war para que lo almacene en otra ubicación.

Descomprimimos el war nos vamos al directorio WEB-INF y editamos el fichero plexus.properties.

A continuación cambiamos la propiedad nexus-work por el directorio que queramos en nuestro caso /var/autentia/nexus.

Ahora lo comprimimos en un war con el nombre nexus.war.

3.2. Desplegar la aplicación

Creado el war modificado lo copiamos en la carpeta webapps del Tomcat. A continuación arrancamos el Tomcat si no lo teníamos y accedemos a la url http://localhost:8080/nexus.

4. Configuración

Para realizar cualquier tarea de configuración necesitamos estar logados en la aplicación. Pulsamos en enlace «Login» situado en la parte superior izquierda y nos aparecerá el siguiente formulario.

Por defecto el usuario administrador de la aplicación es admin con password admin123. Nos logamos con esas credenciales y ya tenemos acceso a la parte privada. En la parte izquierda nos aparecerá diferentes secciones si las deplegamos vemos las siguientes opciones.

De todas ellas en este tutorial veremos las opciones más importantes: Repositorios, Server, Routing y LDAP Configuration.

4.1. Repositorios

Desde esta opción vamos a gestionar todos los repositorios que maneja. Con Nexus podemos configurar cuatro tipos de repositorios:

  • Hosted Repository: son los repositorios internos de la organización que se encuentran en el servidor.
  • Proxy Repository: son los repositorios remotos que van a ser cacheados.
  • Virtual Repository: repositorio que permite transformar un repositorio ya existen en un repositorio maven1 a maven2 y viceversa.
  • Group Repository: permite agrupar varios repositorios para que se comporte como uno único.

Por defecto, Nexus viene configurado con los repositorios remotos más utilizados en el desarrollo de aplicaciones Java.

Para añadir cualquier repositorio a Nexus es muy sencillo. Pulsamos sobre el botón «Add» seleccionamos el tipo de repositorio que queremos dar de alta, por ejemplo «Hosted Repository» y nos pedirá una serie de datos:

  • Repository ID: es el identificador que vamos a utilizar para acceder al repositorio mediante URL. Este identificador debe ser único.
  • Repository Name: aqui introducimos el nombre con el que vamos a ver el repositorio en la interfaz web.
  • Provider: el tipo de repositorio maven que vamos a crear maven1 o maven2.
  • Repository Policy: esta opción le indicamos que tipo de artefactos vamos a almacenar si releases o snapshots.
  • Override Local Storage Location: ruta al directorio del repositorio en nuestro sistema de ficheros en el caso de que no queramos almacenarlo en la ruta por defecto de Nexus.

El resto de parámetros se refieren a la politica de seguridad del repositorio, si vamos a autorizar el redesplieque de artefactos, si permitimos la navegación por el repositorio, etc…

4.2. Server

Desde la opción Server vamos a poder configurar cosas como: la configuración para el envio de correos, configuración para el tipo de acceso a la aplicación o el acceso anónimo.

4.2.1. Desactivar el acceso anónimo

Si no queremos que nadie pueda acceder a Nexus a no ser que se encuentre dado de alta en la aplicación tenemos que desactivar el acceso anónimo que viene configurado por defecto. Para ello debemos acceder a la opción Server y en el apartado de «Security Settings» desmarcar la opción «Anonymous Access».

4.3. Routing

La opción de Routing es útil cuando queramos incluir/excluir de un determinado repositorio artefactos o partes de la jerarquía del repositorio. La manera de hacerlo es utilizar patrones.

En la imagen siguiente podéis ver un ejemplo de inclusión que viene por defecto configurado en Nexus.

4.4. Ldap

Nexus tiene la posibilidad de que el acceso de la aplicación se realice mediante LDAP. De fábrica ya viene con el plugin de LDAP para utilizarlo debemos seguir los siguientes pasos.

Primero tenemos que acceder a la opción «LDAP Configuration» y dar de alta los datos correctos. En el primer bloque introducimos los datos de conexión.

Cuando hayamos terminado comprobamos que todo es correcto pulsamos sobre «Check Authentication» y nos deberá mostrar un mensaje como:

Ahora nos queda introducir la configuración para que Nexus acceda a los datos del usuario. Finalizado este proceso damos al botón «Check User Mapping» para comprobar que todo ha ido bien y por último salvamos la configuración

A continuación sólo nos queda configurar Nexus para que utilice la autenticación contra LDAP. Esto se hace desde la opción de «Security Settings» de la sección Server. Seleccionamos «OSS LDAP Authentication Realm» y lo llevamos hasta «Selected Realms» poniendolo el primero.

Y por último sólo nos queda acceder a la opción «Users» y dar permisos a los usuarios de LDAP para que accedan a Nexus.

5 Conclusión.

Como habéis podido comprobar la instalación de la herramienta y su configuración es relativamente sencilla. También es de agradecer que en todas las opciones dispongamos de ayuda que nos permite comprender mejor lo que hay que poner en cada caso.

El uso de este tipo de herramientas en organizaciones con un gran número de desarrolladores es muy recomendable puesto que nos ayudan a reducir radicalmente el tráfico que se genera al descargar los artefactos de repositorios remotos, controlar los acceso, etc..

Desde Autentia siempre intentamos enseñaros herramientas que os permitan mejorar vuestro entorno de desarrollo y los gestores de repositorio maven pueden ser uno de ellos.

2 COMENTARIOS

  1. que configuración debe ir en el settings.xml para que solo se descarguen las librerías del repositorio nexus y limitar la descarga de internet?, que tanto debo hacer?

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad