Git

Nakonfigurujte Git Server pomocou HTTP na Ubuntu

Nakonfigurujte Git Server pomocou HTTP na Ubuntu
Ak chcete nastaviť server Git HTTP na súkromnú prácu s archívmi Git, potom je tento článok určený práve vám.  V tomto článku vám ukážem, ako nakonfigurovať server Git Smart HTTP na Ubuntu so serverom HTTP Apache. Takže poďme na to.

Inštalácia servera Git a Apache HTTP:

Balíky Git a Apache sú k dispozícii v oficiálnom úložisku balíkov Ubuntu. Môžete ho teda ľahko nainštalovať pomocou správcu balíkov APT.

Najskôr aktualizujte medzipamäť úložiska balíkov APT pomocou nasledujúceho príkazu:

$ sudo apt aktualizácia

Vyrovnávacia pamäť úložiska balíkov APT by sa mala aktualizovať.

Teraz nainštalujte Git a Apache pomocou nasledujúceho príkazu:

$ sudo apt nainštalovať git apache2 apache2-utils

Teraz stlačte Y a potom stlačte na potvrdenie inštalácie.

Mali by byť nainštalované Git a Apache.

Konfigurácia servera Apache HTTP pre Git:

Teraz povoľte Apache mod_env, mod_cgi, mod_alias a mod_rewrite moduly s nasledujúcim príkazom:

$ sudo a2enmod env cgi alias prepísať

Mali by byť povolené požadované moduly Apache.

Teraz vytvorte nový adresár / var / www / git na udržanie všetkých úložísk Git pomocou nasledujúceho príkazu:

$ sudo mkdir / var / www / git

Teraz vytvorte novú konfiguráciu webu Apache / etc / apache2 / sites-available / git.konf pre Git s nasledujúcim príkazom:

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

Teraz zadajte do konfiguračného súboru nasledujúce riadky:


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
 

Možnosti + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Žiadne
Vyžadovať všetky udelené

 
DocumentRoot / var / www / html
 

Možnosti Registery FollowSymLinks MultiViews
AllowOverride Žiadne
Vyžadovať všetky udelené

 
 
ErrorLog $ APACHE_LOG_DIR / chyba.log
Varovanie LogLevel
CustomLog $ APACHE_LOG_DIR / prístup.log kombinovať

Výsledný konfiguračný súbor vyzerá nasledovne. Teraz uložte konfiguračný súbor stlačením + X nasledovaný Y a .

Teraz deaktivujte predvolenú konfiguráciu stránky Apache pomocou nasledujúceho príkazu:

$ sudo a2dissite 000-predvolené.konf

Predvolená konfigurácia webu by mala byť zakázaná.

Teraz povoľte konfiguráciu stránky Git pomocou nasledujúceho príkazu:

$ sudo a2ensite git.konf

Konfigurácia stránky Git by mala byť povolená.

Teraz reštartujte server Apache HTTP pomocou nasledujúceho príkazu:

$ sudo systemctl reštart apache2

Aby ste mohli zaviesť nové úložisko Git prístupné cez HTTP server Apache, budete musieť spustiť niekoľko príkazov. Nechcete robiť stále to isté, len aby ste vytvorili nové úložisko Git. Preto som sa rozhodol pre tento účel napísať shell skript.

Najskôr vytvorte nový shell skript / usr / local / bin / git-create-repo.š nasledujúcim príkazom:

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

Teraz zadajte nasledujúce riadky kódov do shellového skriptu.

#!/ bin / bash
 
GIT_DIR = "/ var / www / git"
REPO_NAME = 1 dolár
 
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
 
git init --bare &> / dev / null
klepnite na git-daemon-export-ok
háky cp / post-aktualizácia.ukážka háčikov / post-aktualizácia
git config http.receivepack pravda
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
echo "Git repozitár '$ REPO_NAME' vytvorený v $ GIT_DIR / $ REPO_NAME.git "

Po zadaní týchto riadkov by mal shell shell vyzerať nasledovne. Teraz uložte súbor stlačením + X nasledovaný Y a .

Teraz pridajte povolenie na spustenie do shellového skriptu pomocou nasledujúceho príkazu:

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

Teraz vytvorte nové úložisko Git test v koreňovom adresári projektu Git / var / www / git pomocou git-create-repo.š nasledujúci shell skript:

$ sudo git-create-repo.sh test

Úložisko Git test by mali byť vytvorené.

Na prístup do úložiska Git potrebujete adresu IP servera Git HTTP.

$ ip a

Ako vidíte, adresa IP v mojom prípade je 192.168.21.208. U teba to bude iné. Odteraz ho vymeňte za svoj.

Teraz môžete klonovať test Repozitár Git takto:

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

Úložisko Git test by mali byť naklonované.

Teraz pridajme nové potvrdenie do test Úložisko Git.

$ cd test /
$ echo "Hello World"> ahoj
$ git pridať .
$ git commit -m 'initial commit'

Teraz nahrajte zmeny do test Repozitár Git na serveri takto:

$ git push pôvod

Ako vidíte, zmeny sa nahrávajú v poriadku.

Konfigurácia autentifikácie používateľa:

V tejto časti vám ukážem, ako nakonfigurovať autentifikáciu používateľov v úložiskách Git na serveri.

Najskôr upravte git.konf konfiguračný súbor webu nasledovne:

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

Teraz pridajte do konfiguračného súboru nasledujúcu časť.


AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.heslo
Vyžadovať platného používateľa

Tu, / etc / apache2 / git.heslo je súbor databázy používateľov.

Výsledný konfiguračný súbor by mal vyzerať nasledovne. Teraz uložte súbor stlačením + X nasledovaný Y a .

Teraz vytvorte nový súbor databázy používateľov / etc / apache2 / git.heslo a pridať nového používateľa (povedzme šovon) do databázového súboru nasledovne:

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

Teraz zadajte nové heslo pre nového používateľa a stlačte .

Zadajte rovnaké heslo a stlačte .

Do databázy by sa mal pridať pár používateľ-heslo.

Teraz reštartujte server Apache HTTP pomocou nasledujúceho príkazu:

$ sudo systemctl reštart apache2

Teraz, ak sa pokúsite naklonovať test úložiska, budete požiadaní o autentifikáciu, ako vidíte na snímke obrazovky nižšie.

Po autentifikácii pomocou používateľského mena a hesla budete mať prístup do úložiska Git.

Aj keď sa pokúsite tlačiť alebo vytiahnuť z úložiska Git, zobrazí sa výzva aj na zadanie používateľského mena a hesla.

Po overení bude tlačiť a ťahať.

Môžete tiež nastaviť inú databázu používateľov pre rôzne úložiská Git. To by mohlo byť užitočné pre projekty, kde veľa ľudí pracuje spoločne na rovnakom úložisku Git.

Ak chcete nastaviť autentifikáciu úložiska Git, najskôr upravte git.konf konfiguračný súbor webu nasledovne:

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

Teraz pridajte do konfiguračného súboru nasledujúce riadky.


AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.test.heslo
Vyžadovať platného používateľa

 

AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.test2.heslo
Vyžadovať platného používateľa

Pre každé úložisko Git test a test2, a časť je definovaná. Pre každé úložisko Git sa používa iný súbor databázy používateľov.

Výsledný konfiguračný súbor by mal vyzerať nasledovne. Teraz uložte konfiguračný súbor stlačením + X nasledovaný Y a .

Teraz môžete vytvoriť požadované databázy používateľov nasledovne:

$ sudo htpasswd -c / etc / apache2 / git.test.heslo USERNAME
$ sudo htpasswd -c / etc / apache2 / git.test2.heslo USERNAME

Po dokončení reštartujte server Apache HTTP pomocou nasledujúceho príkazu:

$ sudo systemctl reštart apache2

Teraz by každé úložisko Git malo mať svoju vlastnú skupinu používateľov, ktorí k nej majú prístup.

Takto si teda nakonfigurujete Git Server s Apache HTTP Serverom na Ubuntu. Ďakujeme, že ste si prečítali tento článok.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...