Jak hostować własny serwer Git w systemie Linux

Hostowanie tradycyjnego serwera Git na systemie Linux dla projektów programistycznych to doskonałe rozwiązanie, lecz tradycyjne podejście oparte wyłącznie na wierszu poleceń jest nieco przestarzałe i nie oferuje wielu nowoczesnych funkcji. To właśnie dlatego wiele projektów znajduje swoje miejsce na GitHubie, ponieważ jest to przystępna cenowo i łatwa w obsłudze alternatywa dla problemów związanych z zarządzaniem Gitem tylko za pomocą terminala.

Chociaż GitHub ma swoje zalety, jest to produkt stworzony przez firmę Microsoft i wiąże się z pewnymi kosztami. Dlatego w 2019 roku, jeśli pragniesz posiadać serwer Git, na którym umieścisz cały swój kod, warto rozważyć GitLab – darmową, otwartą alternatywę dla GitHuba.

Jest wiele powodów, dla których warto wybrać GitLab jako serwer Git w systemie Linux; koszty to tylko jedna z kwestii. GitLab oferuje również funkcje porównywalne do tych dostępnych na GitHubie, współpracuje z większością klientów GUI Git, a także dysponuje świetnym narzędziem do śledzenia błędów i wieloma innymi użytecznymi opcjami!

Instalacja na Ubuntu

Proces konfiguracji GitLab na Ubuntu zaczyna się od zainstalowania niezbędnych zależności, takich jak Curl, serwer OpenSSH oraz certyfikaty CA. Należy także zainstalować pakiet Postfix, aby umożliwić powiadomienia e-mail.

Uwaga: Te instrukcje są przeznaczone dla systemów Ubuntu 14.04 LTS, 16.04 LTS i 18.04 LTS.

Aby rozpocząć instalację zależności, wprowadź poniższe polecenie Apt w terminalu swojego komputera z systemem Ubuntu.

sudo apt install curl openssh-server ca-certificates
sudo apt install postfix

Po zainstalowaniu zależności czas na aktualizację systemu Ubuntu, aby upewnić się, że wszystkie pakiety są na bieżąco. Ten krok jest kluczowy, więc nie pomijaj go!

sudo apt update
sudo apt upgrade

Po zaktualizowaniu systemu możesz przystąpić do instalacji GitLab. Wykorzystaj polecenie curl, aby pobrać najnowszy skrypt instalacyjny dla Ubuntu.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

Poczekaj, aż skrypt się zakończy. Powinien zainstalować wszystkie niezbędne komponenty, aby GitLab działał na Twoim systemie. Gdy skrypt zakończy działanie, nadszedł czas na konfigurację oprogramowania, aby wskazywało odpowiednią domenę.

W terminalu wpisz poniższe polecenie, pamiętając, aby zastąpić informacje po „EXTERNAL_URL” adresem URL, pod którym planujesz uzyskać dostęp do serwera GitLab.

sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ee

Po zakończeniu powyższego polecenia odwiedź adres URL ustalony w sekcji EXTERNAL_URL i zaloguj się przy użyciu nazwy użytkownika „root”, aby rozpocząć proces konfiguracji po instalacji.

Aby uzyskać więcej informacji dotyczących konfiguracji i korzystania z GitLab na Ubuntu, sprawdź dokumentację GitLab.

Instalacja na Debianie

Instrukcje instalacji GitLab na Debianie są bardzo podobne do tych dla Ubuntu, z uwagi na bliskie pokrewieństwo tych systemów operacyjnych. Proces rozpoczniesz od użycia narzędzia Apt-get do zainstalowania niezbędnych zależności (Curl, OpenSSH Server, certyfikaty CA oraz Postfix).

Uwaga: Instrukcje te są odpowiednie dla Debiana 8 i 9.

Aby rozpocząć, wprowadź poniższe polecenie Apt-get w terminalu swojego systemu Debian.

sudo apt-get install curl openssh-server ca-certificates
sudo apt-get install postfix

Po zainstalowaniu zależności, użyj Apt-get, aby sprawdzić, czy dostępne są aktualizacje oprogramowania. Nie pomijaj tego kroku!

sudo apt-get update
sudo apt-get upgrade -y

Po zaktualizowaniu systemu czas na pobranie skryptu instalacyjnego GitLab za pomocą polecenia curl.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

Poczekaj, aż skrypt się pobierze i uruchomi. Podczas działania skonfiguruje GitLab tak, aby działał w systemie Debian.

Po uruchomieniu skryptu, nadszedł czas na ustawienie adresu URL GitLab. W terminalu wpisz poniższe polecenie EXTERNAL_URL, pamiętając, aby zamienić przykładowy adres URL na domenę, pod którą planujesz uzyskać dostęp do GitLab.

sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee

Zakładając, że polecenie EXTERNAL_URL przebiegło pomyślnie, GitLab powinien działać w systemie Debian. Aby zakończyć konfigurację, otwórz nową kartę przeglądarki pod adresem URL przypisanym do GitLab i zaloguj się jako użytkownik „root”.

Aby uzyskać więcej informacji na temat konfiguracji i korzystania z GitLab w Debianie, odwiedź stronę dokumentacyjną GitLab.

Instalacja na CentOS 6

Instalacja GitLab na CentOS 6 jest stosunkowo prosta i rozpoczyna się od użycia menedżera pakietów yum, aby zainstalować niezbędne zależności do działania oprogramowania. Będziesz potrzebować Curl, policycoreutils-python, OpenSSH-Server, Postfix oraz Cronie.

Uwaga: Te instrukcje są również odpowiednie dla RHEL, Oracle Linux oraz Scientific Linux.

Aby rozpocząć instalację zależności, wprowadź poniższe polecenie Yum w terminalu CentOS 6.

sudo yum install -y curl policycoreutils-python openssh-server cronie

Gdy Yum zakończy instalację powyższych pakietów, użyj narzędzia lokkit, aby umożliwić HTTP oraz SSH w zaporze systemowej.

sudo lokkit -s http -s ssh

Teraz, gdy zarówno HTTP, jak i SSH są dozwolone przez zaporę na CentOS 6, możesz zainstalować ostatnią z zależności GitLab, czyli Postfix, używając Yum.

sudo yum install postfix

Następnie uruchom Postfix za pomocą poleceń service i chkconfig.

sudo service postfix start
sudo chkconfig postfix on

Po uruchomieniu Postfix w systemie użyj polecenia curl do pobrania skryptu instalacyjnego dla CentOS.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

Uruchom skrypt instalacyjny dla CentOS. Podczas działania ustawi wszystkie niezbędne elementy, aby GitLab był sprawny w Twoim systemie. Po zakończeniu użyj polecenia EXTERNAL_URL, aby wskazać GitLabowi odpowiedni adres URL.

sudo EXTERNAL_URL="https://gitlab.example.com" yum -y install gitlab-ee

Po zainstalowaniu GitLab, otwórz nową kartę przeglądarki i przejdź do adresu URL, który ustawiłeś w poprzednim poleceniu. Aby się zalogować, użyj nazwy użytkownika „root”.

Aby uzyskać więcej informacji na temat konfiguracji i korzystania z GitLab na CentOS 6, sprawdź dokumentację GitLab.