Si të instaloni Nexus Repository Manager në Ubuntu 22.04


Nexus është një nga menaxherët më të njohur të depove në botën e DevOps. Ai ju lejon të ruani dhe të merrni objekte ndërtimi dhe gjithashtu ofron veçori për të shtyrë dhe tërhequr artefakte nëpërmjet mjeteve të integrimit CI dhe IDE si Visual Studio dhe Jenkins.

Ekzistojnë dy versione të menaxherit të depove Nexus: versioni komercial dhe versioni me burim të hapur. Ai mbështet kaq shumë formate si PyPi, Docker, Yum, APT, Helm, npm, Go, R dhe shumë të tjera.

Përdorimi i Nexus si një depo, i lejon zhvilluesit tuaj të marrin dhe menaxhojnë paketat në menaxherin e centralizuar të depove, i cili gjithashtu i jep ekipit të zhvilluesve një burim të vetëm të së vërtetës për çdo paketë.

Në këtë tutorial, ne do të shpjegojmë se si të instaloni Nexus Repository Manager në një server Ubuntu 22.04. Ky tutorial përfshin gjithashtu instalimin e disa paketave si Java OpenJDK dhe web server Nginx që do të përdoren si një përfaqësues i kundërt.

Parakushtet

Para se të filloni, do t'ju nevojiten kërkesat e mëposhtme:

  • Një server Ubuntu 22.04.
  • Një përdorues pa rrënjë me sudo/administrator të aktivizuar.
  • Një emër domaini i drejtuar nga adresa IP e serverit tuaj Ubuntu (Për prodhim).

Instalimi i Java OpenJDK 8

Menaxheri i depove të Nexus kërkon Java OpenJDK dhe JRE v8. Depoja e parazgjedhur e Ubuntu ofron versione të shumta Java, kështu që tani do të instaloni Java OpenJDK dhe JRE v8 nga depoja e Ubuntu.

Përpara se të instaloni ndonjë paketë, ekzekutoni komandën apt më poshtë për të përditësuar dhe rifreskuar indeksin e paketës së depove tuaja.

sudo apt update

Tani, instaloni Java OpenJDK 8 me anë të komandës apt më poshtë. Futni Y kur ju kërkohet të konfirmoni instalimin dhe shtypni ENTER për të vazhduar.

sudo apt install openjdk-8-jdk

Pasi të instalohet Java, verifikoni versionin Java në sistemin tuaj duke përdorur komandën e mëposhtme.

java -version

Ju do të shihni daljen në pamjen e mëposhtme të ekranit:

Vendosja e Sistemit

Për të instaluar Nexus, do t'ju duhet të krijoni një përdorues të ri të dedikuar Linux me një guaskë të vlefshme dhe gjithashtu duhet të konfiguroni skedarët maksimalë të hapur për kufijtë e fortë dhe të butë në 65536.

Ekzekutoni komandën e mëposhtme për të krijuar një përdorues të ri të dedikuar për Nexus me emrin nexus

sudo useradd -d /opt/nexus -s /bin/bash nexus
sudo passwd nexus

Më pas, vendosni kufirin në 65536 duke përdorur komandën e mëposhtme. Kjo do të ndikojë vetëm përkohësisht në sistemin në sistemin aktual. Për ta bërë atë të përhershëm, mund të krijoni një skedar të ri konfigurimi që do ta bëni në hapin tjetër.

ulimit -n 65536

PËR të konfiguruar përgjithmonë ulimit, krijoni një skedar të ri konfigurimi /etc/security/limits.d/nexus.conf duke përdorur redaktuesin nano.

sudo nano /etc/security/limits.d/nexus.conf

Shtoni konfigurimin e mëposhtëm në skedar. Në këtë shembull, ju po konfiguroni ulimit për përdorues specifik nexus me vlerën 65536.

nexus - nofile 65536

Ruani skedarin dhe dilni nga redaktori kur të keni mbaruar.

Me të gjitha kërkesat bazë të vendosura dhe të konfiguruara, ju jeni gati të instaloni Nexus Repository Manager në sistemin tuaj Ubuntu.

Instalimi i Nexus Repository Manager

Menaxheri i Depove Nexus mund të instalohet nëpërmjet paketës së shpërndarjes që mund ta shkarkoni nga faqja zyrtare e shkarkimit të Sonatype. Në kohën e këtij shkrimi, versioni më i fundit i Nexus është v3.41.1. Tani, ju do të shkarkoni paketën e shpërndarjes së Nexus Repository Manager dhe do të konfiguroni instalimin e nexus.

Shkarkoni paketën Nexus Repository Manager përmes komandës wget si më poshtë. Nëse procesi i shkarkimit ka përfunduar, do të shihni skedarin nexus-3.41.1-01-unix.tar.gz në drejtorinë tuaj aktuale të punës.

wget https://download.sonatype.com/nexus/3/nexus-3.41.1-01-unix.tar.gz

Tani nxirrni skedarin nexus-3.41.1-01-unix.tar.gz nëpërmjet komandës tar më poshtë. Dhe ju duhet të merrni dy drejtori, nexus-3.41.1-01 dhe sonatype-work.

Drejtoria nexus-3.41.1-01 është drejtoria kryesore për paketën Nexus dhe drejtoria sonatype-work është drejtoria kryesore e punës për Nexus.

tar xzf nexus-3.41.1-01-unix.tar.gz

Më pas, zhvendosini ato drejtori të nxjerra në /opt duke përdorur komandën e mëposhtme. Drejtoria e paketës Nexus do të jetë /opt/nexus dhe drejtoria e punës e Nexus do të jetë /opt/sonatype-work.

mv nexus-3.41.1-01 /opt/nexus
mv sonatype-work /opt/

Së fundi, ndryshoni pronësinë e të dy drejtorive në lidhjen e përdoruesit dhe grupit nëpërmjet komandës chown më poshtë.

chown -R nexus:nexus /opt/nexus /opt/sonatype-work

Më pas, do të konfiguroni instalimin tuaj të Nexus duke redaktuar disa nga skedarët e konfigurimit të Nexus.

Hapni skedarin /opt/nexus/bin/nexus.rc duke përdorur redaktuesin nano.

sudo nano /opt/nexus/bin/nexus.rc

Çkomentoni opsionin run_as_user dhe ndryshoni vlerën në nexus. Me këtë konfigurim, ju do të ekzekutoni aplikacionin Nexus si përdorues i sistemit nexus.

run_as_user="nexus"

Ruani skedarin dhe dilni nga redaktori kur të keni mbaruar.

Më pas, hapni skedarin e konfigurimit /etc/nexus/bin/nexus.vmoptions duke përdorur redaktuesin nano për të konfiguruar memorien maksimale të grumbullit për Nexus.

sudo nano /etc/nexus/bin/nexus.vmoptions

Ndryshoni grumbullin maksimal të paracaktuar të kujtesës për instalimin tuaj të Nexus në opsionet e mëposhtme. Mund ta ndryshoni madhësinë në 1024 m bazuar në kujtesën që keni në serverin tuaj.

-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m

Ruani skedarin dhe dilni nga redaktori kur të keni përfunduar.

Tani, modifikoni skedarin e konfigurimit /opt/sonatype-work/nexus3/etc/nexus.properties duke përdorur redaktuesin nano.

sudo nano /opt/sonatype-work/nexus3/etc/nexus.properties

Zhkomentoni opsionin aplikacioni-host i opsionit dhe ndryshoni vlerën në 127.0.0.1. Kjo do të thotë që ju do të përdorni Nexus në localhost ose adresën IP 127.0.0.1.

application-host=127.0.0.1

Ruani skedarin dhe dilni nga redaktori.

Tani keni shkarkuar dhe konfiguruar Menaxherin e Depove të Nexus. Më pas, do të konfiguroni një skedar shërbimi systemd për Nexus.

Duke ekzekutuar Nexus si shërbim SystemD

Në një instalim të paracaktuar, Menaxheri i Depove të Nexus mund të ekzekutohet manualisht nëpërmjet komandës binare nexus që është i disponueshëm në drejtorinë /opt/nexus/bin. Por, për ta bërë më të lehtë menaxhimin e Nexus, do të konfiguroni një skedar shërbimi systemd për Nexus.

Ekzekutimi i Nexus me skedarin e shërbimit systemd, ju lejon të menaxhoni procesin nexus nëpërmjet komandës systemctl.

Tani, krijoni një skedar të ri shërbimi /etc/systemd/system/nexus.service duke përdorur redaktuesin nano.

sudo /etc/systemd/system/nexus.service

Shtoni konfigurimin e mëposhtëm në skedar.

[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

Ruani skedarin dhe dilni nga redaktori kur të keni mbaruar.

Më pas, ekzekutoni komandën e mëposhtme për të ringarkuar menaxherin e sytemd dhe për të aplikuar një skedar të ri shërbimi për Nexus.

sudo systemctl daemon-reload

Nisni dhe aktivizoni nexus.service nëpërmjet komandës systemctl më poshtë. Menaxheri i Depove të Nexus do të fillojë tani në adresën IP lokale 127.0.0.1 me portën e paracaktuar 8081. Gjithashtu, nexus.service do të funksionojë automatikisht në nisjen e sistemit.

sudo systemctl start nexus.service
sudo systemctl enable nexus.service

Së fundi, ekzekutoni komandën e mëposhtme për të verifikuar nexus.service dhe sigurohuni që shërbimi po funksionon.

sudo systemctl status nexus.service

Me funksionimin e Nexus si një shërbim systemd, tani mund të konfiguroni një përfaqësues të kundërt për Nexus.

Po ekzekuton Nexus me përfaqësues të kundërt

Menaxheri i Depove të Nexus po funksionon tani në adresën IP lokale 127.0.0.1 me portën e paracaktuar 8081. Për ta bërë atë të aksesueshëm nga jashtë rrjetit, do të përdorni përfaqësuesin e kundërt Nginx që do të funksionojë në portat standarde HTTP/HTTPS.

Drejtoni komandën e mëposhtme apt për të instaluar serverin në internet Nginx në sistemin tuaj Ubuntu. Kur ju kërkohet të konfirmoni instalimin, futni Y dhe shtypni ENTER për të vazhduar.

sudo apt install nginx

Pasi të instalohet Nginx, ekzekutoni komandën e mëposhtme systemctl për të kontrolluar dhe verifikuar shërbimin nginx. Duhet të shihni se shërbimi nginx është aktivizuar dhe do të funksionojë automatikisht në nisjen e sistemit. Dhe statusi i shërbimit nginx po funksionon.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Më pas, krijoni një konfigurim të ri të bllokut të serverit /etc/nginx/sites-available/nexus duke përdorur redaktuesin nano.

sudo nano /etc/nginx/sites-available/nexus

Shtoni konfigurimin e mëposhtëm Nginx në skedar dhe sigurohuni që të ndryshoni emrin e domenit.

upstream nexus3 {
  server 127.0.0.1:8081;
}

server {
    listen 80;
    server_name nexus.hwdomain.io;

    location / {
        proxy_pass http://nexus3/;
        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;
    }
}

Ruani skedarin dhe dilni nga redaktori.

Më pas, ekzekutoni komandën e mëposhtme për të aktivizuar konfigurimin e bllokut të serverit për Nexus duke krijuar një lidhje simbolike të skedarit të konfigurimit në direktorinë sites-enabled. Pastaj, verifikoni konfigurimin Nginx për t'u siguruar që Nginx është konfiguruar siç duhet.

sudo ln -s /etc/nginx/sites-available/nexus /etc/nginx/sites-enabled/
sudo nginx -t

Nëse konfigurimi juaj Nginx është konfiguruar siç duhet, duhet të merrni mesazhin dalës si \testi është i suksesshëm\.

Së fundi, ekzekutoni komandën e mëposhtme për të rifilluar shërbimin Nginx dhe për të aplikuar konfigurimin e ri të bllokut të serverit për Nexus.

sudo systemctl restart nginx

Tani e keni konfiguruar ueb serverin Nginx si një përfaqësues të kundërt për Menaxherin e Depove të Nexus në makinën tuaj Ubuntu. Tani mund të hyni në instalimin tuaj të Nexus nëpërmjet emrit tuaj të domenit.

Instalimi i Nexus Repository Manager

Në këtë pikë, menaxheri i Nexus Repository po funksionon nën përfaqësuesin e kundërt Nginx. Dhe është i arritshëm përmes emrit të domenit të instalimit tuaj.

Hapni shfletuesin e internetit dhe vizitoni emrin e domenit të instalimit tuaj Nexus (d.m.th.: http://nexus.hwdomain.io). Dhe duhet të merrni faqen e paracaktuar të Nexus si më poshtë.

Klikoni në butonin \Identifikohu\ për t'u identifikuar në panelin e administratorit të Nexus.

Fjalëkalimi i parazgjedhur i administratorit për Nexus ruhet në skedarin /opt/sonatype-work/nexus3/admin.properties me emrin e parazgjedhur të përdoruesit admin.

Kthehuni në terminalin tuaj dhe ekzekutoni komandën e mëposhtme për të marrë fjalëkalimin e paracaktuar për hyrjen në Nexus. Më pas, kopjoni fjalëkalimin e paracaktuar për Nexus.

cat /opt/sonatype-work/nexus3/admin.properties

Më pas, futni administratorin e përdoruesit dhe ngjisni fjalëkalimin për Nexus. Më pas, kliko \Identifikohu\.

Tani do të merrni magjistarin e konfigurimit të Nexus Repository Manager. Kliko \Tjetër\ për të vazhduar.

Futni fjalëkalimin e ri të fortë për instalimin tuaj të Nexus dhe përsërisni. Më pas, kliko sërish \Tjetër\.

Për konfigurimin \Qasje Anonim\. Zgjidhni opsionin \Çaktivizo aksesin anonim\ dhe kliko \Tjetër\.

Tani kliko \Finish\ për të përfunduar konfigurimin e Nexus.

Pasi të përfundojë konfigurimi i Nexus, tani do të shihni panelin e administrimit të Nexus. Në pamjen e mëposhtme të ekranit, mund të shihni Menaxherin e Depove të Nexus.

Së fundi, verifikoni instalimin tuaj të Nexus nëpërmjet butonit të kontrollit të statusit në krye. Tani sigurohuni që i gjithë statusi i sistemit të kontrollohet si i gjelbër, që do të thotë instalimi dhe konfigurimi i Nexus me sukses.

konkluzioni

Në këtë tutorial, ju keni konfiguruar Nexus Repository Manager në një server Ubuntu 22.04. Ju gjithashtu keni konfiguruar serverin në internet Nginx si një përfaqësues të kundërt për Nexus. Tani mund të shtoni depo të projekteve tuaja te menaxheri i depove Nexus dhe të centralizoni burimin e projekteve tuaja, në mënyrë që të mund të ndërtoni dhe shpërndani lehtësisht aplikacionet tuaja te zhvilluesit.

Nëse jeni të interesuar të ekzekutoni Nexus në prodhim, mund të konfiguroni sigurinë për lidhjen tuaj me SSL/TLS nëpërmjet Letsencrypt.