Nexus 3 - Czyli Twoje własne repozytoria!

anon95087592 | 2020-09-03 07:48:13 UTC | #1

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) :arrowdoubledown:

sudo apt install openjdk-8-jre

Debian 10 :arrowdoubledown:

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 :arrowdoubledown:

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 :arrowdoubledown:

sudo apt install wget

CentOS/RHEL :arrowdoubledown:

sudo dnf install wget

Krok 3

Instalacja Nexus’a


Tworzymy pierw folder dla naszego nexus’a:

Ubuntu/Debian/CentOS/RHEL :arrowdoubledown:

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 :heart: :)

-------------------------

KMatuszak | 2020-09-02 20:10:40 UTC | #2

[quote="anon95087592, post:1, topic:15943"]
Najtańszy VPS z oferty LVLUP (2GB Ram)
[/quote]

a co jak mam lepszy?

[quote="anon95087592, post:1, topic:15943"]
`openjdk-8-jre`
[/quote]
a headless nie wystarczy? :wink:

[quote="anon95087592, post:1, topic:15943"]
`sudo apt install wget`
[/quote]
można było to zrobić w jednej komendzie :woman_facepalming:

[quote="anon95087592, post:1, topic:15943"]
`sudo mkdir -p /home/nexus`
[/quote]
/home to katalog dla profili użytkowników a nie do trzymania jakichś tam folderów.

[quote="anon95087592, post:1, topic:15943"]
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

[/quote]
:question:
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:

[quote="anon95087592, post:1, topic:15943"]
Tworzymy plik `/etc/systemd/system/nexus.service` za pomocą

sudo touch /etc/systemd/system/nexus.service
```
[/quote]
i znowu, po co? wystarczy utworzyć taki plik przy zapisie bezpośrednio w nano, komendę można całkowicie pominąć bez modyfikacji kolejnych.

[quote=”anon95087592, post:1, topic:15943”]
I wrzucamy następującą zawartość:
[/quote]
warto wytłumaczyć za co jest to odpowiedzialne, co robi i jak działa.

[quote=”anon95087592, post:1, topic:15943”]
A hasło odnajdziesz w pliku /home/nexus/sonatype-work/nexus3/admin.password wystarczy skopiować
[/quote]
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 | 2020-09-02 20:17:33 UTC | #3

[quote=”KMatuszak, post:2, topic:15943”]
a co jak mam lepszy?
[/quote]

To po prostu go masz :woman_shrugging:

[quote=”KMatuszak, post:2, topic:15943”]
a headless nie wystarczy? :wink:
[/quote]
Dla pewności lepiej zainstalować całe JRE ;)

[quote=”KMatuszak, post:2, topic:15943”]
można było to zrobić w jednej komendzie :womanfacepalming:
[/quote]
Można było lecz po prostu tak jakoś wyszło :woman
shrugging:

[quote=”KMatuszak, post:2, topic:15943”]
/home to katalog dla profili użytkowników a nie do trzymania jakichś tam folderów.
[/quote]
Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja.

[quote=”KMatuszak, post:2, topic:15943”]
:question:
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:
[/quote]
Mogłem też tak, lecz jak jest obecnie to źle nie jest.

[quote=”KMatuszak, post:2, topic:15943”]
i znowu, po co? wystarczy utworzyć taki plik przy zapisie bezpośrednio w nano, komendę można całkowicie pominąć bez modyfikacji kolejnych.
[/quote]
:woman_shrugging:

[quote=”KMatuszak, post:2, topic:15943”]
warto wytłumaczyć za co jest to odpowiedzialne, co robi i jak działa.
[/quote]
To plik który odpowiada za obsługę usługi na serwerze w tym wypadku nexus’a

[quote=”KMatuszak, post:2, topic:15943”]
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.
[/quote]
Tak tu fakt, mój błąd.

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


TheMultii | 2020-09-02 20:19:14 UTC | #4

[quote=”anon95087592, post:3, topic:15943”]
Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja.
[/quote]

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


KMatuszak | 2020-09-02 20:21:42 UTC | #5

[quote=”anon95087592, post:3, topic:15943”]
To po prostu go masz :woman_shrugging:
[/quote]
poradnik sugeruje że wymagany jest taki z 2GB ramu.

[quote=”anon95087592, post:3, topic:15943”]
Dla pewności lepiej zainstalować całe JRE :wink:
[/quote]
nie, skoro aplikacja nie korzysta z GUI to całe jest niepotrzebne.

[quote=”anon95087592, post:3, topic:15943”]
Można było lecz po prostu tak jakoś wyszło :woman_shrugging:
[/quote]
ok, szkoda.

[quote=”anon95087592, post:3, topic:15943”]
Wszyscy głównie trzymają np. serwery itd w home dlatego ta lokalizacja.
[/quote]
to że wszyscy tak robią to nie znaczy że trzeba proponować innym głupie nawyki.

[quote=”anon95087592, post:3, topic:15943”]
Mogłem też tak, lecz jak jest obecnie to źle nie jest.
[/quote]
jest kombinowanie bez sensu.

[quote=”anon95087592, post:3, topic:15943”]
To plik który odpowiada za obsługę usługi na serwerze w tym wypadku nexus’a
[/quote]
wiem, mniej doświadczony użytkownik może jednak się zastanawiać czy to nie spowoduje jakichś problemów.

[quote=”anon95087592, post:3, topic:15943”]
Bo to poradnik instalacji nie korzystania, a panel jest na tyle łatwy że praktycznie większość użytkowników da radę.
[/quote]
nie zmienia to faktu że i tak warto pokazać chociaż podstawy.


anon95087592 | 2020-09-02 20:27:30 UTC | #6

[quote=”TheMultii, post:4, topic:15943”]
Z całą pewnością nie wszyscy…
[/quote]

Przepraszam fakt większość *

[quote=”KMatuszak, post:5, topic:15943”]
poradnik sugeruje że wymagany jest taki z 2GB ramu.
[/quote]
Źle to ująłem poprawię

[quote=”KMatuszak, post:5, topic:15943”]
nie, skoro aplikacja nie korzysta z GUI to całe jest niepotrzebne.
[/quote]
Może i fakt 😅 nie wiem ja zawsze całe instalowałem

[quote=”KMatuszak, post:5, topic:15943”]
wiem, mniej doświadczony użytkownik może jednak się zastanawiać czy to nie spowoduje jakichś problemów.
[/quote]
W sumie fakt ale się starałem 😅

[quote=”KMatuszak, post:5, topic:15943”]
nie zmienia to faktu że i tak warto pokazać chociaż podstawy.
[/quote]
To miał być temat na następne poradniki 👍

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


KMatuszak | 2020-09-02 20:34:45 UTC | #7

[quote=”anon95087592, post:1, topic:15943”]
Debian 9/10
[/quote]

[quote=”anon95087592, post:1, topic:15943”]
sudo apt install openjdk-8-jre
[/quote]
Btw, to nie zadziała na Debianie 10. Słabo tak pisać poradnik i nie testować go :worried:


anon95087592 | 2020-09-02 20:43:53 UTC | #8

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 | 2020-09-03 07:09:33 UTC | #9

[quote=”anon95087592, post:1, topic:15943”]
Krok 2
[/quote]

[quote=”anon95087592, post:1, topic:15943”]
Krok 4
[/quote]
Instrukcje niejasne, nie ma kroku trzeciego.


anon95087592 | 2020-09-03 07:46:58 UTC | #10

Kurka faktycznie nie widziałem 😂😂😂😂 poprawione