Nexus

De Wiki de Jordan LE NUFF
< Outillage
Révision datée du 17 avril 2020 à 16:30 par Jordan (discussion | contributions) (Page créée avec « == Présentation == Nexus est un gestionnaire de dépôt pour maven, développé sous licence GPL par la société Sonatype. Il est disponible en version gratuite, dite "c… »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Présentation

Nexus est un gestionnaire de dépôt pour maven, développé sous licence GPL par la société Sonatype. Il est disponible en version gratuite, dite "communautaire", ou payante selon les besoins.

Site officiel : https://fr.sonatype.com/nexus-repository-sonatype

Activation du SSL

Cette procédure s'appuie sur la procédure officielle disponible à : https://help.sonatype.com/repomanager3/security/configuring-ssl#ConfiguringSSL-InboundSSL-ConfiguringtoServeContentviaHTTPS

Créer le keystore

Se rendre dans le dossier $data-dir/etc/ssl et créer une paire de clé privée/publique en utilisant keytool :

keytool -genkeypair -keystore keystore.jks -storepass password -alias example.com \
-keyalg RSA -keysize 2048 -validity 5000 -keypass password \
-dname 'CN=*.example.com, OU=Sonatype, O=Sonatype, L=Unspecified, ST=Unspecified, C=US' \
-ext 'SAN=DNS:nexus.example.com,DNS:clm.example.com,DNS:repo.example.com,DNS:www.example.com'

Cela aura pour effet de créer un keystore keystore.jks dans lequel sera stockées les clés précédemment créées.

Activer le SSL

Editer le fichier $data-dir/etc/nexus.properties et effectuer les modifications suivantes :

  • Ajouter l'argument application-port-ssl et lui donner la valeur du port d'écoute souhaité
    • Exemple : application-port-ssl=8443
    • ATTENTION, il n'est pas possible d'utiliser un port entre 0 et 1024 car ils sont réservés au système et Nexus tourne avec un utilisateur non-root
  • Modifier et/ou dé-commenter l'argument nexus-args et s'assurer que la valeur ${jetty.etc}/jetty-https.xml soit présente.
    • Exemple : nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml
    • Optionnel : pour désactiver le http simple, retirer la valeur ${jetty.etc}/jetty-http.xml
  • Ajouter l'arguement ${jetty.etc}/jetty-http.xml

Ajouter le keystore

Editer le fichier $install-dir/etc/jetty/jetty-https.xml et modifier les paramètres dont les noms sont KeyStorePassword, KeyManagerPassword et TrustStorePassword et y indiquer le mot de passe du keystore précédemment configuré. Juste avant le paramètre KeyStorePassword, ajouter le paramètre certAlias en y indiquand l'alias précédemment défini dans le keystore. Exemple : <Set name="certAlias">jetty</Set>.

Redémarrer Nexus

Redémarrer Nexus afin que les modifications soient prises en compte.