Dlaczego Gitlab?
Szybkie linki
- Dlaczego Gitlab?
- Ustawiać
- Zainstaluj zależności
- Zainstaluj Gitlab
- Uruchom Instalatora
- Początkowe ustawienia
- Skonfiguruj SSH
- Dla zwykłego SSH
- Skonfiguruj UFW
- Zamykanie myśli
Istnieje wiele wspaniałych opcji hostingu projektów i udostępniania kodu. Możesz teraz założyć konto Github za darmo. Dlaczego więc miałbyś chcieć samemu skonfigurować Gitlab?
Jest na to kilka dobrych argumentów, w rzeczywistości nie najmniej ważnym z nich jest prywatność. Gitlab jest twój. Jesteś gospodarzem i jesteś jego właścicielem. Możesz więc kontrolować, kto ma dostęp do twoich repozytoriów. Oznacza to również, że masz kontrolę nad samą platformą. Nie podlegasz zasadom korporacyjnym, arbitralnym zmianom cen ani gromadzeniu danych.
Samoobsługowa kontrola wersji oznacza również, że nie jesteś zależny od usługi dostępu do Twojego kodu. Jasne, szanse, że Github lub inna podobna usługa będą całkowicie niedostępne z powodu awarii, są niewielkie, ale czy nie wolałbyś, żeby to wcale nie było możliwe?
Gitlab jest również bardzo łatwy w konfiguracji i wymaga tylko serwera Linux z oprogramowaniem Gitlab typu open source, z którego większość jest wstępnie skonfigurowana i gotowa do uruchomienia.
Ustawiać
Zanim zaczniesz, musisz skonfigurować VPS do hostowania Gitlab, chyba że planujesz hostować go lokalnie. Firmy hostingowe, takie jak DigitalOcean i Linode, oferują opłacalne opcje, które mogą uruchomić serwer.
Warto też kupić nazwę domeny dla swojego serwera. Możesz też wskazać subdomenę istniejącej nazwy domeny na serwerze Gitlab. Tak czy inaczej ułatwi dostęp do interfejsu internetowego.
Ten przewodnik będzie zgodny z Ubuntu 16.04 LTS. Jest to najnowsza wersja długoterminowego wsparcia dla Ubuntu i jest bardzo łatwa w obsłudze. Debian Stretch (stabilny) również byłby świetną opcją i większość tego przewodnika również będzie z nim współpracować. Zarówno DigitalOcean, jak i Linode skonfigurują Twój serwer z wybranym systemem operacyjnym, więc nie musisz instalować Ubuntu.
Zainstaluj zależności
Przy pierwszym uruchomieniu Ubuntu warto zaktualizować system, aby upewnić się, że nie ma dostępnych poprawek bezpieczeństwa. Śmiało i zrób to pierwszy.
$ sudo apt update $ sudo apt upgrade
Po zakończeniu aktualizacji, aby rozpocząć, Gitlab musi zainstalować kilka rzeczy. Użyj apt, aby je również zainstalować.
$ sudo apt install curl openssh-server ca-certyfikaty postfiks
Otóż to. Jesteś gotowy do uruchomienia skryptu instalatora Gitlab.
Zainstaluj Gitlab
Gitlab utrzymuje własne repozytorium Debian / Ubuntu. Aby włączyć repozytorium na serwerze, pobierz i uruchom wygodny skrypt instalacyjny dostarczony przez zespół Gitlab.
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
To może wyglądać dużo, ale po prostu pobiera skrypt i mówi powłoce wiersza poleceń, aby go uruchomił. Skrypt zajmie kilka sekund, aby uruchomić i skonfigurować repozytorium. Gdy to zrobisz, będziesz gotowy do zainstalowania pakietu Gitlab.
$ sudo apt install gitlab-ce
Ta instalacja zajmie kilka minut. Gitlab jest dostarczany w jednym dużym pakiecie zwanym „pakietem Omnibus”. Zawiera wszystko, czego potrzebuje Gitlab.
Uruchom Instalatora
Istnieje skrypt instalacyjny, który musisz uruchomić, aby Gitlab mógł się skonfigurować. Przyszedł w właśnie zainstalowany pakiet, więc możesz go teraz uruchomić.
$ sudo gitlab-ctl rekonfiguruj
Wykonanie skryptu zajmie kilka minut. Najczęściej konfiguruje backend bazy danych dla Gitlab. Na ekranie zobaczysz wiele migracji Ruby on Rails. Może to chwilę potrwać, ale po zakończeniu Gitlab będzie gotowy do użycia.
Początkowe ustawienia
Otwórz przeglądarkę internetową i przejdź do serwera Gitlab. Zostaniesz powitany przez stronę z prośbą o skonfigurowanie hasła administracyjnego. To jest oczywiście hasło do konta administratora. Domyślnie nazwa tego konta to „root”.
Po skonfigurowaniu tego konta możesz zalogować się na nim lub zarejestrować zwykłe konto użytkownika i zalogować się. W każdym razie po zalogowaniu się będziesz mieć dostęp do całego pulpitu nawigacyjnego Gitlab do tworzenia repozytoriów i zarządzania nimi.
Skonfiguruj SSH
Nie chcesz wprowadzać zmian w swoich projektach przy użyciu haseł. To jest ból i nie jest zbyt bezpieczny. Najlepszą rzeczą, jaką możesz zrobić, to utworzyć SSH, aby zalogować się automatycznie z dowolnego komputera z zainstalowanym kluczem.
Klucze SSH są bardzo łatwe do utworzenia w systemach Linux i Mac. W systemie Windows 10 proces powinien być taki sam dzięki dostępnej aplikacji OpenSSH.
Otwórz terminal i uruchom następujące polecenie, aby utworzyć klucz. Możesz pominąć część -C '', jeśli chcesz po prostu użyć danych logowania do swojego komputera. W przeciwnym razie adres e-mail jest zwykle właściwym połączeniem.
$ ssh-keygen -b 4096 -t rsa -C ''
Proces przeprowadzi Cię przez kilka kroków. Domyślne wartości są w większości dobre i wszystko jest dość oczywiste. Jeśli zdecydujesz się powiązać hasło z kluczem, będzie ono potrzebne przy każdym logowaniu lub wprowadzeniu zmiany. Możesz pozostawić hasło puste, aby go nie używać.
Aby wyświetlić klucz, uruchom poniższe polecenie. Będzie to wyglądało jak bzdura i zasadniczo tak jest, ale to jest twój klucz. Musisz go skopiować z terminala i wkleić w Gitlab.
$ cat ~ / .ssh / id_rsa.pub
Po powrocie do Gitlab kliknij ikonę profilu w prawym górnym rogu ekranu. Następnie kliknij „Ustawienia” w wyświetlonym menu. W menu po lewej stronie kliknij „Klucze SSH”.
Skopiuj klucz z terminala. Zacznij od „ssh-rsa” i zatrzymaj się przed swoim adresem e-mail. Więc po prostu skopiuj nonsensowną część. Wklej go w duże pole oznaczone „Klucz”. Nazwij swój klucz i zapisz go. Od tego momentu będziesz mógł przesyłać kod do repozytoriów bez logowania.
Dla zwykłego SSH
Masz już klucz SSH. Równie dobrze możesz użyć go do SSH. OpenSSH ma wbudowane narzędzie do wypychania klucza na serwer.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Zamień server_username i SERVER_IP swoją nazwą użytkownika na serwerze i adresem IP serwera.
Spróbuj zalogować się ponownie na serwerze za pomocą nowego klucza.
$ ssh _IP
Powinieneś połączyć się natychmiast, bez konieczności wprowadzania hasła.
Lepiej też zablokować resztę SSH. Jest to prawdopodobnie jeden z najsłabszych punktów publicznego serwera. Otwórz / etc / ssh / sshd_confg w wybranym edytorze tekstu na serwerze.
Jest kilka rzeczy, które musisz zmienić. Najpierw znajdź PermitRootLogin i ustaw na no.
PermitRootLogin no
Następnie znajdź PasswordAuthentication, odkomentuj go i ustaw na no.
Hasło Numer uwierzytelnienia
Następnie upewnij się, że następujące dwa wiersze są ustawione na no. Powinny być domyślnie na Ubuntu, ale lepiej to sprawdzić.
PermitEmptyPasswords no HostbasedAuthentication no
Na koniec znajdź UsePAM na dole konfiguracji i ustaw go też na no.
UsePAM nr
Zapisz i zakończ konfigurację. Następnie uruchom ponownie usługę SSH.
Skonfiguruj UFW
Ostatnim środkiem bezpieczeństwa, który prawdopodobnie chcesz podjąć, jest instalacja i konfiguracja zapory ogniowej. Ubuntu działa bardzo dobrze z trafnie nazwaną nieskomplikowaną zaporą ogniową (UFW). Jest to tylko opakowanie wokół zapory jądra iptables, ale znacznie ułatwia pracę z zaporą. Śmiało i zainstaluj.
$ sudo apt install ufw
Po zainstalowaniu ufw zacznij od ustawienia domyślnych reguł, aby odmawiać wszystkiego.
$ sudo ufw domyślne zaprzeczanie przychodzące $ sudo ufw domyślne zaprzeczanie wychodzące $ sudo ufw domyślne zaprzeczanie przekazywanie
Następnie skonfiguruj swoje reguły, aby zezwalać na podstawowe usługi, w tym Git. Komentarze są tylko dla informacji. Nie próbuj ich uruchamiać.
# SSH $ sudo ufw zezwól na ssh $ sudo ufw zezwól na ssh # HTTP i HTTPS dla Web $ sudo ufw zezwól na http $ sudo ufw zezwól http $ sudo ufw zezwól na https $ sudo ufw zezwól https # NTP dla zachowania czasu poprawne $ sudo ufw zezwól na ntp $ sudo ufw zezwól na ntp # Port 53 do rozpoznawania domen DNS $ sudo ufw zezwól na 53 $ sudo ufw zezwól 53 # Prawdopodobnie nie będziesz tego potrzebował # Jeśli twój serwer używa DHCP, odblokuj 67 $ sudo ufw zezwól na 67 $ sudo ufw zezwól na 67 # Wreszcie, Git $ sudo ufw zezwól na 9418 $ sudo ufw zezwól na 9418
Upewnij się, że wszystko jest w porządku, i włącz zaporę
$ sudo ufw enable
Możesz sprawdzić status zapory za pomocą:
Status sudo ufw
Otóż to! Twój serwer Gitlab znajduje się za zaporą ogniową.
Zamykanie myśli
Do tej pory masz działający serwer Gitlab. Możesz rozpocząć konfigurowanie kont użytkowników i projektów za pomocą interfejsu Gitlab. Gitlab jest teraz zwykłym pakietem Ubuntu, więc będzie aktualizował się regularnie z apt, gdy będziesz aktualizować system.
Gitlab zapewni Ci elastyczność potrzebną do zarządzania własnymi projektami i większymi projektami, nad którymi możesz pracować z zespołem. To w pełni sprawna i solidna platforma, na której coraz więcej zespołów zaczyna polegać.