Installation Nexus · 7 min read · Nov 27, 2025
Comment installer et configurer Nexus Repository Manager sur Ubuntu 20.04

Nexus est un gestionnaire de dépôt qui fournit une plateforme protégeant l’ensemble de votre cycle de vie de développement logiciel. Il vous permet de collecter et de gérer vos dépendances et facilite la distribution de votre logiciel. C’est une source unique de tous les composants, binaires et artefacts de construction. Il prend en charge Gradle, Ant, Maven et Ivy, et permet aux développeurs de gérer les composants via des binaires, des conteneurs, des assemblages et des produits finis. Vous pouvez également intégrer Nexus avec vos systèmes d’utilisateur et d’authentification existants comme LDAP et Atlassian Crowd.
Dans ce tutoriel, nous allons vous montrer comment installer le gestionnaire de dépôt Nexus sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root configuré sur le serveur.
Commencer
Avant de commencer, vous devrez mettre à jour les paquets de votre système vers la dernière version. Vous pouvez les mettre à jour en utilisant la commande suivante :
apt-get update -yUne fois votre serveur mis à jour, vous pouvez passer à l’étape suivante.
Installer Java
Nexus est basé sur Java, vous devrez donc installer la version 8 de Java sur votre système. Vous pouvez l’installer avec la commande suivante :
apt-get install openjdk-8-jdk -yUne fois Java installé, vous pouvez vérifier la version installée de Java avec la commande suivante :
java -versionVous devriez obtenir la sortie suivante :
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
Une fois Java installé, vous pouvez passer à l’étape suivante.
Installer Nexus
Avant de commencer, vous devrez créer un utilisateur séparé pour exécuter Nexus. Vous pouvez le créer en exécutant la commande suivante :
useradd -M -d /opt/nexus -s /bin/bash -r nexusEnsuite, permettez à l’utilisateur nexus d’exécuter toutes les commandes avec sudo sans mot de passe. Vous pouvez le faire en exécutant la commande suivante :
echo "nexus ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nexusEnsuite, créez un répertoire pour Nexus et téléchargez la dernière version de Nexus avec la commande suivante :
mkdir /opt/nexus
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.29.2-02-unix.tar.gzUne fois le téléchargement terminé, extrayez le fichier téléchargé dans le répertoire /opt/nexus en exécutant la commande suivante :
tar xzf nexus-3.29.2-02-unix.tar.gz -C /opt/nexus --strip-components=1Ensuite, définissez la propriété appropriée pour le répertoire nexus en exécutant la commande suivante :
chown -R nexus:nexus /opt/nexusEnsuite, éditez le fichier de configuration nexus.vmoptions et définissez la taille maximale de la mémoire :
nano /opt/nexus/bin/nexus.vmoptionsDéfinissez la taille maximale de la mémoire Java et remplacez “../sonatype-work” par “./sonatype-work” :
-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m
-XX:LogFile=./sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=/etc/karaf/java.util.logging.properties
-Dkaraf.data=./sonatype-work/nexus3
-Dkaraf.log=./sonatype-work/nexus3/log
-Djava.io.tmpdir=./sonatype-work/nexus3/tmp
Enregistrez et fermez le fichier, puis éditez le fichier nexus.rc et définissez l’utilisateur d’exécution :
nano /opt/nexus/bin/nexus.rcDécommentez et changez la ligne suivante avec l’utilisateur nexus :
run_as_user="nexus"
Enregistrez et fermez le fichier, puis démarrez le service Nexus avec la commande suivante :
sudo -u nexus /opt/nexus/bin/nexus startEnsuite, vérifiez Nexus avec la commande suivante :
tail -f /opt/nexus/sonatype-work/nexus3/log/nexus.logVous devriez obtenir la sortie suivante :
2021-02-23 12:20:51,839+0000 INFO [jetty-main-1] *SYSTEM com.softwarementors.extjs.djn.servlet.DirectJNgineServlet - Servlet GLOBAL configuration: registryConfiguratorClass=
2021-02-23 12:20:51,853+0000 INFO [jetty-main-1] *SYSTEM com.softwarementors.extjs.djn.jscodegen.CodeFileGenerator - Creating source files for APIs...
2021-02-23 12:20:52,582+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - JAX-RS RuntimeDelegate: org.sonatype.nexus.siesta.internal.resteasy.SisuResteasyProviderFactory@649a69ca
2021-02-23 12:20:52,611+0000 INFO [jetty-main-1] *SYSTEM org.jboss.resteasy.plugins.validation.i18n - RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
2021-02-23 12:20:53,811+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.siesta.SiestaServlet - Initialized
2021-02-23 12:20:53,817+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Initialized
2021-02-23 12:20:53,852+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@7a65358d{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE}
2021-02-23 12:20:53,883+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@764a4935{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2021-02-23 12:20:53,884+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @37529ms
2021-02-23 12:20:53,884+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.29.2-02
-------------------------------------------------
À ce stade, Nexus est démarré et écoute sur le port 8081. Vous pouvez le vérifier avec la commande suivante :
ss -altnp | grep 8081Vous devriez obtenir la sortie suivante :
LISTEN 0 50 0.0.0.0:8081 0.0.0.0:* users:(("java",pid=5548,fd=795))
Ensuite, arrêtez le service Nexus avec la commande suivante :
/opt/nexus/bin/nexus stopCréer un fichier de service Systemd pour Nexus
Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Nexus. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/nexus.serviceAjoutez les lignes suivantes :
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
Enregistrez et fermez le fichier, puis rechargez le démon systemd avec la commande suivante :
systemctl daemon-reloadEnsuite, démarrez le service Nexus et activez-le pour qu’il démarre au démarrage du système avec la commande suivante :
systemctl start nexus
systemctl enable nexusVous pouvez également vérifier l’état du service Nexus en utilisant la commande suivante :
systemctl status nexusVous devriez obtenir la sortie suivante :
? nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-23 12:22:49 UTC; 15s ago
Process: 6181 ExecStart=/opt/nexus/bin/nexus start (code=exited, status=0/SUCCESS)
Main PID: 6368 (java)
Tasks: 40 (limit: 4691)
Memory: 642.9M
CGroup: /system.slice/nexus.service
??6368 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.mo>
Feb 23 12:22:49 ubuntu2004 systemd[1]: Starting nexus service...
Feb 23 12:22:49 ubuntu2004 nexus[6181]: Starting nexus
Feb 23 12:22:49 ubuntu2004 systemd[1]: Started nexus service.
lines 1-13/13 (END)
Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.
Configurer Nginx comme un proxy inverse pour Nexus
Ensuite, vous devrez installer Nginx et configurer Nginx comme un proxy inverse. Tout d’abord, installez les paquets Nginx avec la commande suivante :
apt-get install nginx -yUne fois Nginx installé, créez un fichier de configuration d’hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/conf.d/nexus.confAjoutez les lignes suivantes :
upstream backend {
server 127.0.0.1:8081;
}
server {
listen 80;
server_name nexus.example.com;
location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Enregistrez et fermez le fichier, puis vérifiez le fichier de configuration Nginx avec la commande suivante :
ginx -tVous devriez obtenir la sortie suivante :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Enfin, redémarrez le service Nginx pour appliquer les modifications :
systemctl restart nginxVous pouvez également vérifier l’état de Nginx avec la commande suivante :
systemctl status nginxVous devriez obtenir la sortie suivante :
? nginx.service - Un serveur web haute performance et un serveur proxy inverse
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-23 12:24:57 UTC; 4s ago
Docs: man:nginx(8)
Process: 7106 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 7107 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 7123 (nginx)
Tasks: 3 (limit: 4691)
Memory: 3.5M
CGroup: /system.slice/nginx.service
??7123 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??7124 nginx: worker process
??7125 nginx: worker process
Feb 23 12:24:57 ubuntu2004 systemd[1]: Starting Un serveur web haute performance et un serveur proxy inverse...
Feb 23 12:24:57 ubuntu2004 systemd[1]: Started Un serveur web haute performance et un serveur proxy inverse.
Accéder à l’interface web de Nexus
Avant d’accéder à l’interface web de Nexus, imprimez le mot de passe administrateur de Nexus avec la commande suivante :
cat /opt/nexus/sonatype-work/nexus3/admin.passwordVous devriez obtenir la sortie suivante :
b7c899cf-c6d3-4d11-a4cb-9a44e5d1787e
Maintenant, ouvrez votre navigateur web et accédez à l’interface web de Nexus en utilisant l’URL http://nexus.example.com. Vous serez redirigé vers la page suivante :

Maintenant, cliquez sur le bouton Se connecter. Vous serez redirigé vers la page de connexion de Nexus :

Fournissez votre nom d’utilisateur administrateur, votre mot de passe et cliquez sur le bouton Se connecter. Vous devriez voir la page de configuration de Nexus :

Cliquez sur le bouton Suivant pour continuer. Vous devriez voir la page suivante :

Définissez votre nouveau mot de passe et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Sélectionnez l’option “Activer l’accès anonyme” et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Cliquez sur le bouton Terminer pour compléter la configuration et cliquez sur l’icône Engrenage de paramètres. Vous devriez voir le tableau de bord du gestionnaire de dépôt Nexus :

Conclusion
Félicitations ! Vous avez réussi à installer le gestionnaire de dépôt Nexus avec Nginx comme proxy inverse sur le serveur Ubuntu 20.04. N’hésitez pas à me poser des questions si vous en avez.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.