In questo tutorial, ti mostreremo come installare HTTP Git Server su Ubuntu 20.04 LTS. Per chi non lo sapesse, HTTP Git Server è un progetto open source che utilizza un server web Nginx per servire i repository Git sulla tua rete locale (LAN). HTTP Git Server è sorprendentemente facile da configurare e gestire.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò l'installazione passo passo di HTTP Git Server su Ubuntu 20.04 (Focal Fossa). Puoi seguire le stesse istruzioni per Ubuntu 18.04, 16.04 e qualsiasi altra distribuzione basata su Debian come Linux Mint.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:Ubuntu 20.04, 18.04, 16.04 e qualsiasi altra distribuzione basata su Debian come Linux Mint.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi.
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Installa HTTP Git Server su Ubuntu 20.04 LTS Focal Fossa
Passaggio 1. Innanzitutto, assicurati che tutti i pacchetti di sistema siano aggiornati eseguendo il seguente apt
comandi nel terminale.
sudo apt update sudo apt upgrade sudo apt install fcgiwrap apache2-utils unzip
Passaggio 2. Installazione di Nginx su Ubuntu 20.04.
Nginx è disponibile nei repository Ubuntu predefiniti. Per installarlo esegui il seguente comando:
sudo apt install nginx
Una volta completata l'installazione, esegui i comandi per consentire l'avvio automatico di Nginx all'avvio del server:
sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl enable nginx
Configurazione del firewall.
Nel frattempo, devi assicurarti che il tuo firewall sia configurato per consentire il traffico sulle porte HTTP (80) e HTTPS (443). Nginx si registra come servizio con ufw
:
sudo ufw allow in "Nginx Full"
Passaggio 3. Installazione di Git su Ubuntu 20.04.
Esegui il seguente comando di seguito per installare Git sul tuo sistema Ubuntu:
sudo apt install git
Conferma l'installazione di Git:
git --version
Passaggio 4. Crea un repository Git.
Ora creiamo una directory per memorizzare il repository Git:
mkdir /var/www/html/idroot-repo
Quindi, cambia la directory in idroot-repo
e crea un'altra directory per gli utenti:
cd /var/www/html/myrepo mkdir user.git
Ora inizializzeremo il repository con il comando:
cd user.git git --bare init
Successivamente, aggiorna il server Git con il comando:
git update-server-info
Assegna al repository la proprietà corretta con il comando:
chown -R www-data:www-data /var/www/html/idroot-repo chmod -R 755 /var/www/html/idroot-repo
Dopodiché, crea un utente chiamato user e imposta una password per limitare l'accesso al repository git usando l'autenticazione di base HTTP:
htpasswd -c /var/www/html/idroot-repo/htpasswd user
Passaggio 5. Configura Nginx per servire il repository Git.
Ora creiamo un file di configurazione dell'host virtuale Nginx per servire il repository Git:
nano /etc/nginx/conf.d/git.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file, quindi riavvia il servizio Nginx per applicare le modifiche:
nginx -t sudo systemctl restart nginx
Passaggio 6. Connettiti al repository Git dal client.
Per prima cosa, crea una directory per il tuo progetto con il seguente comando:
mkdir my-project
Successivamente, vai alla directory del tuo progetto e inizializza Git usando il comando:
cd my-project git init
Ti consigliamo di impostare Git per eseguire il commit di email e nome utente. Per farlo, esegui i seguenti comandi:
git config --global user.email "[email protected]" git config --global user.name "user"
Dopodiché, aggiungi il tuo repository Git remoto con il seguente comando:
git remote add origin http://[email protected]/user.git
Quindi, crea una directory chiamata dev e aggiungi un file al suo interno:
mkdir dev echo "This is my first my application" > dev/file
Ora possiamo aggiungere quei file a git con il comando:
git add .
Conferma le modifiche con il comando:
git commit -a -m "Add files and directories"
Quindi, trasferisci tutte le directory e i file appena creati sul server con il comando:
git push origin master
Una volta connesso, otterrai il seguente output:
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
Puoi anche scaricare il tuo repository dal server Git direttamente usando il seguente comando:
git clone http://[email protected]/user.git
Congratulazioni! Hai installato con successo HTTP Git Server. Grazie per aver utilizzato questo tutorial per installare HTTP Git Server sul tuo sistema Ubuntu 20.04 LTS Focal Fossa. Per ulteriore aiuto o informazioni utili, ti consigliamo di controlla il sito Web ufficiale di Git.