Konfigurujte Git Server pomocí HTTP na Ubuntu

Configure Git Server With Http 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 konfigurovat server Git Smart HTTP na Ubuntu se serverem Apache HTTP. Začněme tedy.

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 následujícím příkazem:



$sudovhodná aktualizace



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





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



$sudovýstižnýNainstalujte jítapache2 apache2-utils

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

Měli byste nainstalovat Git a Apache.

Konfigurace serveru Apache HTTP Server pro Git:

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

$sudoa2enmodenvcgialiaspřepsat

Požadované moduly Apache by měly být povoleny.

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

$sudo mkdir /kde/www/jít

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

$sudo nano /atd/apache2/stránky-k dispozici/git.conf

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

<VirtualHost*:80>
ServerAdmin webmaster@localhost

SetEnv GIT_PROJECT_ROOT<silný> /kde/www/jítsilný>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/jít/ /usr/lib/git-core/git-http-backend/

Alias/jít /kde/www/jít

<Adresář/usr/lib/git-core>
Možnosti +ExecCGI-Vícenásobné zobrazení+SymLinksIfOwnerMatch
AllowOverride None
Vyžadovat vše uděleno
Adresář>

DocumentRoot/kde/www/html

<Adresář/kde/www>
Možnosti Rejstříky FollowSymLinks MultiViews
AllowOverride None
Vyžadovat vše uděleno
Adresář>


ErrorLog$ {APACHE_LOG_DIR}/error.log
LogLevel varovat
CustomLog$ {APACHE_LOG_DIR}/access.log kombinovaný
VirtualHost>

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

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

$sudoa2dissite 000-default.conf

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

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

$sudoa2ensite git.conf

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

Nyní restartujte server Apache HTTP následujícím příkazem:

$sudosystemctl restart apache2

Abyste mohli zavést nové úložiště Git přístupné přes server Apache HTTP, budete muset spustit několik příkazů. Nechcete dělat totéž znovu a znovu, jen abyste vytvořili nové úložiště Git. Rozhodl jsem se tedy 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/místní/dopoledne/git-create-repo.sh

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

#!/bin/bash

GIT_DIR='/var/www/git'
REPO_NAME=1 $

mkdir -p '$ {GIT_DIR}/$ {REPO_NAME}.jít'
CD '$ {GIT_DIR}/$ {REPO_NAME}.jít'

git init --prostě &> /dev/nula
dotekgit-daemon-export-ok
cpháčky/po aktualizaci. ukázkové háčky/po aktualizaci
git confighttp.receivepackskutečný
git update-server-info
žrádlo -Rfwww-data: www-data'$ {GIT_DIR}/$ {REPO_NAME}.jít'
vyhodil 'Úložiště Git'$ {REPO_NAME}'vytvořeno v$ {GIT_DIR}/$ {REPO_NAME}.jít'

Po zadání těchto řádků by měl skript prostředí vypadat následovně. Nyní soubor uložte stisknutím + X následován A a .

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

$sudo chmod+ x/usr/místní/dopoledne/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:

$sudogit-create-repo.shtest

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

K přístupu k úložišti Git potřebujete IP adresu Git HTTP serveru.

$ipna

Jak vidíte, IP adresa v mém případě je 192,168,21,208 . U vás to bude jiné. Odteď ji vyměňte za svou.

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

$git klonhttp://192,168,21,208/jít/test.go

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

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

$CDtest/
$vyhodil 'Ahoj světe' >Ahoj
$git přidat.
$git commit -m 'počáteční potvrzení'

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

$git pushpůvod

Jak vidíte, změny jsou nahrány v pořádku.

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

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

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

$sudo nano /atd/apache2/stránky-k dispozici/git.conf

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

<LocationMatch/jít/.*.jít>
AuthType Basic
AuthName'Ověření Git'
Soubor AuthUserFile/atd/apache2/git.passwd
Vyžadovat valid-user
LocationMatch>

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

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

Nyní vytvořte nový soubor databáze uživatelů /etc/apache2/git.passwd a přidejte nového uživatele (řekněme shovon ) do databázového souboru následujícím způsobem:

$sudohtpasswd-C /atd/apache2/git.passwd shovon

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

Zadejte znovu stejné heslo a stiskněte .

Pár uživatelů a hesel by měl být přidán do databáze.

Nyní restartujte server Apache HTTP následujícím příkazem:

$sudosystemctl restart apache2

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

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

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

Jakmile se autentizujete, 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 hodně lidí pracuje společně na stejném úložišti Git.

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

$sudo nano /atd/apache2/stránky-k dispozici/git.conf

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

<Umístění/jít/test.go>
AuthType Basic
AuthName'Ověření Git'
Soubor AuthUserFile/atd/apache2/git.test.passwd
Vyžadovat valid-user
Umístění>

<Umístění/jít/test2.git>
AuthType Basic
AuthName'Ověření Git'
Soubor AuthUserFile/atd/apache2/git.test2.passwd
Vyžadovat valid-user
Umístění>

Pro každé úložiště Git test a test 2 , do je definována sekce. 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 A a .

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

$sudohtpasswd-C /atd/apache2/git.test.passwd UŽIVATELSKÉ JMÉNO
$sudohtpasswd-C /atd/apache2/git.test2.passwd UŽIVATELSKÉ JMÉNO

Jakmile budete hotovi, restartujte server Apache HTTP následujícím příkazem:

$sudosystemctl 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 tedy konfigurujete Git Server s Apache HTTP Serverem na Ubuntu. Děkujeme za přečtení tohoto článku.