En Git-server är värd för arkivet för ett projekt, som innehåller källkoden och andra kärnfiler. Medan du för det mesta kan lita på globalt kända Git-värdtjänster som GitHub, i vissa fall är det bättre att vara värd för din personliga Git-server för ökad integritet, anpassningsbarhet och säkerhet.

Låt oss lära oss hur du kan ställa in en privat Git-server på Linux.

Förutsättningar för att ställa in en Git-server

Innan du börjar ställa in din privata Git-server måste du ha tillgång till en reservmaskin eller bör du prenumerera på molnleverantörer. Detta är viktigt eftersom du kommer att ställa in reservmaskinen för att fungera som en Git-server som du ansluter till från din lokala maskin och utför Git-operationer.

Även om det inte finns några väldefinierade systemkrav, borde en gigabyte RAM-minne vara tillräckligt för att Git-servern ska fungera. Se dessutom till att du har en Linux-distribution igång på maskinen.

Steg 1: Ladda ner och installera Git på Linux-servern

Det behöver inte sägas att du måste ha Git installerat på din Linux-server som ett preliminärt steg. Starta en terminal och använd pakethanteraren för din Linux-distribution för att installera Git:

instagram viewer

Om Debian/Ubuntu-derivat:

sudo apt Installera git

Arch-baserade distributioner:

sudo pacman -S git

På CentOS/RHEL/Fedora:

sudo dnf Installera git

När Git är installerat på ditt system, fortsätt till nästa steg för att konfigurera ditt Linux-system för att vara värd för dina Git-förråd som en Git-server.

Steg 2: Skapa ett Git-användarkonto

Anslut till din Linux-server via SSH, RDP eller något annat fjärråtkomstprotokoll. Eller, om du använder en reservdator som server, slå på den och skapa ett nytt användarkonto för att hantera dina arkiv.

ssh användarnamn@adress
sudo useradd git

När den nya användaren har lagts till byter du till den med hjälp av su kommando:

su git

Skapa en dedikerad git användarkonto är ett säkerhetsprotokoll som säkerställer att klienter som ansluter till din Git-server har begränsad synlighet och tillgång till resurserna på maskinen. Detta gör att du kan samarbeta på ett säkert sätt i gruppprojekt där flera gruppmedlemmar kommer åt din server.

Steg 3: Skapa .ssh-katalogen och lägg till auktoriserade nycklar

Skapa en .ssh katalogen är nödvändig för att lagra publika nycklar och annan viktig data som kommer att diktera vem som får tillgång till denna Git-server. Till att börja med, logga in på git-användarkontot du skapade tidigare, skapa .ssh-katalogen och begränsa åtkomsten till endast git-användaren:

ssh git@adress
mkdir.ssh
chmod 700 .ssh/
tryck på .ssh/authorized_keys

Säkra katalogåtkomstbehörigheterna med hjälp av chmod kommandot för att säkerställa att ingen förutom du kan göra ändringar i det. Flytta in i .ssh katalog och skapa en ny fil "authorized_keys" med hjälp av Rör kommando.

CD.ssh
ssh-keygen -t rsa #kör endast detta kommando om du INTE har en id_rsa.pub-fil
kattid_rsa.pub

Du måste uppdatera den här filen med de offentliga SSH-nycklarna för klienter som du vill ge åtkomst till Git-servern. Stäng av SSH-sessionen och öppna .ssh/id_rsa.pub fil i din lokala dator med en textredigerare eller kattkommandot. Den här filen innehåller din offentliga krypterade nyckel, som, när den skrivs in i filen authorized_keys, ger dig tillgång till Git-servern utan lösenord.

CD.ssh
vi auktoriserade_nycklar

Kopiera den publika nyckeln och snurra upp en ny SSH-anslutning till Git-servern. Flytta in i .ssh katalogen, öppna filen authorized_keys med en textredigerare och klistra in den publika nyckeln. Spara ändringar och avsluta.

Från och med då bör du kunna ansluta till servern utan något lösenord. Upprepa detta steg för varje maskin som kommer att ansluta till servern.

Steg 4: Skapa en katalog för att lagra alla dina arkiv

Gå till Linux-servern och skapa en katalog eller använd en inbyggd som rotkatalog. Tänk på att det här är katalogen där alla dina förråd kommer att lagras. Detta är en bra praxis för en snyggare organisation av projekt.

mkdir katalognamn

När du har skapat katalogen, gå vidare till det sista steget i den här guiden för att slutföra konfigureringen av Git-servern.

Steg 5: Starta utvecklingen genom att lägga till ett nytt projekt

Du är nu praktiskt taget klar med att konfigurera Git-servern. Nu behöver du bara starta utvecklingen genom att initiera repositories och lägga till fjärrorigin till din lokala maskin. Flytta till den överordnade katalogen med hjälp av CD kommando och skapa en .git projektkatalog:

CD föräldrakatalog
mkdirnytt projekt.git

Initiera nu ett blott git-förråd:

git init --bar

Med förvaret initierat är det dags att lägga till fjärrorigin på din lokala dator:

git remote lägg till ursprungsnamn git@adress:new_project.git

Det är allt du behövde göra på serversidan. Nu kan alla autentiserade klienter utföra vanliga Git-operationer som push, pull, merge, clone och mer. För att starta nya projekt måste du upprepa detta steg varje gång du skapar ett nytt projekt.

Testa dess funktionalitet genom att utföra en git-push:

tryck på testfil
git add testfil
git commit -m "testfil"
git push namn master
git klona git@adress: new_project.git

Din fil kommer att skickas till fjärrursprunget. För att korskontrollera om push-operationen fungerade kan du klona förvaret, och du bör hitta testfilen i förvaret.

Säkerhetstips för din Git-server

När Git-servern är igång måste du vara mycket uppmärksam på dess säkerhetsstatus som den är din personliga server och det är ditt ensamma ansvar att underhålla och skydda den från externa hot. Några av de bästa säkerhetsrutinerna att tillämpa är:

  • Inaktivera lösenordsinloggning
  • Ändra standardskal till git-shell. Detta begränsar den inloggade användaren från att utfärda något icke-git-kommando
  • Använd en anpassad port för SSH
  • Inaktivera root-användarinloggning
  • Säkerhetskopiera data regelbundet

Det finns många sådana säkerhetskonfigurationer och säkerhetsåtgärder som du kan implementera på din Linux-server för att skydda den från angripare och förhindra obehörig åtkomst.