Git poslužitelj ugošćuje repozitorij projekta koji sadrži izvorni kod i druge osnovne datoteke. Iako se većinom možete osloniti na globalno poznate usluge Git hostinga poput GitHuba, u nekim slučajevima, bolje je ugostiti svoj osobni Git poslužitelj za dodatnu privatnost, prilagodljivost i sigurnosti.

Naučimo kako možete postaviti privatni Git poslužitelj na Linuxu.

Preduvjeti za postavljanje Git poslužitelja

Prije nego počnete postavljati svoj privatni Git poslužitelj, morate imati pristup rezervnom stroju ili biste se trebali pretplatiti na pružatelje usluga oblaka. Ovo je važno jer ćete postaviti rezervni stroj da djeluje kao Git poslužitelj na koji ćete se spojiti sa svog lokalnog stroja i izvoditi Git operacije.

Iako ne postoje dobro definirani sistemski zahtjevi, jedan gigabajt RAM-a trebao bi biti dovoljan da Git poslužitelj bude funkcionalan. Nadalje, provjerite imate li distribuciju Linuxa pokrenutu na računalu.

Korak 1: Preuzmite i instalirajte Git na Linux poslužitelj

Nepotrebno je reći da morate imati instaliran Git na svom Linux poslužitelju kao preliminarni korak. Pokrenite terminal i upotrijebite upravitelj paketa svoje distribucije Linuxa da instalirate Git:

Na Debian/Ubuntu izvedenicama:

sudo apt instalirati git

Na Arch-based distribucije:

sudo pacman -S git

Na CentOS/RHEL/Fedora:

sudo dnf instalirati git

Nakon što je Git instaliran na vašem sustavu, prijeđite na sljedeće korake za konfiguriranje vašeg Linux sustava za ugošćavanje vaših Git repozitorija kao Git poslužitelja.

Korak 2: Postavite Git korisnički račun

Povežite se s vašim Linux poslužiteljem putem SSH-a, RDP ili bilo koji drugi protokol za daljinski pristup. Ili, ako koristite rezervno računalo kao poslužitelj, uključite ga i kreirajte novi korisnički račun za rukovanje vašim repozitorijima.

ssh korisničko ime@adresa
sudo useradd git

Nakon dodavanja novog korisnika, prijeđite na njega pomoću su naredba:

su git

Stvaranje namjenskog git korisnički račun je sigurnosni protokol koji osigurava da će klijenti koji se povezuju na vaš Git poslužitelj imati ograničenu vidljivost i pristup resursima na stroju. To vam omogućuje sigurnu suradnju u grupnim projektima gdje će više članova tima pristupati vašem poslužitelju.

Korak 3: Stvorite .ssh imenik i dodajte ovlaštene ključeve

Stvaranje a .ssh direktorij je neophodan za pohranjivanje javnih ključeva i drugih bitnih podataka koji će određivati ​​tko će dobiti pristup ovom Git poslužitelju. Za početak, prijavite se na git korisnički račun koji ste prethodno stvorili, kreirajte .ssh direktorij i ograničite pristup samo git korisniku:

ssh git@adresa
mkdir.ssh
chmod 700 .ssh/
dodirnite .ssh/authorized_keys

Osigurajte dozvole za pristup imeniku pomoću chmod kako biste osigurali da nitko osim vas ne može mijenjati naredbu. Premjestite se u .ssh direktorij i kreirajte novu datoteku "authorized_keys" koristeći dodir naredba.

CD.ssh
ssh-keygen -t rsa #pokrenite ovu naredbu samo ako NEMATE datoteku id_rsa.pub
mačkaid_rsa.pub

Morat ćete ažurirati ovu datoteku SSH javnim ključevima klijenata kojima želite dati pristup Git poslužitelju. Obustavite SSH sesiju i otvorite .ssh/id_rsa.pub datoteku na vašem lokalnom računalu pomoću uređivača teksta ili mačka naredba. Ova datoteka sadrži vaš javni šifrirani ključ, koji će vam, kada se zapiše u datoteku authorized_keys, omogućiti pristup Git poslužitelju bez lozinke.

CD.ssh
vi ovlašteni_ključevi

Kopirajte javni ključ i otvorite novu SSH vezu s Git poslužiteljem. Premjestite se u .ssh imenik, otvorite datoteku authorized_keys s uređivačem teksta i zalijepite javni ključ. Spremite promjene i izađite.

Od tada biste se trebali moći spojiti na poslužitelj bez ikakve lozinke. Ponovite ovaj korak za svaki stroj koji će se povezivati ​​na poslužitelj.

Korak 4: Stvorite imenik za pohranjivanje svih svojih spremišta

Pristupite Linux poslužitelju i stvorite direktorij ili upotrijebite ugrađeni kao korijenski direktorij. Imajte na umu da je ovo direktorij u kojem će biti pohranjena sva vaša spremišta. Ovo je dobra praksa radi urednije organizacije projekata.

mkdir ime_direktorija

Nakon stvaranja direktorija prijeđite na posljednji korak u ovom vodiču kako biste dovršili postavljanje Git poslužitelja.

Korak 5: Započnite razvoj dodavanjem novog projekta

Sada ste praktički gotovi s postavljanjem Git poslužitelja. Sada samo trebate započeti razvoj inicijaliziranjem repozitorija i dodavanjem udaljenog izvora na vaš lokalni stroj. Premjestite se u nadređeni direktorij pomoću CD naredba i stvaranje a .git direktorij projekta:

CD nadređeni_direktorij
mkdirnovi projekt.git

Sada inicijalizirajte golo git spremište:

git init --ogoljen

S inicijaliziranim spremištem, vrijeme je da dodate udaljeni izvor na vašem lokalnom računalu:

git daljinski dodaj izvorno ime git@adresa:novi_projekt.git

To je sve što trebate učiniti na strani poslužitelja. Sada svaki autentificirani klijent može provoditi redovite Git operacije kao što su push, pull, spajanje, kloniranje i još mnogo toga. Za početak novih projekata morat ćete ponoviti ovaj korak svaki put kada kreirate novi projekt.

Testirajte njegovu funkcionalnost izvođenjem git push-a:

dodir testna datoteka
git dodaj test datoteku
git počini -m "testna datoteka"
git push name master
git klon git@adresa: novi_projekt.git

Vaša će datoteka biti uspješno poslana na udaljeni izvor. Za unakrsnu provjeru je li operacija guranja radila, možete klonirati repozitorij i trebali biste pronaći testnu datoteku u repozitoriju.

Sigurnosni savjeti za vaš Git poslužitelj

Kada je Git poslužitelj pokrenut i radi, morate obratiti veliku pozornost na njegovu sigurnosnu razinu kakva jest vaš osobni poslužitelj i vaša je isključiva odgovornost da ga održavate i zaštitite od vanjskih utjecaja prijetnje. Neke od najboljih sigurnosnih praksi koje treba usvojiti su:

  • Onemogući prijavu lozinkom
  • Promijenite zadanu ljusku u git-shell. Ovo ograničava prijavljenog korisnika u izdavanju bilo koje naredbe koja nije git
  • Koristite prilagođeni port za SSH
  • Onemogući prijavu root korisnika
  • Redovito sigurnosno kopirajte podatke

Postoji mnogo takvih sigurnosnih konfiguracija i sigurnosnih mjera koje možete implementirati na svoj Linux poslužitelj kako biste ga zaštitili od napadača i spriječili neovlašteni pristup.