O pordaniku
W tym poradniku będziemy tworzyć swoje pierwsze repozytorium w Nexusie, będzie to przykładowo repozytorium APT (czyli dla Ubuntu i Debiana)
Krok 1
Przygotowania
Pierw musimy mieć zainstalowanego Nexusa na naszym VPS: https://lvlup.rok.ovh/t/nexus-3-czyli-twoje-wlasne-repozytoria/15943/
Krok 2
Logowanie do panelu
Aby się zalogować najpierw trzeba wejść na stronę http://:8081
i zalogować się poprzez kliknięcie:
Wyskoczy nam takie okienko z prośbą o wprowadzenie danych logowania:
Domyślny login to admin, hasło po instalacji trzeba było zmienić więc wpisujemy wybrane po instalacji hasło.
Krok 3
Przegląd panelu
Panel po logowaniu wygląda następująco:
Przechodzimy do Server administration and configuration
czyli klikamy
Następnie ujrzymy taką stronę dzięki której możemy zarządzać naszym nexusem i repozytoriami:
Krok 4
Stworzenie własnego repozytorium APT
W celu stworzenia repozytorium APT, przechodzimy do zakładki Repositories
z sidebara po lewej stronie:
i ujrzymy pare domyślnie utworzonych repozytorii można je usunąć klikając na nie i wybierając Delete repository
lub po prostu zostawić i zignorować.
Ja mam aktualnie puste iż usunąłem domyślne repozytoria
Aby utworzyć repozytorium wybieramy Create Repository
(ten guzik na górze)
Wyświetli się nam taka oto lista:
I teraz tak, aby mieć własne repozytorium na który będą wrzucane nasze paczki musimy wybrać apt (hosted)
dlaczego?
Proxy - jak sama nazwa mówi on będzie tylko przepuszczał ruch do danego repozytorium które ustawimy ruch przez naszego nexusa.
Group - Grupa istniejących repozytoriów.
Więc dobrze, mamy wybrane repozytorium które chcemy utworzyć i otrzymujemy taki formularz:
Zacznijmy od nazwy, tam najlepiej jakby nie było spacji iż mogą wystąpić problemy, my na ten przykład damy nazwę LVLUP,
Distribution
czyli jakie dystrybucje mogą korzystać z tego repo, aby było jedno repo dla debiana/ubuntu możemy wpisać all, jak nie to wpisujemy nazwę kodową dystrybucji np. bionic
Teraz czas na ustawienia APT'a, czyli klucz GPG.
W tym celu wchodzimy na SSH i wprowadzamy komendę gpg --gen-key
GPG poprosi nas o dane:
Proszę się nie sugerować tymi danymi iż one są przykładowe!
Po wpisaniu danych zapyta nas czy chcemy coś zmienić jak nie wpisujemy o
i klikamy ENTER
Wtedy zapyta nas o hasło którego NIE MOŻNA ZGUBIĆ! iż ono będzie wymagane przez nexusa podczas tworzenia repozytorium!
Po udanym tworzeniu klucza otrzymamy następujący tekst:
Teraz musimy jakoś skopiować ten klucz? :thinking:
Zrobimy to za pomocą gpg --export-secret-key --armor
, system poprosi o hasło do klucza GPG i wyrzuci nam prywatny klucz którego nie można udostępniać!
Część wygenerowanego klucza
Kopiujemy go całego i wklejamy do pola w polu pod kluczem wpisujemy hasło które ustawiliśmy dla klucza podczas generowania:
Dobrze gdy wszystko wypełniliśmy możemy zatwierdzić przyciskiem Create Repository
🎉 Repozytorium utworzone!
Krok 5
Dodawanie paczek do repozytorium
Gdy mamy już nasze repozytorium przechodzimy na stronę główna nexusa
Następnie przechodzimy do zakładki Wybieramy repozytorium gdzie chcemy uploadować paczkę
I wybieramy plik który chcemy dodać do repo
Bonus
Dodanie klucza publicznego GPG do keyserver'a Ubuntu ID Klucza znajdziemy w następujący sposób: ID Klucza to w tym wypadku 9390711D201E2B3ECEBA53BE588358C3124F0D3E
Wykonujemy komendę
gpg --keyserver keyserver.ubuntu.com --send-keys ID_Klucza
i po poprawnym wysłaniu dostaniemy taki komunikat
Następnie przechodzimy na stronę http://keyserver.ubuntu.com i w polu do wyszukiwania
Wpisujemy to co w polu Real Name podczas tworzenia klucza. Jeżeli wyskoczy że nie znaleziono, to powtórz wyszukiwanie
I teraz jest nasz klucz na keyserverze ubuntu
Import klucza publicznego na nasz 2 serwer ew. komputer klienta + dodanie repozytorium do sources.list To zaznaczone to publiczne ID klucza! Kopiujemy to i wklejamy na koniec komendy
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ID
Zatwierdzamy enterem i po poprawnym imporcie powinniśmy otrzymać:
Aby dodać do systemu repozytorium edytujemy /etc/apt/sources.list i na koniec wklejamy
deb http://:8081/repository/nazwa/
Jeżeli ci się spodobało daj ❤️ :D