„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
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
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 / bashGIT_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
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 aKaip 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
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.konfDabar 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
Galutinis konfigūracijos failas turėtų atrodyti taip. Dabar išsaugokite konfigūracijos failą paspausdami
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į.