Git

Konfigūruokite „Git Server“ naudodami HTTP „Ubuntu“

Konfigūruokite „Git Server“ naudodami HTTP „Ubuntu“
Jei norite konfigūruoti „Git HTTP“ serverį, kad galėtumėte privačiai dirbti su „Git“ saugyklomis, šis straipsnis skirtas jums.  Šiame straipsnyje aš jums parodysiu, kaip konfigūruoti „Git Smart“ HTTP serverį „Ubuntu“ su „Apache HTTP“ serveriu. Taigi, pradėkime.

„Git“ ir „Apache“ HTTP serverio diegimas:

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

Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:

$ sudo apt atnaujinimas

Reikėtų atnaujinti APT paketų saugyklos talpyklą.

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

$ sudo apt įdiekite git apache2 apache2-utils

Dabar paspauskite Y tada paspauskite kad patvirtintumėte diegimą.

Reikėtų įdiegti „Git“ ir „Apache“.

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

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

$ sudo a2enmod env cgi alias perrašyti

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

Dabar sukurkite naują katalogą / var / www / git saugoti visas „Git“ saugyklas su tokia komanda:

$ sudo mkdir / var / www / git

Dabar sukurkite naują „Apache“ svetainės konfigūraciją / etc / apache2 / sites-available / git.konf „Git“ su tokia komanda:

$ sudo nano / etc / apache2 / sites-available / git.konf

Dabar įveskite šias eilutes konfigūracijos faile:


„ServerAdmin“ žiniatinklio valdytojas @ localhost
 
„SetEnv GIT_PROJECT_ROOT“ / var / www / git
„SetEnv“ GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/ git / / usr / lib / git-core / git-http-backend /
 
Pseudonimas / git / var / www / git
 

Parinktys + ExecCGI -MultiViews + SymLinksIfOwnerMatch
„AllowOverride None“
Reikalauti visų suteiktų

 
„DocumentRoot“ / var / www / html
 

Parinkčių rodyklės „FollowSymLinks MultiViews“
„AllowOverride None“
Reikalauti visų suteiktų

 
 
ErrorLog $ APACHE_LOG_DIR / klaida.žurnalas
„LogLevel“ perspėja
„CustomLog“ $ APACHE_LOG_DIR / prieiga.rąstas kartu

Galutinis konfigūracijos failas atrodo taip. Dabar išsaugokite konfigūracijos failą paspausdami + X paskui Y ir .

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

$ sudo a2dissite 000-default.konf

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

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

$ sudo a2ensite git.konf

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

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

$ sudo systemctl paleiskite „apache2“ iš naujo

Norėdami paleisti naują „Git“ saugyklą, prieinamą per „Apache“ HTTP serverį, turėsite paleisti kelias komandas. Nenorite daryti to paties dar ir dar kartą, kad tik sukurtumėte naują „Git“ saugyklą. Taigi, nusprendžiau tam tikslui parašyti apvalkalo scenarijų.

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

$ sudo nano / usr / local / bin / git-create-repo.sh

Dabar „shell“ scenarijuje įveskite šias kodų eilutes.

#!/ bin / bash
 
GIT_DIR = "/ var / www / git"
REPO_NAME = 1 USD
 
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
CD „$ GIT_DIR / $ REPO_NAME“.git "
 
git init --bare &> / dev / null
palieskite „git-daemon-export-ok“
CP kabliukai / po atnaujinimo.kabliukų pavyzdžiai / po atnaujinimo
„git config“ http.Receivepack true
„git update-server-info“
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
aidas „Git saugykla„ $ REPO_NAME “, sukurta $ GIT_DIR / $ REPO_NAME.git "

Įvedus šias eilutes, apvalkalo scenarijus turėtų atrodyti taip. Dabar išsaugokite failą paspausdami + X paskui Y ir .

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

$ sudo chmod + x / usr / local / bin / git-create-repo.sh

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

$ sudo git-create-repo.sh testas

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

Norėdami pasiekti „Git“ saugyklą, turite „Git“ HTTP serverio IP adresą.

$ ip a

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

Dabar galite klonuoti testas „Git“ saugykla taip:

$ git klonas http: // 192.168.21.208 / git / testas.git

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

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

$ cd testas /
$ echo "Hello World"> labas
$ git pridėti .
$ git įsipareigojimas -m 'pradinis įsipareigojimas'

Dabar įkelkite pakeitimus į testas Git saugyklą serveryje taip:

$ git push kilmė

Kaip matote, pakeitimai įkeliami puikiai.

Vartotojo autentifikavimo konfigūravimas:

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

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

$ sudo nano / etc / apache2 / sites-available / git.konf

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


„AuthType Basic“
AuthName „Git“ patvirtinimas
AuthUserFile / etc / apache2 / git.passwd
Reikalauti galiojančio vartotojo

Č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 paskui Y ir .

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

$ sudo htpasswd -c / etc / apache2 / git.passwd shovon

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

Dar kartą įveskite tą patį slaptažodį ir paspauskite .

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

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

$ sudo systemctl paleiskite „apache2“ iš naujo

Dabar, jei bandysite klonuoti testas dar kartą, jūsų bus paprašyta patvirtinti, kaip matote toliau pateiktoje ekrano kopijoje.

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

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

Kai patvirtinsite, veiks „push / pull“.

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

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

$ sudo nano / etc / apache2 / sites-available / git.konf

Dabar pridėkite šias eilutes į konfigūracijos failą.


„AuthType Basic“
AuthName „Git“ patvirtinimas
AuthUserFile / etc / apache2 / git.testas.passwd
Reikalauti galiojančio vartotojo

 

„AuthType Basic“
AuthName „Git“ patvirtinimas
AuthUserFile / etc / apache2 / git.testas2.passwd
Reikalauti galiojančio vartotojo

Kiekvienai „Git“ saugyklai testas ir testas2, a skyrius yra apibrėžtas. Kiekvienai „Git“ saugyklai naudojamas skirtingas vartotojo duomenų bazės failas.

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

Dabar galite sukurti reikalingas vartotojų duomenų bazes taip:

$ sudo htpasswd -c / etc / apache2 / git.testas.slaptažodis USERNAME
$ sudo htpasswd -c / etc / apache2 / git.testas2.slaptažodis USERNAME

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

$ sudo systemctl paleiskite „apache2“ iš naujo

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

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

Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...
10 geriausių žaidimų, kuriuos reikia žaisti naudojant „Ubuntu“
„Windows“ platforma buvo viena iš dominuojančių žaidimų platformų dėl didžiulio procento žaidimų, kurie šiandien kuriami natūraliai palaikant „Windows...
5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...