GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 20.04

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.


Ubuntu
  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  3. Jak nainstalovat HTTP Git Server s Nginx na Debian 11

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Redmine 3.2 s Nginx na Ubuntu 16.04