GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare HTTP Git Server su Ubuntu 20.04 LTS

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 come non-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.


Ubuntu
  1. Come installare Nginx su Ubuntu 20.04

  2. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  3. Come installare il server Minecraft su Ubuntu 18.04 LTS

  4. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  5. Come installare Discourse su Ubuntu 20.04 LTS

Come installare Nginx su Ubuntu

Come installare Moodle su Ubuntu 16.04 LTS

Come installare TeamSpeak Server su Ubuntu 16.04 LTS

Come installare Jekyll su Ubuntu 16.04 LTS

Come installare Nginx su Ubuntu 18.04 LTS

Come installare Git su Ubuntu 18.04 LTS