„Ubuntu“ sukonfigūruokite „Git“ serverį su HTTP

Configure Git Server With Http Ubuntu



Jei norite nustatyti „Git“ HTTP serverį, kad jis galėtų dirbti privačiai su „Git“ saugyklomis, šis straipsnis skirtas jums. Šiame straipsnyje aš jums parodysiu, kaip sukonfigūruoti „Git Smart HTTP“ serverį „Ubuntu“ naudojant „Apache HTTP“ serverį. Taigi, pradėkime.

„Git“ ir „Apache“ paketus galima rasti oficialioje „Ubuntu“ paketų saugykloje. Taigi, galite lengvai ją įdiegti naudodami APT paketų tvarkyklę.







Pirmiausia atnaujinkite APT paketo saugyklos talpyklą naudodami šią komandą:



$sudotinkamas atnaujinimas



APT paketų saugyklos talpykla turėtų būti atnaujinta.





Dabar įdiekite „Git“ ir „Apache“ naudodami šią komandą:



$sudotinkamasdiegti eitiapache2 apache2-utils

Dabar paspauskite IR ir tada paspauskite kad patvirtintumėte diegimą.

Turi būti įdiegta „Git“ ir „Apache“.

„Apache“ HTTP serverio konfigūravimas „Git“:

Dabar įjunkite „Apache“ mod_env , mod_cgi , mod_alias ir mod_rewrite moduliai su tokia komanda:

$sudoa2enmodenvcgislapyvardisperrašyti

Reikėtų įjungti reikiamus „Apache“ modulius.

Dabar sukurkite naują katalogą /var/www/git kad išlaikytumėte visas „Git“ saugyklas naudodami šią komandą:

$sudo mkdir /kur/www/eiti

Dabar sukurkite naują „Apache“ svetainės konfigūraciją /etc/apache2/sites-available/git.conf „Git“ naudodami šią komandą:

$sudo nano /ir kt/apache2/svetainės-prieinamos/git.conf

Dabar įveskite šias konfigūracijos failo eilutes:

<VirtualHost*:80>
ServerAdmin žiniatinklio valdytojas@vietinis šeimininkas

„SetEnv GIT_PROJECT_ROOT“<stiprus> /kur/www/eitistiprus>
„SetEnv GIT_HTTP_EXPORT_ALL“
Scenarijus Alias/eiti/ /usr/lib/git-core/git-http-backend/

Pseudonimas/eiti /kur/www/eiti

<Katalogas/usr/lib/git-core>
Parinktys +ExecCGI-„MultiViews“+„SymLinksIfOwnerMatch“
AllowOverride Nėra
Reikalauti, kad viskas būtų suteikta
Katalogas>

DocumentRoot/kur/www/html

<Katalogas/kur/www>
Parinktys Rodyklės FollowSymLinks MultiViews
AllowOverride Nėra
Reikalauti, kad viskas būtų suteikta
Katalogas>


ErrorLog$ {APACHE_LOG_DIR}/error.log
„LogLevel“ įspėja
CustomLog$ {APACHE_LOG_DIR}/access.log kartu
VirtualHost>

Galutinis konfigūracijos failas atrodo taip. Dabar išsaugokite konfigūracijos failą paspausdami + X po to IR ir .

Dabar išjunkite numatytąją „Apache“ svetainės konfigūraciją naudodami šią komandą:

$sudoa2dissite 000-default.conf

Numatytoji svetainės konfigūracija turėtų būti išjungta.

Dabar įjunkite „Git“ svetainės konfigūraciją naudodami šią komandą:

$sudoa2ensite git.conf

Turėtų būti įjungta „Git“ svetainės konfigūracija.

Dabar paleiskite „Apache“ HTTP serverį iš naujo naudodami šią komandą:

$sudosystemctl paleiskite apache2 iš naujo

Norėdami paleisti naują „Git“ saugyklą, prieinamą per „Apache“ HTTP serverį, turėsite paleisti kelias komandas. Jūs nenorite kartoti to paties, kad sukurtumėte naują „Git“ saugyklą. Taigi, tam nusprendžiau parašyti apvalkalo scenarijų.

Pirmiausia sukurkite naują apvalkalo scenarijų /usr/local/bin/git-create-repo.sh su tokia komanda:

$sudo nano /usr/vietinis/esu/git-create-repo.sh

Dabar į apvalkalo scenarijų įveskite šias kodų eilutes.

#!/bin/bash

GIT_DIR='/var/www/git'
REPO_NAME=1 USD

mkdir -p '{GIT_DIR} USD/$ {REPO_NAME}.eiti '
CD '{GIT_DIR} USD/$ {REPO_NAME}.eiti '

git init -tik &> /dev/nulis
paliestigit-daemon-export-gerai
cpkabliukai/po atnaujinimo.kablių pavyzdžiai/po atnaujinimo
git konfigūracijahttp.receptpacktiesa
git update-server-info
šaukimas -Rfwww-duomenys: www-duomenys'{GIT_DIR} USD/$ {REPO_NAME}.eiti '
išmetė „Git“ saugykla$ {REPO_NAME}'sukurta m{GIT_DIR} USD/$ {REPO_NAME}.eiti '

Kai įvesite šias eilutes, apvalkalo scenarijus turėtų atrodyti taip. Dabar išsaugokite failą paspausdami + X po to IR ir .

Dabar pridėkite vykdymo leidimą apvalkalo scenarijui naudodami šią komandą:

$sudo chmod+ x/usr/vietinis/esu/git-create-repo.sh

Dabar sukurkite naują „Git“ saugyklą testas „Git“ projekto šaknyje /var/www/git naudojant git-create-repo.sh apvalkalo scenarijus:

$sudogit-create-repo.shtestas

„Git“ saugykla testas turėtų būti sukurtas.

Norėdami pasiekti „Git“ saugyklą, jums reikia „Git“ HTTP serverio IP adreso.

$ipį

Kaip matote, IP adresas mano atveju yra 192.168.21.208 . Jums bus kitaip. Nuo šiol pakeiskite jį savo.

Dabar galite klonuoti testas „Git“ saugyklą atlikite taip:

$git klonashttp://192.168.21.208/eiti/test.go

„Git“ saugykla testas turėtų būti klonuotas.

Dabar pridėkime naują įsipareigojimą prie testas „Git“ saugykla.

$CDtestas/
$išmetė 'Labas pasauli' >Sveiki
$pridėk.
$git įsipareigoti -m „pradinis įsipareigojimas“

Dabar įkelkite pakeitimus į testas „Git“ saugyklą serveryje atlikite taip:

$git stumtikilmės

Kaip matote, pakeitimai įkeliami puikiai.

Vartotojo autentifikavimo konfigūravimas:

Šiame skyriuje aš jums parodysiu, kaip konfigūruoti vartotojo autentifikavimą „Git“ saugyklose serveryje.

Pirmiausia redaguokite git.conf svetainės konfigūracijos failas:

$sudo nano /ir kt/apache2/svetainės-prieinamos/git.conf

Dabar pridėkite šį skyrių konfigūracijos faile.

<LocationMatch/eiti/.*. eiti>
„AuthType Basic“
AuthName„Git“ patvirtinimas
AuthUserFile/ir kt/apache2/git.passwd
Reikalauti galiojančio vartotojo
LocationMatch>

Čia, /etc/apache2/git.passwd yra vartotojo duomenų bazės failas.

Galutinis konfigūracijos failas turėtų atrodyti taip. Dabar išsaugokite failą paspausdami + X po to IR ir .

Dabar sukurkite naują vartotojų duomenų bazės failą /etc/apache2/git.passwd ir pridėkite naują vartotoją (tarkime šovonas ) į duomenų bazės failą taip:

$sudohtpasswd-c /ir kt/apache2/git.passwd shovon

Dabar įveskite naują naujo vartotojo slaptažodį ir paspauskite .

Iš naujo įveskite tą patį slaptažodį ir paspauskite .

Vartotojo slaptažodžio pora turėtų būti įtraukta į duomenų bazę.

Dabar paleiskite „Apache“ HTTP serverį iš naujo naudodami šią komandą:

$sudosystemctl paleiskite apache2 iš naujo

Dabar, jei bandysite klonuoti testas dar kartą saugykloje, jūsų bus paprašyta autentifikuoti, kaip matote žemiau esančioje ekrano kopijoje.

Kai autentifikuosite naudodami vartotojo vardą ir slaptažodį, galėsite pasiekti „Git“ saugyklą.

Net kai bandysite stumti ar ištraukti iš „Git“ saugyklos, jūsų taip pat bus paprašyta įvesti vartotojo vardą ir slaptažodį.

Kai patvirtinsite, „push/pull“ veiks.

Taip pat galite nustatyti skirtingą vartotojų duomenų bazę skirtingoms „Git“ saugykloms. Tai gali būti naudinga projektams, kuriuose daug žmonių dirba toje pačioje „Git“ saugykloje.

Norėdami nustatyti „Git“ saugyklos autentifikavimą, pirmiausia redaguokite git.conf svetainės konfigūracijos failas:

$sudo nano /ir kt/apache2/svetainės-prieinamos/git.conf

Dabar pridėkite šias eilutes konfigūracijos faile.

<Vieta/eiti/test.go>
„AuthType Basic“
AuthName„Git“ patvirtinimas
AuthUserFile/ir kt/apache2/git.test.passwd
Reikalauti galiojančio vartotojo
Vieta>

<Vieta/eiti/test2.git>
„AuthType Basic“
AuthName„Git“ patvirtinimas
AuthUserFile/ir kt/apache2/git.test2.passwd
Reikalauti galiojančio vartotojo
Vieta>

Kiekvienai „Git“ saugyklai testas ir testas2 , į skyrius yra apibrėžtas. Kiekvienoje „Git“ saugykloje naudojamas skirtingas vartotojų duomenų bazės failas.

Galutinis konfigūracijos failas turėtų atrodyti taip. Dabar išsaugokite konfigūracijos failą paspausdami + X po to IR ir .

Dabar galite sukurti reikiamas vartotojų duomenų bazes taip:

$sudohtpasswd-c /ir kt/apache2/git.test.passwd VARTOTOJO VARDAS
$sudohtpasswd-c /ir kt/apache2/git.test2.passwd USERNAME

Baigę iš naujo paleiskite „Apache HTTP“ serverį naudodami šią komandą:

$sudosystemctl paleiskite apache2 iš naujo

Dabar kiekviena „Git“ saugykla turėtų turėti savo vartotojų rinkinį, galintį jį pasiekti.

Taigi, taip konfigūruojate „Git Server“ su „Apache HTTP Server“ „Ubuntu“. Dėkojame, kad perskaitėte šį straipsnį.