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