Git serveris mitina projekta repozitoriju, kurā ir avota kods un citi pamata faili. Lai gan lielākoties dažos gadījumos varat paļauties uz globāli zināmiem Git mitināšanas pakalpojumiem, piemēram, GitHub gadījumos labāk ir mitināt savu personīgo Git serveri, lai nodrošinātu papildu privātumu, pielāgojamību un drošību.

Uzziniet, kā iestatīt privātu Git serveri operētājsistēmā Linux.

Git servera iestatīšanas priekšnosacījumi

Pirms sākat iestatīt savu privāto Git serveri, jums ir jābūt piekļuvei rezerves mašīnai vai arī jums ir jāabonē mākoņpakalpojumu sniedzēji. Tas ir svarīgi, jo jūs iestatīsit rezerves mašīnu, lai tā darbotos kā Git serveris, ar kuru izveidosit savienojumu no vietējās mašīnas un veiksit Git darbības.

Lai gan nav skaidri definētu sistēmas prasību, ar vienu gigabaitu RAM vajadzētu pietikt, lai Git serveris darbotos. Turklāt pārliecinieties, vai datorā ir izveidots un darbojas Linux izplatīšana.

1. darbība: lejupielādējiet un instalējiet Git Linux serverī

Lieki piebilst, ka vispirms jūsu Linux serverī ir jāinstalē Git. Iedarbiniet termināli un izmantojiet sava Linux izplatīšanas pakotņu pārvaldnieku, lai instalētu Git:

Debian/Ubuntu atvasinājumi:

sudo apt uzstādīt git

Ieslēgts Arhveida sadalījumi:

sudo pacman -S git

CentOS/RHEL/Fedora:

sudo dnf uzstādīt git

Kad Git ir instalēts jūsu sistēmā, pārejiet pie nākamajām darbībām, lai konfigurētu savu Linux sistēmu, lai mitinātu jūsu Git repozitorijus kā Git serveri.

2. darbība: iestatiet Git lietotāja kontu

Izveidojiet savienojumu ar savu Linux serveri, izmantojot SSH, RDP vai jebkuru citu attālās piekļuves protokolu. Vai arī, ja kā serveri izmantojat rezerves datoru, ieslēdziet to un izveidojiet jaunu lietotāja kontu, lai strādātu ar savām krātuvēm.

ssh lietotājvārds@adrese
sudo useradd git

Kad jauns lietotājs ir pievienots, pārslēdzieties uz to, izmantojot su komanda:

su git

Izveidojot īpašu git lietotāja konts ir drošības protokols, kas nodrošina, ka klientiem, kas savienojas ar jūsu Git serveri, būs ierobežota redzamība un piekļuve ierīces resursiem. Tas ļauj droši sadarboties grupu projektos, kur vairāki komandas locekļi piekļūs jūsu serverim.

3. darbība. Izveidojiet .ssh direktoriju un pievienojiet autorizētās atslēgas

Izveidojot a .ssh direktorijs ir nepieciešams, lai saglabātu publiskās atslēgas un citus būtiskus datus, kas noteiks, kurš varēs piekļūt šim Git serverim. Vispirms piesakieties iepriekš izveidotajā git lietotāja kontā, izveidojiet .ssh direktoriju un ierobežojiet piekļuvi tikai git lietotājam:

ssh git@adrese
mkdir.ssh
chmod 700 .ssh/
pieskarieties .ssh/authorized_keys

Nodrošiniet direktorija piekļuves atļaujas, izmantojot chmod komandu, lai nodrošinātu, ka neviens, izņemot jūs, nevar veikt tajā izmaiņas. Pārvietojieties uz .ssh direktorijā un izveidojiet jaunu failu "authorized_keys", izmantojot pieskarties komandu.

cd.ssh
ssh-keygen -t rsa #tikai palaidiet šo komandu, ja jums NAV faila id_rsa.pub
kaķisid_rsa.pub

Šis fails būs jāatjaunina ar to klientu SSH publiskajām atslēgām, kuriem vēlaties piešķirt piekļuvi Git serverim. Apturiet SSH sesiju un atveriet .ssh/id_rsa.pub failu vietējā datorā, izmantojot teksta redaktoru vai kaķa komanda. Šajā failā ir jūsu publiskā šifrētā atslēga, kas, ierakstot failā authorised_keys, nodrošinās piekļuvi Git serverim bez paroles.

cd.ssh
vi authorised_keys

Kopējiet publisko atslēgu un izveidojiet jaunu SSH savienojumu ar Git serveri. Pārvietojieties uz .ssh direktorijā, atveriet failu authorised_keys ar teksta redaktoru un ielīmējiet publisko atslēgu. Saglabājiet izmaiņas un izejiet.

No šī brīža jums vajadzētu būt iespējai izveidot savienojumu ar serveri bez paroles. Atkārtojiet šo darbību katrai iekārtai, kas izveidos savienojumu ar serveri.

4. darbība. Izveidojiet direktoriju visu savu krātuvju glabāšanai

Piekļūstiet Linux serverim un izveidojiet direktoriju vai izmantojiet iebūvēto kā saknes direktoriju. Ņemiet vērā, ka tas ir direktorijs, kurā tiks glabāti visi jūsu krātuves. Tā ir laba prakse kārtīgākai projektu organizēšanai.

mkdir direktorija_nosaukums

Pēc direktorija izveides pārejiet uz pēdējo darbību šajā rokasgrāmatā, lai pabeigtu Git servera iestatīšanu.

5. darbība. Sāciet attīstību, pievienojot jaunu projektu

Tagad esat praktiski pabeidzis Git servera iestatīšanu. Tagad jums vienkārši jāuzsāk izstrāde, inicializējot krātuves un pievienojot vietējai mašīnai attālo izcelsmi. Pārvietojieties uz vecākdirektoriju, izmantojot cd komandu un izveidot a .git projektu direktorijs:

cd vecāku_direktorijs
mkdirjauns_projekts.git

Tagad inicializējiet tukšu git repozitoriju:

git init -- pliks

Kad repozitorijs ir inicializēts, ir pienācis laiks pievienot attālo izcelsmi vietējai mašīnai:

git remote pievienot izcelsmes nosaukumu git@adrese:new_project.git

Tas ir viss, kas jums jādara servera pusē. Tagad jebkurš autentificēts klients var veikt regulāras Git darbības, piemēram, push, pull, sapludināšana, klonēšana un citas. Lai sāktu jaunus projektus, šī darbība būs jāatkārto katru reizi, kad veidojat jaunu projektu.

Izmēģiniet tā funkcionalitāti, veicot git push:

pieskarieties testa failam
git pievienot testa failu
git commit -m "testa fails"
git push vārda meistars
git klons git@adrese: new_project.git

Jūsu fails tiks veiksmīgi nosūtīts uz attālo sākumpunktu. Lai pārbaudītu, vai push darbība darbojās, varat klonēt repozitoriju, un repozitorijā ir jāatrod testa fails.

Drošības padomi jūsu Git serverim

Kad Git serveris ir izveidots un darbojas, jums jāpievērš īpaša uzmanība tā drošības līmenim, kāds tas ir jūsu personīgais serveris, un tikai jūs esat atbildīgs par tā uzturēšanu un aizsardzību pret ārējiem faktoriem draudiem. Dažas no labākajām drošības praksēm, kas jāpieņem, ir šādas:

  • Atspējot paroles pieteikšanos
  • Mainiet noklusējuma čaulu uz git-shell. Tas ierobežo lietotājam, kas ir pieteicies, izdot jebkuru komandu, kas nav git komanda
  • Izmantojiet pielāgotu portu SSH
  • Atspējot root lietotāja pieteikšanos
  • Regulāri dublējiet datus

Ir daudz šādu drošības konfigurāciju un drošības pasākumu, ko varat ieviest savā Linux serverī, lai aizsargātu to no uzbrucējiem un novērstu nesankcionētu piekļuvi.