Un server Git găzduiește depozitul unui proiect, care conține codul sursă și alte fișiere de bază. În timp ce, în cea mai mare parte, vă puteți baza pe servicii de găzduire Git cunoscute la nivel global, cum ar fi GitHub, în unele cazuri, este mai bine să vă găzduiți serverul personal Git pentru confidențialitate, personalizare și Securitate.
Să învățăm cum puteți configura un server Git privat pe Linux.
Cerințe preliminare pentru configurarea unui server Git
Înainte de a începe să vă configurați serverul Git privat, trebuie să aveți acces la o mașină de rezervă sau să fiți abonat la furnizorii de cloud. Acest lucru este important deoarece veți configura mașina de rezervă pentru a acționa ca un server Git la care vă veți conecta de la mașina locală și veți efectua operațiuni Git.
Deși nu există cerințe de sistem bine definite, un gigabyte de RAM ar trebui să fie suficient pentru ca serverul Git să fie funcțional. Mai mult, asigurați-vă că aveți o distribuție Linux instalată și care rulează pe mașină.
Pasul 1: Descărcați și instalați Git pe serverul Linux
Inutil să spun că trebuie să aveți Git instalat pe serverul dvs. Linux ca pas preliminar. Porniți un terminal și utilizați managerul de pachete al distribuției dvs. Linux pentru a instala Git:
Pe derivatele Debian/Ubuntu:
sudo apt instalare git
Pe Distribuții bazate pe arcuri:
sudo pacman -S git
Pe CentOS/RHEL/Fedora:
sudo dnf instalare git
Odată ce Git este instalat pe sistemul dvs., treceți la pașii următori pentru a configura sistemul dvs. Linux pentru a vă găzdui depozitele Git ca server Git.
Pasul 2: Configurați un cont de utilizator Git
Conectați-vă la serverul dvs. Linux prin SSH, RDP sau orice alt protocol de acces la distanță. Sau, dacă utilizați un computer de rezervă ca server, porniți-l și creați un nou cont de utilizator pentru a vă gestiona depozitele.
nume de utilizator ssh@abordare
sudo useradd git
După ce noul utilizator este adăugat, comutați la acesta folosind butonul su comanda:
su git
Crearea unui dedicat git contul de utilizator este un protocol de siguranță care asigură că clienții care se conectează la serverul dvs. Git vor avea vizibilitate și acces limitat la resursele de pe mașină. Acest lucru vă permite să colaborați în siguranță în proiecte de grup în care mai mulți membri ai echipei vă vor accesa serverul.
Pasul 3: Creați directorul .ssh și adăugați chei autorizate
Crearea unui .ssh directorul este necesar pentru a stoca cheile publice și alte date esențiale care vor dicta cine are acces la acest server Git. Pentru început, conectați-vă la contul de utilizator git pe care l-ați creat anterior, creați directorul .ssh și restricționați accesul numai la utilizatorul git:
ssh git@abordare
mkdir.ssh
chmod 700 .ssh/
atingeți .ssh/authorized_keys
Securizează permisiunile de acces la director folosind chmod comandă pentru a vă asigura că nimeni, în afară de dvs., nu poate face modificări. Mută-te în .ssh director și creați un nou fișier „authorized_keys” folosind atingere comanda.
CD.ssh
ssh-keygen -t rsa # rulați această comandă doar dacă NU aveți un fișier id_rsa.pub
pisicăid_rsa.pub
Va trebui să actualizați acest fișier cu cheile publice SSH ale clienților cărora doriți să le dați acces la serverul Git. Suspendați sesiunea SSH și deschideți .ssh/id_rsa.pub fișier în mașina dvs. locală folosind un editor de text sau comanda pisicii. Acest fișier conține cheia dvs. publică criptată, care, atunci când este scrisă în fișierul authorized_keys, vă va acorda acces la serverul Git fără o parolă.
CD.ssh
vi chei_autorizate
Copiați cheia publică și deschideți o nouă conexiune SSH la serverul Git. Mută-te în .ssh director, deschideți fișierul authorized_keys cu un editor de text și lipiți cheia publică. Salveaza schimbarile si iesi.
De atunci, ar trebui să vă puteți conecta la server fără nicio parolă. Repetați acest pas pentru fiecare mașină care se va conecta la server.
Pasul 4: Creați un director pentru a vă stoca toate arhivele
Accesați serverul Linux și creați un director sau utilizați unul încorporat ca director rădăcină. Rețineți că acesta este directorul în care vor fi stocate toate depozitele dvs. Aceasta este o practică bună de dragul organizării mai ordonate a proiectelor.
mkdir nume_director
După crearea directorului, treceți la pasul final din acest ghid pentru a finaliza configurarea serverului Git.
Pasul 5: Începeți dezvoltarea prin adăugarea unui nou proiect
Acum ați terminat practic cu configurarea serverului Git. Acum trebuie doar să începeți dezvoltarea prin inițializarea depozitelor și adăugând originea la distanță la mașina dvs. locală. Mutați-vă în directorul părinte folosind CD comandă și creează un .git director de proiect:
CD Directorul Parinte
mkdirproiect nou.git
Acum, inițializați un depozit git complet:
git init --neizolat
Cu depozitul inițializat, este timpul să adăugați originea la distanță pe mașina dvs. locală:
git remote adăugați numele de origine git@abordare:new_project.git
Asta e tot ce trebuia să faci din partea serverului. Acum, orice client autentificat poate efectua operațiuni Git obișnuite, cum ar fi push, pull, îmbinare, clonare și multe altele. Pentru a începe proiecte noi, va trebui să repetați acest pas de fiecare dată când creați un nou proiect.
Testați-i funcționalitatea efectuând un git push:
atingeți fișierul de testare
git add testfile
git commit -m "fisierul de testare"
git push name master
git clonare git@adresă: new_project.git
Fișierul dvs. va fi trimis cu succes la originea de la distanță. Pentru a verifica dacă operația push a funcționat, puteți clona depozitul și ar trebui să găsiți fișierul de testare în depozit.
Sfaturi de securitate pentru serverul dvs. Git
Cu serverul Git în funcțiune, trebuie să acordați o atenție deosebită statutului său de securitate așa cum este serverul dumneavoastră personal și este singura dumneavoastră responsabilitate să îl întrețineți și să îl protejați de extern amenințări. Unele dintre cele mai bune practici de securitate care trebuie adoptate sunt:
- Dezactivați autentificarea prin parolă
- Schimbați shell-ul implicit în git-shell. Acest lucru restricționează utilizatorul conectat să emită orice comandă non-git
- Utilizați un port personalizat pentru SSH
- Dezactivați autentificarea utilizatorului root
- Faceți copii de siguranță ale datelor în mod regulat
Există multe astfel de configurații de securitate și măsuri de siguranță pe care le puteți implementa pe serverul dvs. Linux pentru a-l proteja de atacatori și pentru a preveni accesul neautorizat.