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å
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 / bashGIT_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:
$ nmcliI 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.