Jak hostować własny serwer Git w systemie Linux

Hostowanie tradycyjnego serwera Git w systemie Linux dla kodu programistycznego to świetny pomysł, ale standardowe podejście oparte wyłącznie na wierszu poleceń jest bardzo przestarzałe i brakuje mu przydatnych, nowoczesnych funkcji. Już tylko z tych powodów tak wiele projektów trafia na GitHub; jest to niedroga, łatwa w użyciu alternatywa dla kłopotów związanych z obsługą Gita tylko z wiersza poleceń.

GitHub jest przyzwoity, ale ostatecznie jest to zastrzeżony produkt firmy Microsoft. To też kosztuje. Tak więc w 2019 roku, jeśli chcesz mieć serwer Git, na którym znajduje się cały Twój kod, skorzystanie z GitLab, darmowego, otwartego konkurenta GitHub, jest oczywiste.

Istnieje wiele powodów, dla których warto używać GitLab jako podstawy serwera Git w systemie Linux, a koszty to tylko część. Oferuje również funkcje porównywalne z GitHubem, współpracuje z większością klientów GUI Git, ma świetne narzędzie do śledzenia błędów internetowych i wiele więcej!

Instrukcje Ubuntu

Konfigurowanie GitLab na Ubuntu rozpoczyna się od zainstalowania niezbędnych zależności programowych, takich jak Curl, serwer OpenSSH, certyfikaty Ca. Musisz także zainstalować pakiet Postfix do powiadomień e-mail.

Uwaga: instrukcje w tej sekcji będą działać w systemach Ubuntu 14.04 LTS, 16.04 LTS i 18.04 LTS.

Aby rozpocząć instalację zależności, wprowadź poniższe polecenie Apt w wierszu poleceń swojego komputera Ubuntu.

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

Po zadbaniu o zależności GitLab, czas zaktualizować Ubuntu, aby upewnić się, że całe oprogramowanie w systemie jest aktualne. Ta sekcja jest krytyczna, więc nie pomijaj jej!

sudo apt update
sudo apt upgrade

Po aktualizacji oprogramowania pora rozpocząć instalację GitLab. Użyj polecenia curl, aby pobrać najnowszy skrypt instalacyjny Ubuntu.

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

Pozwól skryptowi działać. Powinien zainstalować wszystko, co jest wymagane, aby GitLab działał w systemie Ubuntu. Kiedy skrypt jest gotowy, czas skonfigurować oprogramowanie tak, aby wskazywało właściwą domenę.

W terminalu wprowadź poniższe polecenie, ale zmień informacje po „EXTERNAL_URL” na adres URL witryny, na której planujesz uzyskać dostęp do serwera GitLab.

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

Po wykonaniu powyższego polecenia odwiedź adres URL ustawiony w sekcji EXTERNAL_URL i użyj nazwy użytkownika „root”, aby się zalogować, aby można było rozpocząć proces konfiguracji po instalacji.

Aby uzyskać więcej informacji na temat konfigurowania i używania GitLab w systemie Ubuntu, odwiedź stronę GitLab dotyczącą konfiguracji.

Instrukcje Debiana

Debian Linux ma bardzo podobne instrukcje instalacji do Ubuntu, ponieważ są to bardzo podobne systemy operacyjne. Proces konfigurowania oprogramowania rozpoczyna się od użycia narzędzia Apt-get do zainstalowania zależności (Curl, OpenSSH Server, certyfikaty Ca i Postfix).

Uwaga: te instrukcje będą działać z Debianem 8 i 9.

Aby rozpocząć instalację zależności, wprowadź poniższe polecenie Apt-get w wierszu poleceń maszyny Debiana.

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

Po instalacji zależności użyj Apt-get, aby sprawdzić dostępność aktualizacji oprogramowania. Nie pomijaj tego kroku!

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

Po zaktualizowaniu oprogramowania nadszedł czas, aby pobrać skrypt instalacyjny GitLab za pomocą polecenia curl.

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

Pozwól skryptowi pobrać i uruchomić. W trakcie działania skrypt skonfiguruje GitLab tak, aby działał w systemie Debian Linux.

Po uruchomieniu skryptu bash GitLab, czas skonfigurować adres URL GitLab. W terminalu wprowadź poniższe polecenie EXTERNAL_URL. Pamiętaj, aby zmienić przykładowy adres URL na domenę, na której 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 zakończy się powodzeniem, GitLab będzie działał w Twoim systemie Debian Linux. Aby zakończyć proces konfiguracji, otwórz nową kartę przeglądarki pod adresem URL ustawionym dla GitLab i użyj nazwy użytkownika „root”, aby się zalogować.

Aby uzyskać więcej informacji na temat konfigurowania i używania GitLab w Debianie, odwiedź stronę z dokumentacją w witrynie GitLab.

Instrukcje CentOS 6

Uruchomienie GitLab na CentOS 6 jest prostym procesem i zaczyna się od użycia menedżera pakietów yum do zainstalowania zależności potrzebnych do uruchomienia oprogramowania. Zależności, których będziesz potrzebować, to Curl, Policycoreutils-python, OpenSSH-Server, Postfix i Cronie.

Uwaga: te instrukcje działają również z RHEL, Oracle Linux i Scientific Linux.

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

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

Gdy Yum zakończy instalację powyższych pakietów, użyj lokkit, aby zezwolić na HTTP i SSH przez zaporę systemu.

sudo lokkit -s http -s ssh

Teraz, gdy zarówno HTTP, jak i SSH są dozwolone przez zaporę sieciową CentoS 6, czas użyć Yum, aby zainstalować ostateczną zależność GitLab: Postfix.

sudo yum install postfix

Następnie włącz Postfix za pomocą poleceń service i chkconfig.

sudo service postfix start
sudo chkconfig postfix on

Po uruchomieniu Postfix w systemie użyj polecenia curl, aby pobrać skrypt instalacyjny CentOS.

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

Uruchom skrypt instalacyjny CentOS. Podczas wykonywania ustawia wszystko, co jest potrzebne, aby GitLab działał w twoim systemie. Po zakończeniu użyj polecenia EXTERNAL_URL, aby wskazać GitLabowi poprawny adres URL, na który ma wskazywać.

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

Po instalacji otwórz nową kartę przeglądarki i odwiedź adres URL ustawiony w powyższym poleceniu. Aby się zalogować, użyj nazwy użytkownika „root”.

Aby uzyskać więcej informacji na temat konfigurowania i używania GitLab w CentOS 6, odwiedź stronę z dokumentacją w witrynie programistycznej GitLab.