Git

Konfigurer Git Server med HTTP på CentOS 8

Konfigurer Git Server med HTTP på CentOS 8
I denne artikkelen skal jeg vise deg hvordan du konfigurerer Git Smart HTTP-server på CentOS 8 for å være vert for dine Git-arkiver privat. Så la oss komme i gang.

Installere Git og Apache HTTP Server:

Oppdater først CentOS 8-pakkeoppbevaringsbufferen med følgende kommando:

$ sudo dnf makecache

Installer nå Git, Apache HTTP-server og Apache-verktøy med følgende kommando:

$ sudo dnf installer git httpd httpd-verktøy

Trykk nå Y og trykk deretter på for å bekrefte installasjonen.

Git, Apache og nødvendige Apache-verktøy bør installeres.

Konfigurere Apache HTTP-server:

I denne delen skal jeg vise deg hvordan du konfigurerer Apache-serveren for tilgang til Git-arkiver over HTTP-protokoll.

Først oppretter du en ny konfigurasjonsfil / etc / httpd / conf.d / git.konf med følgende kommando:

$ sudo vi / etc / httpd / conf.d / git.konf

Legg nå til følgende linjer i konfigurasjonsfilen / etc / httpd / conf.d / git.konf:


SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
DocumentRoot / var / www / git
ScriptAlias ​​/ / usr / libexec / git-core / git-http-backend /
 

Alternativer + ExecCGI -MultiViews + SymLinksIfOwnerMatch
Tillat overstyring Ingen
Krever alt gitt


Dav On
Alternativer Indekser FollowSymLinks
Tillat overstyring Ingen
Krever alt gitt

Den endelige konfigurasjonsfilen skal se ut som følger. Lagre nå konfigurasjonsfilen.

Lag nå GIT_PROJECT_ROOT katalog / var / www / git med følgende kommando:

$ sudo mkdir / var / www / git

Nå konfigurerer du SELinux for / var / www / git katalog med følgende kommando:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/ var / www / git (/.*)?"

For at SELinux-endringene skal tre i kraft, kjør følgende kommando:

$ sudo restorecon -Rv / var / www / git

Start Apache HTTP-servertjenesten på nytt med følgende kommando:

$ sudo systemctl start httpd på nytt

Legg også til Apache HTTP-servertjenesten til CentOS 8-systemoppstart med følgende kommando:

$ sudo systemctl aktiver httpd

Tillat nå HTTP-porten (80) gjennom filveggen med følgende kommando:

$ sudo firewall-cmd --add-service = http --permanent

For at endringene skal tre i kraft, laster du brannmuren på nytt som følger:

$ sudo firewall-cmd --reload

Å skrive et skript for å lage HTTP-tilgjengelige Git-lagre lettere:

For å gjøre det enklere å lage HTTP-tilgjengelige Git-arkiver, har jeg skrevet et enkelt skallskript som du kan bruke til å spare mye av din verdifulle tid.

Hvis du vil bruke skriptet mitt, oppretter du en ny fil i banen / usr / sbin / git-crate-repo med følgende kommando:

$ sudo vi / usr / sbin / git-create-repo

Skriv deretter inn følgende kodelinjer i den nylig opprettede filen / usr / sbin / git-crate-repo.

#!/ bin / bash
GIT_DIR = "/ var / www / git"
REPO_NAME = $ 1
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
berør git-daemon-export-ok
cp kroker / etter oppdatering.prøve kroker / etter oppdatering
git config http.mottakspakke sant
git config http.uploadpack true
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
ekko "Git-depotet" $ REPO_NAME "opprettet i $ GIT_DIR / $ REPO_NAME.git "

Slik ser det endelige skallskriptet ut. Når du er ferdig, lagrer du filen.

Legg nå til kjørbar tillatelse til skallskriptet / usr / sbin / git-create-repo med følgende kommando:

$ sudo chmod + x / usr / sbin / git-create-repo

Opprett HTTP-tilgjengelige Git-lagringssteder:

Nå kan du opprette et nytt HTTP-tilgjengelig Git-arkiv (la oss kalle det test) med følgende kommando:

$ sudo git-create-repo test

Et nytt HTTP-tilgjengelig Git-arkiv test skal kasseres.

Tilgang til Git Repositories fra Git-serveren:

For å få tilgang til Git-arkivene du har opprettet på CentOS 8 Git-serveren din, trenger du den IP-adressen til CentOS 8 Git-serveren og Git-depotnavnet.

Git-serveradministratoren kan finne IP-adressen til Git-serveren med følgende kommando:

$ nmcli

I mitt tilfelle er IP-adressen 192.168.20.129. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Når Git-serveradministratoren finner IP-adressen, kan han / hun sende den til brukerne / utviklerne som skal bruke Git-arkiver som er vert på Git-serveren. Da kan brukerne / utviklerne få tilgang til de ønskede Git-arkivene.

For eksempel hvis bob ønsker å klone Git-depotet test fra Git-serveren, kan han gjøre det som følger:

$ git klon http: // 192.168.20.129 / test.git

Git-depotet test skal klones fra Git-serveren.

En ny katalog test/ skal opprettes i gjeldende arbeidskatalog for bob.

Nå kan bob navigere til test/ katalog som følger:

$ cd test /

Nå oppretter bob en ny fil beskjed.tekst i Git-depotet.

$ echo 'hallo fra linuxhint' >> melding.tekst

Bob forplikter seg til endringene.

$ git add .

$ git commit -m 'initial commit'

Bob bekrefter om endringene ble forpliktet til depotet.

$ git log --online

Nå laster bob opp endringene til Git-serveren.

$ git push opprinnelse

En annen utvikler (la oss si shovon) som ønsker å bidra til test Git repository kan også klone test fra Git-serveren.

$ git klon http: // 192.168.20.129 / test.git

Shovon navigerer til test/ katalog.

$ cd test /

Shovon finner forpliktelsen som bob gjorde.

Nå endrer shovon meldingen.txt-fil.

$ echo 'shovon la til noen nye tekster' >> melding.tekst

Forplikter endringene.

$ git add .

$ git commit -m 'la til noen nye meldinger'

Shovon bekrefter om endringene ble forpliktet til depotet.

$ git log --online

Shovon laster opp endringene til Git-serveren.

$ git push opprinnelse

Nå henter bob endringene fra Git-serveren.

$ git pull

Bob finner den nye forpliktelsen.

$ git log --online

Bob finner endringene som Shovon gjorde i meldingen.txt-fil.

Slik kan du bruke Git-arkiver fra Git HTTP-serveren.

Legge til brukerautentisering til Git Server:

Hvis du vil legge til brukerautentisering til server-wide Git-arkiver eller spesifikke Git-lagre, sjekk deretter artikkelen Konfigurer Git Server med HTTP på Ubuntu.

Så det er slik du konfigurerer Git Smart HTTP Server på CentOS 8 og bruker Git-arkiver fra Git-serveren. Takk for at du leser denne artikkelen.

Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...
5 beste arkadespill for Linux
I dag er datamaskiner seriøse maskiner som brukes til spill. Hvis du ikke kan få den nye høye poengsummen, vil du vite hva jeg mener. I dette innlegge...
Kamp for Wesnoth 1.1. 3.6 Utvikling utgitt
Kamp for Wesnoth 1.1. 3.6 utgitt i forrige måned, er den sjette utgivelsen i 1.1. 3.x-serien, og den leverer en rekke forbedringer, spesielt til bruke...