En la jaula de un geek

Los README son para los cobardes. Sé valiente. Ejecuta el programa.

«

»

Jun 05

Instalar Nexus Repository Manager para Maven

En el campo de la programación hay muchos servicios que son necesarios en el día a día, aparte de los repositorios de código, están los repositorios de librerías. Las librerías construidas por otros o por un equipo propio necesitan ser almacenadas en algún servidor donde puedan ser recuperadas fácilmente, por ejemplo, Maven permite conectar a los diferentes repositorios compatibles en busca de las librerías necesarias para compilar una aplicación. Entre los diferentes repositorios de código se encuentra Nexus Repository Manager, que dispone de una versión gratuita que es más que suficiente para el uso normal.

0- Previos

Me centraré en la instalación de Nexus para funcionar sobre LDAP y con un proxy inverso de Apache que será quien publicará el servicio, Nexus dispone de muchas configuraciones que no voy a explicar. Para conocer todo lo que puede hacer, existe la documentación oficial.

Actualmente existe la versión 2 y 3 de Nexus, debido a que a mí me interesa el uso en Maven, descargaré la 2 que es compatible con este servicio.

Iré alternando entre el uso de root y el usuario propio de Nexus, a no ser que se indique lo contrario, utilizaré el de root.

1- Instalación

Empezamos descargando la última versión de Nexus 2 desde la web oficial.

Esto nos deja la carpeta nexus que contiene el sistema y la carpeta sonatype-work donde irán los repositorios, tal como está ya puede ser utilizado Nexus pero vamos a ir un poco más allá.

Editamos el fichero de configuración.

En este encontramos el puerto, path de la URL y la carpeta de repositorios, por ahora cambiamos el puerto y la carpeta de repositorios si es necesario. Recordad abrir el puerto elegido.

Para arrancar el servicio tenemos 2 opciones, o lo configuramos para aceptar el arranque como root o le creamos un usuario propio, ya que la 2a opción es la recomendada y que es muy posible que este servidor se comparta con otros servicios, le crearé su propio usuario.

El usuario se puede crear con Yast con las opciones por defecto, así que saltaré ese paso, simplemente indicar que mi usuario se llamará nexus.

Pasamos el control de nexus al nuevo usuario.

Nos convertimos en el nuevo usuario e iniciamos el servicio.

Después de dejarle suficiente tiempo, podremos acceder desde la URL:

Si funciona, lo apagamos para poder configurar el resto.

2- Autoarranque

Debido al arranque por usuario propio y que el script es un tanto especial, dejamos listo ya el autoarranque y los servicios para agilizar.

Volvemos a ser root, copiamos el script y empezamos a modificarlo.

Me centraré en tres variables necesarias para iniciarlo, la carpeta donde se encuentra Nexus, el usuario que lo inicia y la carpeta donde se almacenará el PID.

Con esto ya podemos activar el servicio como tal y volver a iniciarlo.

3- LDAP y roles

Accedemos a la administración con el usuario admin y contraseña admin123.

Primero activamos el uso del LDAP para no olvidarnos.

Añadimos el OSS LDAP Authentication Realm y guardamos.

Ahora vamos a la configuración del LDAP.

La configuración variará según nuestro tipo de LDAP, si tenemos un Oracle DSEE hay que cambiar o añadir los siguientes:

  • Añadir los datos de Connection y Authentication para acceder.
  • Password Attribute: userPassword
  • Group Member Format: ${dn}

Si ha pasado los test y reconocido los usuarios, ya podemos ir a configurar los roles.

Añadimos un rol externo nuevo para los administradores de Nexus, estos permisos se asignan a un grupo del LDAP. Para que sean administradores le asignamos el siguiente rol:

  • Nexus Administrator Role

Salimos del usuario actual y entramos con un administrador según el grupo del LDAP.

Si ha funcionado, ya podemos deshabilitar todos los usuarios en Users y seguir creando nuevos roles según necesitemos.

Recordar que para subir ficheros manualmente se necesita el permiso de Artifact Upload para poder ver esa pestaña en los repositorios a los que se tiene acceso.

4- Proxy inverso con Virtual Host de Apache

Apache se encargará del SSL y de hacer de frontal, la conexión interna hacia Nexus se mantendrá en el puerto 8081 y no necesitamos que este tenga SSL ya que la conexión entre ellos debería ser físicamente segura en nuestra red.

Debido a que usaré un Virtual Host, que la URL tenga el contexto nexus al final quedaría feo, así que lo primero será quitarlo.

Cambiamos el contexto para usar la raiz.

Ya podemos volverlo a iniciar.

Los siguientes pasos son en el servidor que contiene el Apache, daré por hecho que ya tiene los módulos para proxy inverso activos.

Creamos un nuevo Virtual Host, para HTTP contendrá:

Si queremos activar Apache en SSL, creamos los certificados y el nuevo Virtual Host con:

Después de recargar la configuración de Apache, podremos acceder desde él.

5- Configurar repositorios en cliente

Nexus dispone por defecto varios repositorios activos pero cada PC cliente necesita saber la URL para acceder a cada repositorio.

En el caso de Maven, esto se gestiona desde el fichero de settings, en el caso de Windows se encuentra en el siguiente path.

Es posible que el fichero ya hubiera sido creado o modificado para otras configuraciones, en cualquier caso, este es un ejemplo para activar los repositorios de terceros y las releases propias.

Final

Además de estas configuraciones tendremos que revisar qué repositorios vamos a utilizar, permisos para acceder o controlarlos, etc.

Con los repositorios activos ya se puede empezar a subir todas las librerías necesarias para desarrollar las aplicaciones.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar