Sonatype Nexus je populární správce úložiště používaný po celém světě pro většinu komponent, binárních souborů a artefaktů sestavení. Dodává se s podporou pro ekosystém Java Virtual Machine (JVM), včetně Gradle, Ant, Maven a Ivy.
Kompatibilní se standardními nástroji včetně Eclipse, IntelliJ, Hudson, Jenkins, Puppet, Chef, Docker atd., Repo Sonatype Nexus může spravovat vývojářské komponenty prostřednictvím dodávky pro binární kontejnery, sestavy a hotové zboží.
V tomto tutoriálu vám poskytneme komplexního průvodce nastavením verze Sonatype Nexus Repository OSS na CentOS 7.
Instalace Sonatype Nexus Repository OSS na CentOS 7
Než začnete s výukovým programem, podívejme se na minimální systémové požadavky pro spuštění Sonatype Nexus Repo.
Systémové požadavky
- Minimální počet CPU:4, Doporučené CPU:8+
- Minimální fyzická/RAM na hostiteli 8 GB
1. Předinstalace
Začněte nastavením názvu hostitele.
hostnamectl set-hostname nexus
Aktualizujte svůj systém CentOS.
yum update -y
Nainstalujte Javu pomocí následujícího příkazu:
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Po dokončení instalace zkontrolujte verzi Java, abyste se ujistili, že jste připraveni přejít k dalšímu kroku stažení Repo.
java -version
2. Stáhněte si Nexus Repository Manager 3
Přejděte do adresáře opt:
cd /opt
Zkopírujte nejnovější URL Repo z oficiálního webu a poté si jej stáhněte pomocí wget.
wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
Rozbalte soubor tar.
tar -xvzf latest-unix.tar.gz
Měli byste vidět dva adresáře, včetně nexus files a nexus data directory.
ls -lh
Přejmenujte složky.
mv nexus-3.20.1-01 nexus
mv sonatype-work nexusdata
3. Nastavte uživatele/oprávnění a konfigurace
I. Přidejte uživatele pro službu Nexus.
useradd --system --no-create-home nexus
II. Nastavte vlastnictví pro soubory zařízení Nexus a data zařízení Nexus.
chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/nexusdata
III. Změňte konfiguraci zařízení Nexus a nastavte vlastní adresář dat
Upravte „nexus.vmoptions“.
vim /opt/nexus/bin/nexus.vmoptions
Změňte datový adresář.
-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=../nexusdata/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=../nexusdata/nexus3 -Dkaraf.log=../nexusdata/nexus3/log -Djava.io.tmpdir=../nexusdata/nexus3/tmp -Dkaraf.startLocalConsole=false
Uložte a ukončete soubor.
IV. Změňte uživatele účtu služby nexus.
Upravte soubor „nexus.rc“.
vim /opt/nexus/bin/nexus.rc
Odkomentujte parametr „run_as_user“ a přidejte novou hodnotu.
run_as_user="nexus"
V. Přestaňte naslouchat vzdáleným připojením.
Potřebujeme upravit soubor „nexus-default.properties“.
vim /opt/nexus/etc/nexus-default.properties
Změňte application-host=0.0.0.0 na application-host=127.0.0.1.
VI. Nakonfigurujte limit otevřených souborů uživatele zařízení Nexus.
vim /etc/security/limits.conf
Přidejte do souboru níže uvedené hodnoty.
nexus - nofile 65536
Uložte a ukončete soubor.
4. Nastavte Nexus jako systémovou službu
Vytvořte soubor služby Systemd v „/etc/systemd/system/“.
vim /etc/systemd/system/nexus.service
Přidejte do souboru následující.
[Unit] Description=Nexus Service After=syslog.target network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Group=nexus Restart=on-failure [Install] WantedBy=multi-user.target
Znovu načíst systemctl.
systemctl daemon-reload
Povolte službu při spouštění systému.
systemctl enable nexus.service
Spusťte službu.
systemctl start nexus.service
Sledujte soubor protokolu.
tail -f /opt/nexusdata/nexus3/log/nexus.log
Zkontrolujte port služby.
netstat -tunlp | grep 8081
5. Nastavte Nginx
Nastavte úložiště epel.
yum install -y epel-release
Seznam repozitářů.
yum repolist
Nainstalujte Nginx.
yum install nginx
nastavit nginx při spouštění systému
systemctl enable nginx
zkontrolujte stav Nginx a spusťte službu, pokud služba neběží.
systemctl status nginx
systemctl start nginx
6. Nastavte DNS záznamy pro servery.
Poté přejděte do správce DNS a přidejte záznam A pro váš server.
A Domain Name Server IP
Zde jsme použili AWS route 53 k nastavení našeho DNS.
7. Nakonfigurujte SSL pomocí certbot
I. Nejprve nainstalujte balíčky certbot.
yum install certbot python2-certbot-nginx
II. Nainstalujte certifikáty.
certbot --nginx
Položí několik otázek a zadá e-mail, název domény a potřebné vstupy následovně.
Po dokončení instalace otevřete nginx.conf.
vim /etc/nginx/nginx.conf
Můžete vidět konfiguraci certbot SSL.
III. Přidat proxy přístup
Přidejte následující obsah do bloků umístění.
location / { proxy_pass "http://127.0.0.1:8081"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Ssl on; proxy_read_timeout 300; proxy_connect_timeout 300; }
Uložte a ukončete soubor.
Zkontrolujte syntaxi nginx:
nginx -t
Restartujte Nginx:
systemctl restart nginx
8. Nastavte pravidla brány firewall
Nyní povolte https přístup ke konkrétní veřejné IP. Spusťte níže uvedený příkaz.
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="123.44.8.180/32" port protocol="tcp" port="443" accept'
Pokud potřebujete otevřít https pro veřejnost, spusťte níže příkaz:
firewall-cmd --zone=public --permanent --add-service=https
Znovu načtěte bránu firewall.
firewall-cmd --reload
9. Nastavení zásad SELinux pro Nginx
setsebool -P httpd_can_network_connect 1
10. Procházejte web pomocí názvu vaší domény
eg: https://nexusrepo.fosslinux.com/
11. Přihlaste se k serveru
Přihlaste se pomocí výchozího uživatelského jména jako „admin“. Spusťte níže uvedený příkaz na serveru a získejte heslo.
cat /opt/nexusdata/nexus3/admin.password
Po prvním přihlášení by se vám mělo zobrazit podobné okno, jak je uvedeno níže.
Klikněte na další a nastavte nové heslo pro administrátora.
Znovu klikněte na další a mělo by se zobrazit okno „Konfigurovat anonymní přístup“. Nepovolujte anonymní přístup.
Klikněte na tlačítko Další a uvidíte kompletní nastavení.
Klikněte na dokončit.
To je vše o instalaci Sonatype Nexus Repository OSS na váš CentOS 7.