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
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
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 / 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
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
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 aKao š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 porijekloKao š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
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.konfSada 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
Konačna konfiguracijska datoteka trebala bi izgledati kako slijedi. Sada spremite konfiguracijsku datoteku pritiskom na
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.