Git

Nakonfigurujte Git Server pomocí HTTP na Ubuntu

Nakonfigurujte Git Server pomocí HTTP na Ubuntu
Pokud chcete nastavit Git HTTP Server pro soukromou práci s repozitáři Git, pak je tento článek pro vás.  V tomto článku vám ukážu, jak nakonfigurovat server Git Smart HTTP na Ubuntu se serverem HTTP Apache. Pojďme tedy začít.

Instalace serveru HTTP Git a Apache:

Balíčky Git a Apache jsou k dispozici v oficiálním úložišti balíků Ubuntu. Můžete jej tedy snadno nainstalovat pomocí správce balíčků APT.

Nejprve aktualizujte mezipaměť úložiště balíčků APT pomocí následujícího příkazu:

$ sudo apt aktualizace

Mezipaměť úložiště balíčků APT by měla být aktualizována.

Nyní nainstalujte Git a Apache pomocí následujícího příkazu:

$ sudo apt install git apache2 apache2-utils

Nyní stiskněte Y a poté stiskněte pro potvrzení instalace.

Git a Apache by měly být nainstalovány.

Konfigurace serveru Apache HTTP pro Git:

Nyní povolte Apache mod_env, mod_cgi, mod_alias a mod_rewrite moduly s následujícím příkazem:

$ sudo a2enmod env cgi alias přepsat

Měly by být povoleny požadované moduly Apache.

Nyní vytvořte nový adresář / var / www / git pro udržení všech úložišť Git pomocí následujícího příkazu:

$ sudo mkdir / var / www / git

Nyní vytvořte novou konfiguraci webu Apache / etc / apache2 / sites-available / git.konf pro Git s následujícím příkazem:

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

Nyní zadejte do konfiguračního souboru následující řádky:


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 Žádný
Vyžadovat vše uděleno

 
DocumentRoot / var / www / html
 

Možnosti Rejstříky FollowSymLinks MultiViews
AllowOverride Žádný
Vyžadovat vše uděleno

 
 
ErrorLog $ APACHE_LOG_DIR / chyba.log
Varování LogLevel
CustomLog $ APACHE_LOG_DIR / přístup.kombinovat protokol

Konečný konfigurační soubor vypadá následovně. Nyní uložte konfigurační soubor stisknutím + X následován Y a .

Nyní deaktivujte výchozí konfiguraci webu Apache pomocí následujícího příkazu:

$ sudo a2dissite 000-výchozí.konf

Výchozí konfigurace webu by měla být deaktivována.

Nyní povolte konfiguraci webu Git pomocí následujícího příkazu:

$ sudo a2ensite git.konf

Konfigurace webu Git by měla být povolena.

Nyní restartujte server Apache HTTP pomocí následujícího příkazu:

$ sudo systemctl restart apache2

Abyste mohli zavést nové úložiště Git přístupné přes HTTP server Apache, budete muset spustit několik příkazů. Nechcete dělat pořád totéž, jen abyste vytvořili nové úložiště Git. Proto jsem se rozhodl pro tento účel napsat shell skript.

Nejprve vytvořte nový shell skript / usr / local / bin / git-create-repo.sh s následujícím příkazem:

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

Nyní zadejte následující řádky kódů do skriptu prostředí.

#!/ bin / bash
 
GIT_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
klepněte na git-daemon-export-ok
cp háčky / post-update.ukázkové háčky / post-update
git config http.receivepack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
echo "Úložiště Git '$ REPO_NAME' vytvořené v $ GIT_DIR / $ REPO_NAME.git "

Jakmile zadáte tyto řádky, měl by shell skript vypadat takto. Nyní uložte soubor stisknutím + X následován Y a .

Nyní přidejte oprávnění ke spuštění skriptu shellu pomocí následujícího příkazu:

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

Nyní vytvořte nové úložiště Git test v kořenovém adresáři projektu Git / var / www / git za použití git-create-repo.sh shell skript takto:

$ sudo git-create-repo.sh test

Úložiště Git test by měl být vytvořen.

Pro přístup do úložiště Git potřebujete IP adresu serveru Git HTTP.

$ ip a

Jak vidíte, IP adresa v mém případě je 192.168.21.208. Bude to pro vás jiné. Od nynějška jej vyměňte za svůj.

Nyní můžete klonovat test Úložiště Git takto:

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

Úložiště Git test by měl být klonován.

Nyní přidejme nové potvrzení do test Úložiště Git.

$ cd test /
$ echo "Hello World"> ahoj
$ git přidat .
$ git commit -m 'initial commit'

Nyní nahrajte změny do test Úložiště Git na serveru následujícím způsobem:

$ git push původ

Jak vidíte, změny se nahrávají v pohodě.

Konfigurace ověřování uživatelů:

V této části vám ukážu, jak nakonfigurovat ověřování uživatelů v úložištích Git na serveru.

Nejprve upravte sakra.konf konfigurační soubor webu následujícím způsobem:

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

Nyní přidejte následující část do konfiguračního souboru.


AuthType Basic
AuthName „Ověření Git“
AuthUserFile / etc / apache2 / git.heslo
Vyžadovat platného uživatele

Tady, / etc / apache2 / git.heslo je soubor databáze uživatelů.

Konečný konfigurační soubor by měl vypadat následovně. Nyní uložte soubor stisknutím + X následován Y a .

Nyní vytvořte nový soubor databáze uživatelů / etc / apache2 / git.heslo a přidat nového uživatele (řekněme šovon) do souboru databáze takto:

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

Nyní zadejte nové heslo pro nového uživatele a stiskněte .

Zadejte stejné heslo a stiskněte .

Do databáze by měl být přidán pár uživatel-heslo.

Nyní restartujte server Apache HTTP pomocí následujícího příkazu:

$ sudo systemctl restart apache2

Nyní, pokud se pokusíte klonovat test úložiště, budete požádáni o ověření, jak vidíte na následujícím obrázku.

Jakmile se ověříte pomocí uživatelského jména a hesla, budete mít přístup do úložiště Git.

I když se pokusíte odeslat nebo vytáhnout z úložiště Git, budete také požádáni o uživatelské jméno a heslo.

Po ověření bude fungovat push / pull.

Můžete také nastavit jinou databázi uživatelů pro různá úložiště Git. To může být užitečné pro projekty, kde mnoho lidí pracuje společně na stejném úložišti Git.

Chcete-li nastavit autentizaci úložiště Git, nejprve upravte sakra.konf konfigurační soubor webu následujícím způsobem:

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

Nyní přidejte následující řádky do konfiguračního souboru.


AuthType Basic
AuthName „Ověření Git“
AuthUserFile / etc / apache2 / git.test.heslo
Vyžadovat platného uživatele

 

AuthType Basic
AuthName „Ověření Git“
AuthUserFile / etc / apache2 / git.test2.heslo
Vyžadovat platného uživatele

Pro každé úložiště Git test a test2, A sekce je definována. Pro každé úložiště Git se používá jiný soubor databáze uživatelů.

Konečný konfigurační soubor by měl vypadat následovně. Nyní uložte konfigurační soubor stisknutím + X následován Y a .

Nyní můžete vytvořit požadované uživatelské databáze následujícím způsobem:

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

Po dokončení restartujte server Apache HTTP pomocí následujícího příkazu:

$ sudo systemctl restart apache2

Nyní by každé úložiště Git mělo mít vlastní sadu uživatelů, kteří k němu mají přístup.

Takto nakonfigurujete Git Server se serverem Apache HTTP na Ubuntu. Děkujeme za přečtení tohoto článku.

Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...
Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...