Strežnik Git gosti repozitorij projekta, ki vsebuje izvorno kodo in druge osnovne datoteke. Medtem ko se večinoma lahko zanesete na svetovno znane storitve gostovanja Git, kot je GitHub, v nekaterih primerih je bolje, da gostite svoj osebni strežnik Git za dodatno zasebnost, prilagodljivost in varnost.

Naučimo se, kako lahko nastavite zasebni strežnik Git v Linuxu.

Predpogoji za nastavitev strežnika Git

Preden začnete nastavljati svoj zasebni strežnik Git, morate imeti dostop do rezervnega računalnika ali pa biti naročeni na ponudnike v oblaku. To je pomembno, saj boste nadomestni stroj nastavili tako, da bo deloval kot strežnik Git, na katerega se boste povezali z vašega lokalnega računalnika in izvajali operacije Git.

Čeprav ni dobro definiranih sistemskih zahtev, bi moral en gigabajt RAM-a zadostovati za delovanje strežnika Git. Poleg tega se prepričajte, da imate na računalniku nameščeno in delujočo distribucijo Linuxa.

1. korak: Prenesite in namestite Git na strežnik Linux

Ni treba posebej poudarjati, da morate imeti Git nameščen na strežniku Linux kot predhodni korak. Zaženite terminal in uporabite upravitelja paketov vaše distribucije Linuxa, da namestite Git:

instagram viewer

Na izpeljankah Debian/Ubuntu:

sudo apt namestite git

Vklopljeno Distribucije na osnovi Archa:

sudo pacman -S git

Na CentOS/RHEL/Fedora:

sudo dnf namestite git

Ko je Git nameščen v vašem sistemu, nadaljujte z naslednjimi koraki za konfiguracijo vašega sistema Linux za gostovanje vaših repozitorijev Git kot strežnika Git.

2. korak: Nastavite uporabniški račun Git

Povežite se s strežnikom Linux prek SSH, RDP ali kateri koli drug protokol za oddaljeni dostop. Če pa kot strežnik uporabljate nadomestni računalnik, ga vklopite in ustvarite nov uporabniški račun za upravljanje vaših repozitorijev.

ssh uporabniško ime@naslov
sudo useradd git

Ko je dodan nov uporabnik, preklopite nanj z uporabo su ukaz:

su git

Ustvarjanje namenskega git uporabniški račun je varnostni protokol, ki zagotavlja, da bodo imeli odjemalci, ki se povezujejo z vašim strežnikom Git, omejeno vidljivost in dostop do virov na napravi. To vam omogoča varno sodelovanje v skupinskih projektih, kjer bo več članov ekipe dostopalo do vašega strežnika.

3. korak: Ustvarite imenik .ssh in dodajte pooblaščene ključe

Ustvarjanje a .ssh imenik je potreben za shranjevanje javnih ključev in drugih bistvenih podatkov, ki bodo narekovali, kdo bo dobil dostop do tega strežnika Git. Za začetek se prijavite v uporabniški račun git, ki ste ga ustvarili prej, ustvarite imenik .ssh in omejite dostop samo na uporabnika git:

ssh git@naslov
mkdir.ssh
chmod 700 .ssh/
dotaknite se .ssh/authorized_keys

Zavarujte dovoljenja za dostop do imenika z uporabo chmod ukaz za zagotovitev, da ga nihče razen vas ne more spreminjati. Premakni se v .ssh in ustvarite novo datoteko "authorized_keys" z uporabo dotik ukaz.

cd.ssh
ssh-keygen -t rsa #ta ukaz zaženite samo, če NIMATE datoteke id_rsa.pub
mačkaid_rsa.pub

To datoteko boste morali posodobiti z javnimi ključi SSH strank, ki jim želite omogočiti dostop do strežnika Git. Prekinite sejo SSH in odprite .ssh/id_rsa.pub datoteko v vašem lokalnem računalniku z urejevalnikom besedil oz mačji ukaz. Ta datoteka vsebuje vaš javni šifrirani ključ, ki vam bo, ko ga zapišete v datoteko authorized_keys, omogočil dostop do strežnika Git brez gesla.

cd.ssh
vi pooblaščeni_ključi

Kopirajte javni ključ in ustvarite novo povezavo SSH s strežnikom Git. Premakni se v .ssh odprite datoteko authorized_keys z urejevalnikom besedil in prilepite javni ključ. Shranite spremembe in zapustite.

Od takrat naprej bi se morali povezati s strežnikom brez gesla. Ponovite ta korak za vsako napravo, ki se bo povezovala s strežnikom.

4. korak: Ustvarite imenik za shranjevanje vseh vaših repozitorijev

Dostopite do strežnika Linux in ustvarite imenik ali uporabite vgrajenega kot korenski imenik. Ne pozabite, da je to imenik, v katerem bodo shranjeni vsi vaši repozitoriji. To je dobra praksa zaradi bolj urejene organizacije projektov.

mkdir ime_imenika

Ko ustvarite imenik, pojdite na zadnji korak v tem priročniku, da dokončate nastavitev strežnika Git.

5. korak: Začnite razvoj z dodajanjem novega projekta

Zdaj ste praktično končali z nastavitvijo strežnika Git. Zdaj morate samo še začeti razvoj z inicializacijo repozitorijev in dodajanjem oddaljenega izvora v vaš lokalni računalnik. Premaknite se v nadrejeni imenik z uporabo cd ukaz in ustvarite a .git imenik projekta:

cd nadrejeni_imenik
mkdirnov_projekt.git

Zdaj inicializirajte golo skladišče git:

git init --goli

Ko je repozitorij inicializiran, je čas, da dodate oddaljeni izvor na vašem lokalnem računalniku:

git oddaljeno dodaj izvorno ime git@naslov:nov_projekt.git

To je vse, kar ste morali narediti na strani strežnika. Zdaj lahko vsak preverjen odjemalec izvaja običajne operacije Git, kot so potiskanje, vlečenje, spajanje, kloniranje in več. Za začetek novih projektov boste morali ta korak ponoviti vsakič, ko ustvarite nov projekt.

Preizkusite njegovo funkcionalnost tako, da izvedete git push:

testna datoteka na dotik
git dodaj testno datoteko
git commit -m "testna datoteka"
git push name master
git klon git@naslov: nov_projekt.git

Vaša datoteka bo uspešno potisnjena v oddaljeni izvor. Če želite navzkrižno preveriti, ali je potisna operacija delovala, lahko klonirate repozitorij in v repozitoriju bi morali najti testno datoteko.

Varnostni nasveti za vaš strežnik Git

Ko je strežnik Git pripravljen in deluje, morate biti zelo pozorni na njegovo varnostno stanje vaš osebni strežnik in vaša izključna odgovornost je, da ga vzdržujete in varujete pred zunanjimi vplivi grožnje. Nekaj ​​najboljših varnostnih praks, ki jih je treba sprejeti, je:

  • Onemogoči prijavo z geslom
  • Spremenite privzeto lupino v git-shell. To prijavljenemu uporabniku omejuje izdajo katerega koli ukaza, ki ni git
  • Za SSH uporabite vrata po meri
  • Onemogoči prijavo root uporabnika
  • Redno varnostno kopirajte podatke

Obstaja veliko takšnih varnostnih konfiguracij in varnostnih ukrepov, ki jih lahko implementirate na strežnik Linux, da ga zaščitite pred napadalci in preprečite nepooblaščen dostop.