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
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
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 / 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
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
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 aJak 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ůvodJak 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
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.konfNyní 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
Konečný konfigurační soubor by měl vypadat následovně. Nyní uložte konfigurační soubor stisknutím
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.