Git

Konfigurera Git Server med HTTP på CentOS 8

Konfigurera Git Server med HTTP på CentOS 8
I den här artikeln ska jag visa dig hur du konfigurerar Git Smart HTTP-server på CentOS 8 för att vara värd för dina Git-arkiv privat. Så, låt oss komma igång.

Installera Git och Apache HTTP-server:

Uppdatera först CentOS 8-paketets lagringscache med följande kommando:

$ sudo dnf makecache

Installera nu Git, Apache HTTP-server och Apache-verktyg med följande kommando:

$ sudo dnf installera git httpd httpd-verktyg

Nu, tryck Y och tryck sedan på för att bekräfta installationen.

Git, Apache och nödvändiga Apache-verktyg bör installeras.

Konfigurera Apache HTTP-server:

I det här avsnittet ska jag visa dig hur du konfigurerar Apache-servern för åtkomst till Git-arkiv över HTTP-protokoll.

Skapa först en ny konfigurationsfil / etc / httpd / conf.d / git.konf med följande kommando:

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

Lägg nu till följande rader i 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 /
 

Alternativ + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride None
Kräv alla beviljade


Dav On
Alternativ Index FollowSymLinks
AllowOverride None
Kräv alla beviljade

Den slutliga konfigurationsfilen ska se ut enligt följande. Spara nu konfigurationsfilen.

Skapa nu GIT_PROJECT_ROOT katalog / var / www / git med följande kommando:

$ sudo mkdir / var / www / git

Konfigurera nu SELinux för / var / www / git katalog med följande kommando:

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

För att SELinux-ändringarna ska träda i kraft, kör följande kommando:

$ sudo restorecon -Rv / var / www / git

Starta nu om Apache HTTP-servertjänsten med följande kommando:

$ sudo systemctl starta om httpd

Lägg också till Apache HTTP-servertjänsten till CentOS 8-systemstart med följande kommando:

$ sudo systemctl aktivera httpd

Tillåt nu HTTP-porten (80) genom filväggen med följande kommando:

$ sudo brandvägg-cmd --add-service = http --permanent

För att ändringarna ska träda i kraft laddar du om brandväggen enligt följande:

$ sudo firewall-cmd --reload

Skriva ett skript för att skapa HTTP-tillgängliga Git-förråd enklare:

För att göra det enklare att skapa HTTP-Git-arkiv har jag skrivit ett enkelt skalskript som du kan använda för att spara mycket av din värdefulla tid.

Om du vill använda mitt skript, skapa en ny fil i sökvägen / usr / sbin / git-crate-repo med följande kommando:

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

Skriv sedan in följande rader med koder i den nyskapade 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
tryck på git-daemon-export-ok
cp krokar / efter uppdatering.provkrokar / efter uppdatering
git config http.mottagarpaket sant
git config http.uploadpack true
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
ekot "Git-arkivet" $ REPO_NAME "skapat i $ GIT_DIR / $ REPO_NAME.git "

Så här ser det slutliga skalskriptet ut. När du är klar sparar du filen.

Lägg nu till körbar behörighet i skalskriptet / usr / sbin / git-create-repo med följande kommando:

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

Skapa HTTP-tillgängliga Git-arkiv:

Nu kan du skapa ett nytt HTTP-tillgängligt Git-arkiv (låt oss kalla det testa) med följande kommando:

$ sudo git-create-repo test

Ett nytt HTTP-tillgängligt Git-arkiv testa bör låda.

Åtkomst till Git Repositories från Git-servern:

För att komma åt de Git-arkiv som du har skapat på din CentOS 8 Git-server behöver du den IP-adressen till CentOS 8 Git-servern och Git-förvarets namn.

Git-serveradministratören kan hitta IP-adressen till Git-servern med följande kommando:

$ nmcli

I mitt fall är IP-adressen 192.168.20.129. Det kommer att vara annorlunda för dig. Så se till att ersätta den med din från och med nu.

När Git-serveradministratören har hittat IP-adressen kan han / hon skicka den till användare / utvecklare som kommer att använda Git-förvar som finns på Git-servern. Då kan användarna / utvecklarna komma åt sina önskade Git-arkiv.

Till exempel om guppa vill klona Git-arkivet testa från Git-servern kan han göra så här:

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

Git-förvaret testa ska klonas från Git-servern.

En ny katalog testa/ bör skapas i bob: s nuvarande arbetskatalog.

Nu kan bob navigera till testa/ katalog enligt följande:

$ cd test /

Nu skapar bob en ny fil meddelande.Text i Git-förvaret.

$ echo 'hej från linuxhint' >> meddelande.Text

Bob gör ändringarna.

$ git add .

$ git commit -m 'initial commit'

Bob bekräftar om ändringarna gjordes i förvaret.

$ git log - online

Nu laddar bob upp ändringarna till Git-servern.

$ git push-ursprung

En annan utvecklare (låt oss säga shovon) som vill bidra till testa Git-arkivet kan också klona testa från Git-servern.

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

Shovon navigerar till testa/ katalog.

$ cd test /

Shovon hittar det åtagande som bob gjorde.

Nu ändrar shovon meddelandet.txt-fil.

$ echo 'shovon lade till några nya texter' >> meddelande.Text

Genomför ändringarna.

$ git add .

$ git commit -m 'lade till ett nytt meddelande'

Shovon bekräftar om ändringarna har gjorts i förvaret.

$ git log - online

Shovon laddar upp ändringarna till Git-servern.

$ git push-ursprung

Nu drar bob ändringarna från Git-servern.

$ git pull

Bob hittar det nya åtagandet.

$ git log - online

Bob hittar ändringarna som Shovon gjorde i meddelandet.txt-fil.

Så här kan du använda Git-arkiv från Git HTTP-servern.

Lägga till användarautentisering till Git Server:

Om du vill lägga till användarautentisering till serverövergripande Git-förråd eller specifika Git-förråd, kontrollera sedan artikeln Konfigurera Git-server med HTTP på Ubuntu.

Så, så konfigurerar du Git Smart HTTP-server på CentOS 8 och använder Git-arkiv från Git-servern. Tack för att du läste den här artikeln.

Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...