Instalarea serverului HTTP Git și Apache:
Pachetele Git și Apache sunt disponibile în depozitul oficial de pachete Ubuntu. Deci, îl puteți instala cu ușurință cu managerul de pachete APT.
Mai întâi, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:
$ sudo apt actualizare
Cache-ul depozitului de pachete APT ar trebui actualizat.
Acum, instalați Git și Apache cu următoarea comandă:
$ sudo apt install git apache2 apache2-utils
Acum, apăsați Da și apoi apăsați
Git și Apache ar trebui instalate.
Configurarea serverului Apache HTTP pentru Git:
Acum, activați Apache mod_env, mod_cgi, mod_alias și mod_rewrite module cu următoarea comandă:
$ sudo a2enmod env cgi alias rescrie
Modulele Apache necesare ar trebui activate.
Acum, creați un nou director / var / www / git pentru păstrarea tuturor depozitelor Git cu următoarea comandă:
$ sudo mkdir / var / www / git
Acum, creați o nouă configurație a site-ului Apache / etc / apache2 / sites-available / git.conf pentru Git cu următoarea comandă:
$ sudo nano / etc / apache2 / sites-available / git.conf
Acum, introduceți următoarele linii în fișierul de configurare:
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
Opțiuni + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Nici unul
Solicitați toate acordate
DocumentRoot / var / www / html
Opțiuni Indexuri FollowSymLinks MultiViews
AllowOverride Nici unul
Solicitați toate acordate
ErrorLog $ APACHE_LOG_DIR / eroare.Buturuga
LogLevel avertizează
CustomLog $ APACHE_LOG_DIR / acces.jurnal combinat
Fișierul de configurare final arată după cum urmează. Acum, salvați fișierul de configurare apăsând
Acum, dezactivați configurația implicită a site-ului Apache cu următoarea comandă:
$ sudo a2dissite 000-implicit.conf
Configurația implicită a site-ului ar trebui să fie dezactivată.
Acum, activați configurația site-ului Git cu următoarea comandă:
$ sudo a2ensite git.conf
Configurarea site-ului Git ar trebui să fie activată.
Acum, reporniți serverul Apache HTTP cu următoarea comandă:
$ sudo systemctl reporniți apache2
Pentru a porni un nou depozit Git accesibil pe serverul HTTP Apache, va trebui să executați câteva comenzi. Nu doriți să faceți același lucru din nou și din nou doar pentru a crea un nou depozit Git. Deci, am decis să scriu un script shell în acest scop.
Mai întâi, creați un nou script shell / usr / local / bin / git-create-repo.SH cu următoarea comandă:
$ sudo nano / usr / local / bin / git-create-repo.SH
Acum, tastați următoarele linii de coduri în scriptul shell.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = 1 $
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
atingeți git-daemon-export-ok
cp hooks / post-update.cârlige eșantion / post-actualizare
git config http.primi pachet adevărat
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
ecou „Depozitul Git„ $ REPO_NAME ”creat în $ GIT_DIR / $ REPO_NAME.git "
După ce introduceți aceste linii, scriptul shell ar trebui să arate după cum urmează. Acum, salvați fișierul apăsând
Acum, adăugați permisiunea de executare la scriptul shell cu următoarea comandă:
$ sudo chmod + x / usr / local / bin / git-create-repo.SH
Acum, creați un nou depozit Git Test în rădăcina proiectului Git / var / www / git folosind git-create-repo.SH script shell după cum urmează:
$ sudo git-create-repo.testul sh
Depozitul Git Test ar trebui creat.
Pentru a accesa depozitul Git, aveți nevoie de adresa IP a serverului HTTP Git.
$ ip aDupă cum puteți vedea, adresa IP în cazul meu este 192.168.21.208. Va fi diferit pentru tine. Înlocuiți-l cu al vostru de acum înainte.
Acum, puteți clona fișierul Test Depozitul Git după cum urmează:
$ git clonează http: // 192.168.21.208 / git / test.git
Depozitul Git Test ar trebui clonate.
Acum, să adăugăm un nou commit la Test Depozit Git.
$ cd test /$ echo "Hello World"> salut
$ git add .
$ git commit -m 'commit inițial'
Acum, încărcați modificările în Test Depozitul Git de pe server după cum urmează:
$ git push originDupă cum puteți vedea, modificările sunt încărcate foarte bine.
Configurarea autentificării utilizatorului:
În această secțiune, vă voi arăta cum să configurați autentificarea utilizatorului în depozitele Git de pe server.
Mai întâi, editați fișierul git.conf fișier de configurare a site-ului, după cum urmează:
$ sudo nano / etc / apache2 / sites-available / git.conf
Acum, adăugați următoarea secțiune în fișierul de configurare.
AuthType Basic
AuthName „Verificare Git”
AuthUserFile / etc / apache2 / git.passwd
Solicitați un utilizator valid
Aici, / etc / apache2 / git.passwd este fișierul bazei de date utilizator.
Fișierul de configurare final ar trebui să arate după cum urmează. Acum, salvați fișierul apăsând
Acum, creați un fișier de bază de date de utilizator nou / etc / apache2 / git.passwd și adăugați un utilizator nou (să spunem shovon) în fișierul bazei de date după cum urmează:
$ sudo htpasswd -c / etc / apache2 / git.paswd shovon
Acum, introduceți o nouă parolă pentru noul utilizator și apăsați
Introduceți din nou aceeași parolă și apăsați
Perechea utilizator-parolă trebuie adăugată la baza de date.
Acum, reporniți serverul HTTP Apache cu următoarea comandă:
$ sudo systemctl reporniți apache2
Acum, dacă încercați să clonați Test din nou, vi se va cere să vă autentificați după cum puteți vedea în captura de ecran de mai jos.
După ce vă autentificați folosind numele de utilizator și parola, veți putea accesa depozitul Git.
Chiar și atunci când încercați să împingeți sau să trageți din depozitul Git, vi se va cere și numele de utilizator și parola.
După autentificare, push / pull va funcționa.
De asemenea, puteți seta baze de date diferite pentru diferite depozite Git. Acest lucru ar putea fi util pentru proiectele în care o mulțime de oameni lucrează împreună la același depozit Git.
Pentru a seta autentificarea Git depozitare, editați mai întâi git.conf fișier de configurare a site-ului după cum urmează:
$ sudo nano / etc / apache2 / sites-available / git.confAcum, adăugați următoarele linii în fișierul de configurare.
AuthType Basic
AuthName „Verificare Git”
AuthUserFile / etc / apache2 / git.Test.passwd
Solicitați un utilizator valid
AuthType Basic
AuthName „Verificare Git”
AuthUserFile / etc / apache2 / git.test2.passwd
Solicitați un utilizator valid
Pentru fiecare depozit Git Test și test2, A
Fișierul de configurare final ar trebui să arate după cum urmează. Acum, salvați fișierul de configurare apăsând
Acum, puteți crea bazele de date de utilizator necesare după cum urmează:
$ sudo htpasswd -c / etc / apache2 / git.Test.passwd USERNAME$ sudo htpasswd -c / etc / apache2 / git.test2.passwd USERNAME
După ce ați terminat, reporniți serverul HTTP Apache cu următoarea comandă:
$ sudo systemctl reporniți apache2
Acum, fiecare depozit Git ar trebui să aibă propriul set de utilizatori care îl pot accesa.
Deci, așa configurați Git Server cu Apache HTTP Server pe Ubuntu. Vă mulțumim că ați citit acest articol.