Git

Konfigurer Git Server med HTTP på CentOS 8

Konfigurer Git Server med HTTP på CentOS 8
I denne artikel vil jeg vise dig, hvordan du konfigurerer Git Smart HTTP-server på CentOS 8 til at være vært for dine Git-arkiver privat. Så lad os komme i gang.

Installation af Git og Apache HTTP-server:

Opdater først CentOS 8-pakkeopbevaringscachen med følgende kommando:

$ sudo dnf makecache

Installer nu Git, Apache HTTP-server og Apache-værktøjer med følgende kommando:

$ sudo dnf installer git httpd httpd-værktøjer

Nu skal du trykke på Y og tryk derefter på for at bekræfte installationen.

Git, Apache og krævede Apache-værktøjer skal installeres.

Konfiguration af Apache HTTP-server:

I dette afsnit vil jeg vise dig, hvordan du konfigurerer Apache-serveren til at få adgang til Git-arkiver via HTTP-protokol.

Opret først en ny konfigurationsfil / etc / httpd / conf.d / git.konf med følgende kommando:

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

Tilføj nu følgende linjer til konfigurationsfilen / 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 /
 

Valgmuligheder + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Ingen
Kræv alle tildelte


Dav On
Indstillinger for indstillinger FollowSymLinks
AllowOverride Ingen
Kræv alle tildelte

Den endelige konfigurationsfil skal se ud som følger. Gem nu konfigurationsfilen.

Opret nu GIT_PROJECT_ROOT vejviser / var / www / git med følgende kommando:

$ sudo mkdir / var / www / git

Konfigurer nu SELinux til / var / www / git bibliotek med følgende kommando:

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

For at SELinux-ændringer skal træde i kraft, skal du køre følgende kommando:

$ sudo restorecon -Rv / var / www / git

Genstart nu Apache HTTP-servertjenesten med følgende kommando:

$ sudo systemctl genstart httpd

Føj også Apache HTTP-servertjenesten til CentOS 8-systemstart med følgende kommando:

$ sudo systemctl aktiver httpd

Tillad nu HTTP-porten (80) gennem filvæggen med følgende kommando:

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

For at ændringerne skal træde i kraft, skal du genindlæse firewallen som følger:

$ sudo firewall-cmd --reload

Skrivning af et script til oprettelse af HTTP-tilgængelige Git-lagre lettere:

For at gøre oprettelse af HTTP-tilgængelige Git-arkiver lettere har jeg skrevet et simpelt shell-script, som du kan bruge til at spare meget af din værdifulde tid.

Hvis du vil bruge mit script, skal du oprette en ny fil i stien / usr / sbin / git-crate-repo med følgende kommando:

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

Indtast derefter de følgende linjer med koder i den nyoprettede fil / 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
tryk på git-dæmon-eksport-ok
cp kroge / efter opdatering.prøve kroge / efter opdatering
git config http.modtagelsespakke sandt
git config http.uploadpack sandt
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
ekko "Git-lager" $ REPO_NAME "oprettet i $ GIT_DIR / $ REPO_NAME.git "

Sådan ser det endelige shell-script ud. Når du er færdig, skal du gemme filen.

Tilføj nu eksekverbar tilladelse til shell-scriptet / usr / sbin / git-create-repo med følgende kommando:

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

Opret HTTP-tilgængelige Git-lagre:

Nu kan du oprette et nyt HTTP-tilgængeligt Git-arkiv (lad os kalde det prøve) med følgende kommando:

$ sudo git-create-repo test

Et nyt HTTP-tilgængeligt Git-arkiv prøve skal kasseres.

Adgang til Git Repositories fra Git-serveren:

For at få adgang til de Git-arkiver, du har oprettet på din CentOS 8 Git-server, skal du have den IP-adresse på CentOS 8 Git-serveren og Git-lageret.

Git-serveradministratoren kan finde IP-adressen på Git-serveren med følgende kommando:

$ nmcli

I mit tilfælde er IP-adressen 192.168.20.129. Det vil være anderledes for dig. Så sørg for at erstatte den med din fra nu af.

Når Git-serveradministratoren finder IP-adressen, kan han / hun sende den til de brugere / udviklere, der bruger Git-lagre, der hostes på Git-serveren. Derefter kan brugerne / udviklerne få adgang til deres ønskede Git-arkiver.

For eksempel hvis bob ønsker at klone Git-arkivet prøve fra Git-serveren kan han gøre det som følger:

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

Git-arkivet prøve skal klones fra Git-serveren.

En ny mappe prøve/ skal oprettes i bobens aktuelle arbejdsmappe.

Nu kan bob navigere til prøve/ katalog som følger:

$ cd test /

Nu opretter bob en ny fil besked.txt i Git-arkivet.

$ echo 'hej fra linuxhint' >> besked.txt

Bob forpligter sig til ændringerne.

$ git tilføj .

$ git commit -m 'initial commit'

Bob bekræfter, om ændringerne var forpligtet til arkivet.

$ git log - online

Nu uploader bob ændringerne til Git-serveren.

$ git push oprindelse

En anden udvikler (lad os sige shovon) der ønsker at bidrage til prøve Git-arkiv kan også klone prøve lager fra Git-serveren.

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

Shovon navigerer til prøve/ vejviser.

$ cd test /

Shovon finder det tilsagn, som bob lavede.

Nu ændrer shovon beskeden.txt-fil.

$ echo 'shovon tilføjede nogle nye tekster' >> besked.txt

Forpligter ændringerne.

$ git tilføj .

$ git commit -m 'tilføjede en ny besked'

Shovon bekræfter, om ændringerne var forpligtet til arkivet.

$ git log - online

Shovon uploader ændringerne til Git-serveren.

$ git push oprindelse

Nu trækker bob ændringerne fra Git-serveren.

$ git pull

Bob finder den nye forpligtelse.

$ git log - online

Bob finder de ændringer, som Shovon foretog i meddelelsen.txt-fil.

Sådan kan du bruge Git-arkiver fra Git HTTP-serveren.

Tilføjelse af brugergodkendelse til Git Server:

Hvis du vil føje brugergodkendelse til serverbrede Git-lagre eller specifikke Git-lagre, skal du kontrollere artiklen Konfigurer Git Server med HTTP på Ubuntu.

Så det er sådan, du konfigurerer Git Smart HTTP-server på CentOS 8 og bruger Git-arkiver fra Git-serveren. Tak, fordi du læste denne artikel.

Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...
Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...
Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...