V tomto tutoriálu vám ukážeme, jak nainstalovat HTTP Git Server na Ubuntu 20.04 LTS. Pro ty z vás, kteří nevěděli, HTTP Git Server je open-source projekt, který využívá webový server Nginx pro obsluhu repozitářů Git přes vaši místní síť (LAN). HTTP Git Server je překvapivě snadné nastavit a spravovat.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo
‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci HTTP Git Server na Ubuntu 20.04 (Focal Fossa). Můžete postupovat podle stejných pokynů pro Ubuntu 18.04, 16.04 a jakoukoli jinou distribuci založenou na Debianu, jako je Linux Mint.
Předpoklady
- Server s jedním z následujících operačních systémů:Ubuntu 20.04, 18.04, 16.04 a jakoukoli jinou distribucí založenou na Debianu, jako je Linux Mint.
- Abyste předešli případným problémům, doporučujeme použít novou instalaci operačního systému.
non-root sudo user
nebo přístup kroot user
. Doporučujeme jednat jakonon-root sudo user
, protože však můžete poškodit svůj systém, pokud nebudete při jednání jako root opatrní.
Nainstalujte HTTP Git Server na Ubuntu 20.04 LTS Focal Fossa
Krok 1. Nejprve se ujistěte, že všechny vaše systémové balíčky jsou aktuální, spuštěním následujícího apt
příkazy v terminálu.
sudo apt update sudo apt upgrade sudo apt install fcgiwrap apache2-utils unzip
Krok 2. Instalace Nginx na Ubuntu 20.04.
Nginx je k dispozici ve výchozích repozitářích Ubuntu. Chcete-li jej nainstalovat, spusťte následující příkaz:
sudo apt install nginx
Po dokončení instalace spusťte příkazy, které povolí automatické spuštění Nginx při spuštění serveru:
sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl enable nginx
Konfigurace brány firewall.
Mezitím se musíte ujistit, že váš firewall je nakonfigurován tak, aby umožňoval provoz na portech HTTP (80) a HTTPS (443). Nginx se registruje jako služba u ufw
:
sudo ufw allow in "Nginx Full"
Krok 3. Instalace Gitu na Ubuntu 20.04.
Spuštěním následujícího příkazu nainstalujte Git do svého systému Ubuntu:
sudo apt install git
Potvrďte instalaci Gitu:
git --version
Krok 4. Vytvořte úložiště Git.
Nyní vytvoříme adresář pro uložení úložiště Git:
mkdir /var/www/html/idroot-repo
Dále změňte adresář na idroot-repo
a vytvořte další adresář pro uživatele:
cd /var/www/html/myrepo mkdir user.git
Nyní inicializujeme úložiště příkazem:
cd user.git git --bare init
Dále aktualizujte server Git pomocí příkazu:
git update-server-info
Přidělte repozitáři správné vlastnictví pomocí příkazu:
chown -R www-data:www-data /var/www/html/idroot-repo chmod -R 755 /var/www/html/idroot-repo
Poté vytvořte uživatele s názvem user a nastavte heslo pro omezení přístupu k úložišti git pomocí základní autentizace HTTP:
htpasswd -c /var/www/html/idroot-repo/htpasswd user
Krok 5. Nakonfigurujte Nginx pro Serve Git Repository.
Nyní vytvoříme konfigurační soubor virtuálního hostitele Nginx pro obsluhu úložiště Git:
nano /etc/nginx/conf.d/git.conf
Přidejte následující řádky:
server { listen 80; root /var/www/html/idroot-repo; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name git.your-domain.com; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ (/.*) { client_max_body_size 0; auth_basic "Git Login"; auth_basic_user_file "/var/www/html/idroot-repo/htpasswd"; include /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/idroot-repo; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $1; fastcgi_pass unix:/var/run/fcgiwrap.socket; } }
Uložte a zavřete soubor a poté restartujte službu Nginx, aby se změny projevily:
nginx -t sudo systemctl restart nginx
Krok 6. Připojte se k úložišti Git z klienta.
Nejprve vytvořte adresář pro svůj projekt pomocí následujícího příkazu:
mkdir my-project
Dále přejděte do adresáře projektu a inicializujte Git pomocí příkazu:
cd my-project git init
Doporučujeme nastavit váš Git na potvrzení e-mailu a uživatelského jména. Chcete-li to provést, spusťte následující příkazy:
git config --global user.email "[email protected]" git config --global user.name "user"
Poté přidejte své vzdálené úložiště Git pomocí následujícího příkazu:
git remote add origin http://[email protected]/user.git
Dále vytvořte adresář s názvem dev a přidejte do něj soubor:
mkdir dev echo "This is my first my application" > dev/file
Nyní můžeme tyto soubory přidat do git pomocí příkazu:
git add .
Proveďte změny příkazem:
git commit -a -m "Add files and directories"
Potom odešlete všechny naše nově vytvořené adresáře a soubory na server pomocí příkazu:
git push origin master
Jakmile se připojíte, získáte následující výstup:
Counting objects: 8, done. Writing objects: 100% (4/4), 512 bytes | 346.00 KiB/s, done. Total 8 (delta 0), reused 0 (delta 0) To http://git.your-domain.com/user.git * [new branch] master -> master
Své úložiště si také můžete stáhnout přímo ze serveru Git pomocí následujícího příkazu:
git clone http://[email protected]/user.git
Blahopřejeme! Úspěšně jste nainstalovali HTTP Git Server. Děkujeme, že jste použili tento návod k instalaci HTTP Git Serveru do vašeho systému Ubuntu 20.04 LTS Focal Fossa. Pro další pomoc nebo užitečné informace vám doporučujeme podívejte se na oficiální web Git.