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ítNyní 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.confNyní 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.confVý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.confKonfigurace webu Git by měla být povolena.
Nyní restartujte server Apache HTTP následujícím příkazem:
$sudosystemctl restart apache2Abyste 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.shNyní do skriptu shellu zadejte následující řádky kódů.
#!/bin/bashGIT_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.shNyní 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.
$ipnaJak 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ůvodJak 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.confNyní 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 shovonNyní 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 apache2Pokud 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.confNyní 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 apache2Nyní 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.