Git

Konfigurirajte Git poslužitelj s HTTP-om na Ubuntuu

Konfigurirajte Git poslužitelj s HTTP-om na Ubuntuu
Ako želite postaviti Git HTTP poslužitelj za privatni rad s Git spremištima, onda je ovaj članak za vas.  U ovom članku pokazat ću vam kako konfigurirati Git Smart HTTP poslužitelj na Ubuntuu s Apache HTTP poslužiteljem. Pa, krenimo.

Instaliranje Git i Apache HTTP poslužitelja:

Paketi Git i Apache dostupni su u službenom spremištu paketa Ubuntua. Dakle, možete ga jednostavno instalirati s upraviteljem paketa APT.

Prvo ažurirajte predmemoriju spremišta APT paketa sljedećom naredbom:

$ sudo apt ažuriranje

Predmemorija spremišta spremišta APT-a trebala bi se ažurirati.

Sada instalirajte Git i Apache sa sljedećom naredbom:

$ sudo apt install git apache2 apache2-utils

Sada pritisnite Y a zatim pritisnite za potvrdu instalacije.

Treba instalirati Git i Apache.

Konfiguriranje Apache HTTP poslužitelja za Git:

Sada omogućite Apache mod_env, mod_cgi, mod_alias i mod_rewrite moduli sa sljedećom naredbom:

$ sudo a2enmod env cgi alias prepiši

Potrebni Apache moduli trebaju biti omogućeni.

Sada stvorite novi direktorij / var / www / git za čuvanje svih Git spremišta sa sljedećom naredbom:

$ sudo mkdir / var / www / git

Sada izradite novu konfiguraciju web mjesta Apache / etc / apache2 / sites-available / git.konf za Git sa sljedećom naredbom:

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

Sada u konfiguracijsku datoteku unesite sljedeće retke:


ServerAdmin webmaster @ localhost
 
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/ git / / usr / lib / git-core / git-http-backend /
 
Alias ​​/ git / var / www / git
 

Opcije + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride None
Zahtijevaj sve odobreno

 
DocumentRoot / var / www / html
 

Indeksi opcija FollowSymLinks MultiViews
AllowOverride None
Zahtijevaj sve odobreno

 
 
ErrorLog $ APACHE_LOG_DIR / error.zapisnik
LogLevel upozoriti
CustomLog $ APACHE_LOG_DIR / pristup.trupac kombiniran

Konačna konfiguracijska datoteka izgleda kako slijedi. Sada spremite konfiguracijsku datoteku pritiskom na + x nakon čega slijedi Y i .

Sada onemogućite zadanu konfiguraciju web mjesta Apache sljedećom naredbom:

$ sudo a2dissite 000-zadano.konf

Zadana konfiguracija web mjesta trebala bi biti onemogućena.

Sada omogućite konfiguraciju web mjesta Git sljedećom naredbom:

$ sudo a2ensite git.konf

Treba omogućiti konfiguraciju web mjesta Git.

Sada ponovo pokrenite Apache HTTP poslužitelj sa sljedećom naredbom:

$ sudo systemctl ponovno pokrenite apache2

Da biste pokrenuli novo Git spremište dostupno preko Apache HTTP poslužitelja, morat ćete pokrenuti nekoliko naredbi. Ne želite raditi istu stvar iznova i iznova samo da biste stvorili novo Git spremište. Stoga sam odlučio napisati skriptu ljuske u tu svrhu.

Prvo stvorite novu skriptu ljuske / usr / local / bin / git-create-repo.sh sa sljedećom naredbom:

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

Sada upišite sljedeće retke kodova u skriptu ljuske.

#!/ 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
dodirnite git-daemon-export-ok
cp kuke / naknadno ažuriranje.uzorci udica / naknadno ažuriranje
git config http.receivepack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
echo "Git spremište '$ REPO_NAME' stvoreno u $ GIT_DIR / $ REPO_NAME.git "

Jednom kada upišete ove retke, skripta ljuske trebala bi izgledati kako slijedi. Sada spremite datoteku pritiskom na + x nakon čega slijedi Y i .

Sada dodajte naredbu za izvršavanje skripti ljuske sljedećom naredbom:

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

Sada stvorite novo Git spremište test u korijenu Git projekta / var / www / git koristiti git-create-repo.sh skripta ljuske kako slijedi:

$ sudo git-create-repo.sh test

Spremište Git test treba stvoriti.

Za pristup Git repozitoriju potrebna vam je IP adresa Git HTTP poslužitelja.

$ ip a

Kao što vidite, IP adresa u mom slučaju je 192.168.21.208. Za vas će biti drugačije. Od sada ga zamijenite svojim.

Sada možete klonirati test Git spremište kako slijedi:

$ git klon http: // 192.168.21.208 / git / test.git

Spremište Git test treba klonirati.

Sad, dodajmo novo predavanje na test Git spremište.

$ cd test /
$ echo "Hello World"> zdravo
$ git dodaj .
$ git commit -m 'početno predavanje'

Sada prenesite promjene u test Git spremište na poslužitelju kako slijedi:

$ git push porijeklo

Kao što vidite, promjene su prenesene sasvim u redu.

Konfiguriranje autentifikacije korisnika:

U ovom odjeljku pokazat ću vam kako konfigurirati provjeru autentičnosti korisnika na Git spremištima na poslužitelju.

Prvo uredite git.konf datoteka konfiguracije web mjesta kako slijedi:

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

Sada dodajte sljedeći odjeljak u konfiguracijsku datoteku.


AuthType Basic
AuthName "Git provjera"
AuthUserFile / etc / apache2 / git.passwd
Zahtijevaj valjanog korisnika

Ovdje, / etc / apache2 / git.passwd je datoteka baze podataka korisnika.

Konačna konfiguracijska datoteka trebala bi izgledati kako slijedi. Sada spremite datoteku pritiskom na + x nakon čega slijedi Y i .

Sada stvorite novu datoteku baze podataka korisnika / etc / apache2 / git.passwd i dodajte novog korisnika (recimo šovon) u datoteku baze podataka kako slijedi:

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

Sada unesite novu lozinku za novog korisnika i pritisnite .

Ponovno upišite istu lozinku i pritisnite .

Par korisnika i lozinke treba dodati u bazu podataka.

Sada ponovo pokrenite Apache HTTP poslužitelj sa sljedećom naredbom:

$ sudo systemctl ponovno pokrenite apache2

Ako pokušate klonirati test ponovno spremište, od vas će se tražiti autentifikacija kao što vidite na snimci zaslona u nastavku.

Nakon što se autentificirate pomoću korisničkog imena i lozinke, moći ćete pristupiti Git spremištu.

Čak i kada pokušate gurnuti ili povući iz Git spremišta, od vas će se također zatražiti korisničko ime i lozinka.

Nakon što potvrdite autentičnost, push / pull će raditi.

Također možete postaviti različite korisničke baze podataka za različita Git spremišta. Ovo bi moglo biti korisno za projekte u kojima puno ljudi radi zajedno na istom Git spremištu.

Da biste postavili provjeru autentičnosti Git spremišta, prvo uredite git.konf datoteka konfiguracije web mjesta kako slijedi:

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

Sada dodajte sljedeće redove u konfiguracijsku datoteku.


AuthType Basic
AuthName "Git provjera"
AuthUserFile / etc / apache2 / git.test.passwd
Zahtijevaj valjanog korisnika

 

AuthType Basic
AuthName "Git provjera"
AuthUserFile / etc / apache2 / git.test2.passwd
Zahtijevaj valjanog korisnika

Za svako Git spremište test i test2, a odjeljak je definiran. Za svako Git spremište koristi se različita datoteka korisničke baze podataka.

Konačna konfiguracijska datoteka trebala bi izgledati kako slijedi. Sada spremite konfiguracijsku datoteku pritiskom na + x nakon čega slijedi Y i .

Sada možete stvoriti potrebne korisničke baze podataka kako slijedi:

$ sudo htpasswd -c / etc / apache2 / git.test.passwd KORISNIČKO IME
$ sudo htpasswd -c / etc / apache2 / git.test2.passwd KORISNIČKO IME

Kada završite, ponovo pokrenite Apache HTTP poslužitelj sljedećom naredbom:

$ sudo systemctl ponovno pokrenite apache2

Sada bi svako Git spremište trebalo imati vlastiti skup korisnika koji mu mogu pristupiti.

Dakle, tako konfigurirate Git poslužitelj s Apache HTTP poslužiteljem na Ubuntuu. Hvala što ste pročitali ovaj članak.

WinMouse vam omogućuje prilagodbu i poboljšanje kretanja pokazivača miša na Windows računalu
Ako želite poboljšati zadane funkcije pokazivača miša, upotrijebite besplatni program WinMouse. Dodaje više značajki koje će vam pomoći da na najbolji...
Lijevi gumb miša ne radi u sustavu Windows 10
Ako s prijenosnim računalom ili stolnim računalom koristite namjenski miš, ali lijevi gumb miša ne radi u sustavu Windows 10/8/7 iz nekog razloga evo ...
Pokazivač skače ili se slučajno pomiče dok tipkate u sustavu Windows 10
Ako ustanovite da kursor miša sam skače ili se pomiče automatski, nasumično dok tipkate u Windows prijenosnom računalu ili računalu, neki od ovih prij...