Git je bezplatný a open-source verzovací systém vyvinutý Linusem Torvaldsem. Používají ho miliony vývojářů po celém světě. GitHub také nabízí bezplatnou službu hostování kódu. Bezplatná služba však neumožňuje soukromý hosting kódu. V tomto případě můžete hostovat svůj vlastní server pro hostování kódu pomocí serveru Git HTTP. To vám poskytne plnou kontrolu nad serverem.
V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat Git HTTP server s Nginx na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Před spuštěním se doporučuje aktualizovat serverové balíčky na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.
Instalovat Nginx a Git
Dále budete muset do svého systému nainstalovat webový server Nginx, Git a další požadované balíčky. Můžete je nainstalovat pomocí následujícího příkazu:
apt-get install nginx git fcgiwrap apache2-utils unzip -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Vytvoření úložiště Git
Dále budete muset vytvořit úložiště Git v kořenovém webovém adresáři Nginx. Nejprve vytvořte adresář s názvem git pomocí následujícího příkazu:
mkdir /var/www/html/git
Dále změňte adresář na git a vytvořte nový adresář pro úložiště Git:
cd /var/www/html/git
mkdir gituser.git
Dále přejděte do tohoto nového adresáře a inicializujte úložiště Git příkazem:
git --bare init
Dále aktualizujte server Git pomocí příkazu:
git update-server-info
Dále nastavte vlastnictví a oprávnění k adresáři git pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/git
chmod -R 755 /var/www/html/git
Dále vytvořte nový gituser pro ověření pomocí následujícího příkazu;
htpasswd -c /var/www/html/git/htpasswd gituser
Budete požádáni o nastavení hesla, jak je uvedeno níže:
Nové heslo:Znovu zadejte nové heslo:Přidání hesla pro uživatele gituser
Nyní můžete ověřit své heslo pomocí následujícího příkazu:
cat /var/www/html/git/htpasswd
Měli byste získat následující výstup:
gituser:$apr1$iPKZDbFB$ziRRbGXzVMMHaPYOtL05m/
Konfigurace Nginx pro Git
Dále budete muset nakonfigurovat Nginx, aby obsluhoval úložiště Git. Nový konfigurační soubor virtuálního hostitele pro Git můžete vytvořit pomocí následujícího příkazu:
nano /etc/nginx/conf.d/git.conf
Přidejte následující řádky:
server { poslouchat 80; root /var/www/html/git; # Přidejte index.php do seznamu, pokud používáte PHP index index.html index.htm index.nginx-debian.html; název_serveru git.example.com; umístění / { # Nejprve se pokuste obsloužit požadavek jako soubor, poté # jako adresář a poté se vraťte k zobrazení 404. try_files $uri $uri/ =404; }umístění ~ (/.*) { client_max_body_size 0; auth_basic "Přihlášení Git"; auth_basic_user_file "/var/www/html/git/htpasswd"; zahrnout /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /var/www/html/git; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $ 1; fastcgi_pass unix:/var/run/fcgiwrap.socket;}}
Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu ověřte, zda v Nginx nedošlo k chybě syntaxe:
nginx -t
Měli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný
Poté restartujte službu Nginx, aby se změny aplikovaly:
systemctl restart nginx
Stav služby Nginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginx
Měli byste získat následující výstup:
? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od út 2020-11-17 07 :43:46 UTC; před 4 s Dokumenty:man:nginx(8) Proces:3240 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:3256 ExecStart=/usr/sbin/nginx -g démon zapnutý; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:3257 (nginx) Úkoly:3 (limit:4691) Paměť:3,5M CGroup:/system.slice/nginx.service ??3257 nginx:hlavní proces /usr/ sbin/nginx -g démon zapnutý; master_process on; ??3258 nginx:pracovní proces ??3259 nginx:pracovní procesNov 17 07:43:46 ubuntu2004 systemd[1]:Spuštění vysoce výkonného webového serveru a reverzního proxy serveru... 17. listopadu 07:43:46 ubuntu2004 systemd[ 1]:Spuštěno Vysoce výkonný webový server a reverzní proxy server.
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Test HTTP Git Server
V tomto okamžiku je server Git nainstalován a nakonfigurován. Nyní je čas to otestovat.
Na klientském počítači nainstalujte balíček Git pomocí následujícího příkazu:
apt-get install git -y
Po instalaci vytvořte adresář s názvem myapp pomocí následujícího příkazu:
mkdir myapp
Dále přejděte do nového adresáře a inicializujte Git pomocí následujícího příkazu:
cd myapp
git init
Dále přidejte své vzdálené úložiště Git pomocí následujícího příkazu:
Původ vzdáleného přidání git http://[email protected]/gituser.git
Dále vytvořte adresář app1 a app2 a také vytvořte soubory app1 a app2 s nějakým obsahem v těchto adresářích:
mkdir app1 app2
echo "Toto je moje první aplikace"> app1/app1
echo "Toto je moje první aplikace"> app2/app2
Dále přidejte všechny adresáře a soubory do úložiště pomocí následujícího příkazu:
git add .
Dále potvrďte změny pomocí následujícího příkazu:
git commit -a -m "Přidat soubory a adresáře"
Měli byste získat následující výstup:
[master (root-commit) 4e90372] Přidat soubory a adresáře 2 soubory změněny, 2 vložení (+) režim vytvoření 100644 app1/app1 režim vytvoření 100644 app2/app2
Dále odešlete tyto změny na vzdálený server Git pomocí následujícího příkazu:
git push origin master
Budete požádáni o zadání hesla pro vzdáleného uživatele Git, jak je znázorněno níže:
Heslo pro 'http://[email protected]':
Zadejte své heslo a stiskněte Enter. Měli byste získat následující výstup:
Počítání objektů:5, hotovo. Delta komprese pomocí až 4 vláken. Komprese objektů:100 % (2/2), hotovo. Zápis objektů:100 % (5/5), 354 bajtů | 0 bajtů/s, hotovo. Celkem 5 (delta 0), znovu použito 0 (delta 0) Komu http://[e-mail chráněný]/gituser.git * [nová větev] hlavní -> hlavní
Výše uvedený výstup naznačuje, že vaše soubory a adresáře jsou přidány do vzdáleného úložiště Git. Pokud chcete toto úložiště naklonovat do svého místního systému, spusťte následující příkaz:
klon git http://[e-mail chráněný]/gituser.git
Měli byste získat následující výstup:
Klonování do 'gituser'...Heslo pro 'http://[email protected]':remote:Výčet objektů:5, done.remote:Počítání objektů:100 % (5/5), hotovo.remote:Komprese objektů:100 % (2/2), hotovo. vzdálené:Celkem 5 (delta 0), znovupoužito 0 (delta 0) Rozbalení objektů:100 % (5/5), hotovo. Kontrola připojení... hotovo.Závěr
Gratulujeme! úspěšně jste nainstalovali a nastavili server Git HTTP na serveru Ubuntu 20.04. Nyní můžete implementovat server Git ve svém vývojovém prostředí, které je přístupné z vaší LAN.
Jak nainstalovat ONLYOFFICE Docs 6.1 na Ubuntu Jak nasadit webovou aplikaci Clojure s Nginx na Ubuntu 20.04Ubuntu