Nexus 3 - Czyli Twoje własne repozytoria!

Poradniki społeczności
anon95087592
anon95087592

O poradniku

Poradnik przedstawia instalację oprogramowania Sonatype Nexus 3 który umożliwia tworzenie własnych repozytoriów za pomocą paru kliknięć, jeżeli nie znasz się na temacie tworzenia repozytoriów za pomocą CLI ten poradnik jest idealnie dla Ciebie!

Krok 1

Przygotowania

Potrzebne będzie:

  • Najtańszy VPS z oferty LVLUP (2GB Ram) lub lepszy
  • System: Ubuntu 18.04/20.04, Debian 9/10, RHEL 7/8, CentOS 7/8

Krok 2

Instalacja wymaganych pakietów

Instalacja Javy w wersji 8 która jest wymagana do uruchomienia Nexus'a:

Ubuntu/Debian (9)

sudo apt install openjdk-8-jre

Debian 10

sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

sudo apt-get update

sudo apt install adoptopenjdk-8-hotspot

Dzięki @KMatuszak za podpowiedź dot. Debian 10

CentOS/RHEL

sudo dnf install java-1.8.0-openjdk.x86_64

Instalacja paczki wget wymaganej do pobrania Nexus'a bezpośrednio na nasz serwer: Ubuntu/Debian

sudo apt install wget

CentOS/RHEL

sudo dnf install wget

Krok 3

Instalacja Nexus'a

Tworzymy pierw folder dla naszego nexus'a:

Ubuntu/Debian/CentOS/RHEL

sudo mkdir -p /opt/nexus

Pobieramy pliki nexus'a:

sudo wget -O nexus.tar.gz https://download.sonatype.com/nexus/3/latest-unix.tar.gz

Gdy paczka z plikami zostanie pobrana rozpakowujemy ją:

sudo tar -xvf nexus.tar.gz

Po wypakowaniu przenosimy pliki do folderu:

sudo mv nexus3 /opt/nexus/nexus && sudo mv sonatype-work /opt/nexus/sonatype-work

Tworzymy użytkownika nexus na którym będzie działał nasz nexus który będzie uruchamiany przez systemd

sudo adduser nexus

Nadajemy uprawnienia użytkownikowi nexus do folderów by aplikacja mogła modyfikować w nich pliki:

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

Gdy nadamy uprawnienia trzeba powiedzieć nexusowi, Hej! Stop :stop_sign: masz działać jako ten użytkownik. Uruchamiamy edytor np. nano za pomocą:

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

i następnie usuwamy komentarz przy run_as_user="nexus", następnie zapisując.

Krok 4

Dodanie usługi systemowej dla Nexusa

Tworzymy plik /etc/systemd/system/nexus.service za pomocą

sudo touch /etc/systemd/system/nexus.service

następnie otwieramy go za pomocą edytora np. nano

sudo nano /etc/systemd/system/nexus.service

I wrzucamy następującą zawartość:

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
User=nexus
Group=nexus
ExecStart=/opt/nexus/nexus/bin/nexus start
ExecStop=/opt/nexus/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

i startujemy za pomocą

sudo systemctl start nexus

I naszego nexusa znajdziemy pod linkiem http://IPv4:8081 Domyślny login to admin A hasło odnajdziesz w pliku /opt/nexus/sonatype-work/nexus3/admin.password wystarczy skopiować i wkleić w pole "Password"

Dziękuje, mam nadzieję że poradnik się spodobał. Jeżeli tak jest daj ❤️ :)

KMatuszak
KMatuszak Weteran

anon95087592:

Najtańszy VPS z oferty LVLUP (2GB Ram)

a co jak mam lepszy?

anon95087592:

openjdk-8-jre a headless nie wystarczy? 😉

anon95087592:

sudo apt install wget można było to zrobić w jednej komendzie :woman_facepalming:

anon95087592:

sudo mkdir -p /home/nexus /home to katalog dla profili użytkowników a nie do trzymania jakichś tam folderów.

anon95087592:

Tworzymy użytkownika nexus na którym będzie działał nasz nexus który będzie uruchamiany przez systemd

sudo adduser nexus

Nadajemy uprawnienia użytkownikowi nexus do folderów by aplikacja mogła modyfikować w nich pliki:

sudo chown -R nexus:nexus /home/nexus/nexus && sudo chown -R nexus:nexus /home/nexus/sonatype-work

najpierw utworzyłeś katalog użytkownika a potem tworzysz tego użytkownika. po co? można było pominąć te całe chown tworząc po prostu najpierw użytkownika :woman_facepalming:

anon95087592:

Tworzymy plik /etc/systemd/system/nexus.service za pomocą

sudo touch /etc/systemd/system/nexus.service

i znowu, po co? wystarczy utworzyć taki plik przy zapisie bezpośrednio w nano, komendę można całkowicie pominąć bez modyfikacji kolejnych.

anon95087592:

I wrzucamy następującą zawartość: warto wytłumaczyć za co jest to odpowiedzialne, co robi i jak działa.

anon95087592:

A hasło odnajdziesz w pliku /home/nexus/sonatype-work/nexus3/admin.password wystarczy skopiować warto poinformować o tym że można odczytać je łatwo na przykład przy pomocy komendy cat, mniej doświadczony użytkownik może niepotrzebnie marnować czas na odczytywanie tego przez sftp.

a tak w ogóle, pokazałeś instalację i nie napisałeś ani słowa o tym jak z tego korzystać :woman_facepalming:

anon95087592
anon95087592

KMatuszak:

a co jak mam lepszy?

To po prostu go masz :woman_shrugging:

KMatuszak:

a headless nie wystarczy? 😉 Dla pewności lepiej zainstalować całe JRE ;)

KMatuszak:

można było to zrobić w jednej komendzie :woman_facepalming: Można było lecz po prostu tak jakoś wyszło :woman_shrugging:

KMatuszak:

/home to katalog dla profili użytkowników a nie do trzymania jakichś tam folderów. Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja.

KMatuszak:

najpierw utworzyłeś katalog użytkownika a potem tworzysz tego użytkownika. po co? można było pominąć te całe chown tworząc po prostu najpierw użytkownika :woman_facepalming: Mogłem też tak, lecz jak jest obecnie to źle nie jest.

KMatuszak:

i znowu, po co? wystarczy utworzyć taki plik przy zapisie bezpośrednio w nano, komendę można całkowicie pominąć bez modyfikacji kolejnych. :woman_shrugging:

KMatuszak:

warto wytłumaczyć za co jest to odpowiedzialne, co robi i jak działa. To plik który odpowiada za obsługę usługi na serwerze w tym wypadku nexus'a

KMatuszak:

warto poinformować o tym że można odczytać je łatwo na przykład przy pomocy komendy cat, mniej doświadczony użytkownik może niepotrzebnie marnować czas na odczytywanie tego przez sftp. Tak tu fakt, mój błąd.

KMatuszak:

a tak w ogóle, pokazałeś instalację i nie napisałeś ani słowa o tym jak z tego korzystać :woman_facepalming: Bo to poradnik instalacji nie korzystania, a panel jest na tyle łatwy że praktycznie większość użytkowników da radę.

TheMultii
TheMultii

anon95087592:

Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja.

Z całą pewnością nie wszyscy... 🤔

KMatuszak
KMatuszak Weteran

anon95087592:

To po prostu go masz :woman_shrugging: poradnik sugeruje że wymagany jest taki z 2GB ramu.

anon95087592:

Dla pewności lepiej zainstalować całe JRE 😉 nie, skoro aplikacja nie korzysta z GUI to całe jest niepotrzebne.

anon95087592:

Można było lecz po prostu tak jakoś wyszło :woman_shrugging: ok, szkoda.

anon95087592:

Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja. to że wszyscy tak robią to nie znaczy że trzeba proponować innym głupie nawyki.

anon95087592:

Mogłem też tak, lecz jak jest obecnie to źle nie jest. jest kombinowanie bez sensu.

anon95087592:

To plik który odpowiada za obsługę usługi na serwerze w tym wypadku nexus’a wiem, mniej doświadczony użytkownik może jednak się zastanawiać czy to nie spowoduje jakichś problemów.

anon95087592:

Bo to poradnik instalacji nie korzystania, a panel jest na tyle łatwy że praktycznie większość użytkowników da radę. nie zmienia to faktu że i tak warto pokazać chociaż podstawy.

anon95087592
anon95087592

TheMultii:

Z całą pewnością nie wszyscy…

Przepraszam fakt większość *

KMatuszak:

poradnik sugeruje że wymagany jest taki z 2GB ramu. Źle to ująłem poprawię

KMatuszak:

nie, skoro aplikacja nie korzysta z GUI to całe jest niepotrzebne. Może i fakt 😅 nie wiem ja zawsze całe instalowałem

KMatuszak:

wiem, mniej doświadczony użytkownik może jednak się zastanawiać czy to nie spowoduje jakichś problemów. W sumie fakt ale się starałem 😅

KMatuszak:

nie zmienia to faktu że i tak warto pokazać chociaż podstawy. To miał być temat na następne poradniki 👍

Edit: @KMatuszak ścieżki poprawione na bardziej stosowne

KMatuszak
KMatuszak Weteran

anon95087592:

Debian 9/10

anon95087592:

sudo apt install openjdk-8-jre Btw, to nie zadziała na Debianie 10. Słabo tak pisać poradnik i nie testować go 😟

anon95087592
anon95087592

Kurna pod Debianem 10 nie sprawdziłem dzięki za informacje poprawię iż na serwerze przeważnie był Debian 9/Ubuntu więc myślałem że na 10 podobnie będzie. Przepraszam za błąd poprawiłem. W następnym poradniku postaram się by mniej ich było

TheMultii
TheMultii

anon95087592:

Krok 2

anon95087592:

Krok 4 Instrukcje niejasne, nie ma kroku trzeciego.

anon95087592
anon95087592

Kurka faktycznie nie widziałem 😂😂😂😂 poprawione