Jak skonfigurować serwer Git

Jeśli chodzi o hosting Git, masz wiele dostępnych opcji. GitHub, Gitlab i Bitbucket to popularne rozwiązania, ale uruchomienie własnego serwera Git jest alternatywą wartą rozważenia.

Ustawienie serwera Git pozwala na tworzenie prywatnych repozytoriów bez ograniczeń wynikających z darmowych planów dostawców.

W tym przewodniku wyjaśnimy, jak skonfigurować goły serwer Git na Linuksie. Taka konfiguracja jest dobra, jeśli masz niewiele repozytoriów, a współpracownicy są obeznani z technologią. W przeciwnym razie należy rozważyć zainstalowanie własnej aplikacji git, takiej jak Gitea, Gogs lub Gitlab .

Serwer Git może być skonfigurowany na dowolnej zdalnej maszynie z systemem Linux lub nawet na lokalnym systemie.

Ustawianie serwera Git #

Pierwszym krokiem jest zainstalowanie Git na serwerze.

Jeśli używasz Debiana lub Ubuntu, odśwież lokalny indeks pakietów i zainstaluj git, wykonując następujące polecenia jako użytkownik sudo:

sudo apt update && sudo apt install git

Aby zainstalować pakiet git na serwerach CentOS, wpisz:

sudo yum install git

Następnie należy utworzyć nowego użytkownika, który będzie zarządzał repozytoriami Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

Katalog domowy użytkownika ustawiamy na /home/git. Wszystkie repozytoria będą przechowywane pod tym katalogiem. Nie ustawiliśmy hasła dla użytkownika „git”, logowanie będzie możliwe tylko za pomocą kluczy ssh.

Przełącz się na użytkownika „git” za pomocą polecenia su:

sudo su - git

Uruchom następujące polecenia, aby utworzyć katalog SSH i ustawić odpowiednie uprawnienia :

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

Utwórz plik o nazwie ~/.ssh/authorized_keys, który będzie zawierał klucze SSH autoryzowanych użytkowników:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

To wszystko. Konfiguracja serwera została zakończona. Teraz możesz utworzyć swoje pierwsze repozytorium Git.

Wykonaj następujące polecenie, aby zainicjować nowe puste repozytorium:

git init --bare ~/projectname.git

Możesz nazwać katalog jak chcesz. Ważną rzeczą jest utworzenie repozytorium pod katalogiem domowym użytkownika „git”.

Initialized empty Git repository in /home/git/projectname.git/

Konfigurowanie lokalnego repozytorium Git #

Aby móc przepchnąć lokalne zmiany git na serwer Git, musisz dodać klucz publiczny SSH użytkownika lokalnego do pliku zdalnego użytkownika „git” authorized_keys.

Jeśli masz już utworzoną parę kluczy SSH w swoim lokalnym systemie, możesz wyświetlić klucz publiczny wpisując:

cat ~/.ssh/id_rsa.pub

Wyjście powinno wyglądać jak poniżej:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

Jeśli otrzymasz komunikat o błędzie o treści No such file or directory, oznacza to, że nie masz wygenerowanej pary kluczy SSH na swoim lokalnym komputerze.

Aby wygenerować nową parę kluczy SSH, użyj następującego polecenia:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Kopiuj dane wyjściowe z polecenia cat powyżej i wróć do konsoli serwera Git.

Na serwerze otwórz edytor tekstu i wklej klucz publiczny, który skopiowałeś z lokalnego komputera do pliku ~/.ssh/authorized_keys:

sudo nano /home/git/.ssh/authorized_keys

Cały tekst klucza publicznego powinien znajdować się w jednej linii.

Zakładamy, że pakiet Git jest już zainstalowany na twoim lokalnym komputerze. Jeśli nie, zainstaluj go w taki sam sposób, jak opisano w poprzednich sekcjach.

Jeśli masz już istniejący projekt, przejdź do katalogu projektu. Jeśli zaczynasz od zera, utwórz katalog projektu i przejdź do niego:

cd /path/to/local/project

Zainicjalizuj repozytorium git:

git init .

Ostatnim krokiem jest dodanie git remote do twojego lokalnego repozytorium:

git remote add origin git@git_server_ip:projectname.git

Nie zapomnij zastąpić git_server_ip nazwą hosta lub adresem IP twojego serwera Git.

Aby sprawdzić, czy wszystko jest poprawnie skonfigurowane, utwórz plik testowy :

touch test_file

Dodaj zmiany do obszaru staging:

git add .

Zatwierdzić zmiany:

git commit -m "descriptive message"

Przepchnąć zmiany z lokalnego repozytorium do zdalnego repozytorium:

git push -u origin master

Jeśli wszystko jest skonfigurowane poprawnie, dane wyjściowe powinny wyglądać mniej więcej tak:

Aby dodać nowego współpracownika, wystarczy skopiować jego publiczny klucz SSH do pliku użytkownika „git” ~/.ssh/authorized_keys.

Możesz użyć tych samych kroków, aby utworzyć nowe repozytoria. Ważne jest, aby pamiętać, że zdalne repozytorium musi istnieć, zanim dodasz git remote do swojego lokalnego repozytorium.

Zakończenie #

W tym tutorialu pokazaliśmy, jak skonfigurować własny prywatny serwer Git i tworzyć repozytoria.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *