GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le serveur HTTP Git sur Ubuntu 20.04 LTS

Dans ce didacticiel, nous allons vous montrer comment installer HTTP Git Server sur Ubuntu 20.04 LTS. Pour ceux d'entre vous qui ne le savaient pas, HTTP Git Server est un projet open source qui utilise un serveur Web Nginx pour servir les référentiels Git sur votre réseau local (LAN). Le serveur HTTP Git est étonnamment facile à configurer et à gérer.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'installation de HTTP Git Server sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.

Prérequis

  • Un serveur exécutant l'un des systèmes d'exploitation suivants :Ubuntu 20.04, 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.
  • Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
  • Un non-root sudo user ou l'accès à l'root user . Nous vous recommandons d'agir en tant qu'non-root sudo user , cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.

Installer le serveur HTTP Git sur Ubuntu 20.04 LTS Focal Fossa

Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le apt suivant commandes dans le terminal.

sudo apt update
sudo apt upgrade
sudo apt install fcgiwrap apache2-utils unzip

Étape 2. Installer Nginx sur Ubuntu 20.04.

Nginx est disponible dans les référentiels Ubuntu par défaut. Pour l'installer, exécutez la commande suivante :

sudo apt install nginx

Une fois l'installation terminée, exécutez les commandes pour permettre à Nginx de démarrer automatiquement au démarrage de votre serveur :

sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Configuration du pare-feu.

En attendant, vous devez vous assurer que votre pare-feu est configuré pour autoriser le trafic sur les ports HTTP (80) et HTTPS (443). Nginx s'enregistre en tant que service auprès de ufw :

sudo ufw allow in "Nginx Full"

Étape 3. Installer Git sur Ubuntu 20.04.

Exécutez la commande suivante ci-dessous pour installer Git sur votre système Ubuntu :

sudo apt install git

Confirmez l'installation de Git :

git --version

Étape 4. Créez un référentiel Git.

Nous créons maintenant un répertoire pour stocker le dépôt Git :

mkdir /var/www/html/idroot-repo

Ensuite, changez le répertoire en idroot-repo et créez un autre répertoire pour les utilisateurs :

cd /var/www/html/myrepo
mkdir user.git

Nous allons maintenant initialiser le dépôt avec la commande :

cd user.git
git --bare init

Ensuite, mettez à jour le serveur Git avec la commande :

git update-server-info

Donnez au dépôt le propriétaire correct avec la commande :

chown -R www-data:www-data /var/www/html/idroot-repo
chmod -R 755 /var/www/html/idroot-repo

Après cela, créez un utilisateur appelé user et définissez un mot de passe pour restreindre l'accès au référentiel git à l'aide de l'authentification de base HTTP :

htpasswd -c /var/www/html/idroot-repo/htpasswd user

Étape 5. Configurez Nginx pour servir le référentiel Git.

Nous créons maintenant un fichier de configuration d'hôte virtuel Nginx pour servir le référentiel Git :

nano /etc/nginx/conf.d/git.conf

Ajoutez les lignes suivantes :

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;
}

}

Enregistrez et fermez le fichier, puis redémarrez le service Nginx pour appliquer les modifications :

nginx -t
sudo systemctl restart nginx

Étape 6. Connectez-vous au référentiel Git à partir du client.

Tout d'abord, créez un répertoire pour votre projet avec la commande suivante :

mkdir my-project

Ensuite, accédez au répertoire de votre projet et initialisez Git à l'aide de la commande :

cd my-project
git init

Nous vous recommandons de configurer votre Git pour valider l'e-mail et le nom d'utilisateur. Pour ce faire, exécutez les commandes suivantes :

git config --global user.email "[email protected]"
git config --global user.name "user"

Après cela, ajoutez votre référentiel Git distant avec la commande suivante :

git remote add origin http://[email protected]/user.git

Ensuite, créez un répertoire appelé dev et ajoutez-y un fichier :

mkdir dev
echo "This is my first my application" > dev/file

Nous pouvons maintenant ajouter ces fichiers à git avec la commande :

git add .

Validez les modifications avec la commande :

git commit -a -m "Add files and directories"

Ensuite, poussez tous nos répertoires et fichiers nouvellement créés sur le serveur avec la commande :

git push origin master

Une fois connecté, vous obtiendrez le résultat suivant :

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

Vous pouvez également télécharger votre référentiel depuis le serveur Git directement à l'aide de la commande suivante :

git clone http://[email protected]/user.git

Félicitations ! Vous avez installé avec succès le serveur HTTP Git. Merci d'avoir utilisé ce didacticiel pour installer le serveur HTTP Git sur votre système Ubuntu 20.04 LTS Focal Fossa. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons consultez le site Web officiel de Git.


Ubuntu
  1. Comment installer Nginx sur Ubuntu 20.04

  2. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.04

  3. Comment installer Minecraft Server sur Ubuntu 18.04 LTS

  4. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

  5. Comment installer Discourse sur Ubuntu 20.04 LTS

Comment installer Nginx sur Ubuntu

Comment installer Moodle sur Ubuntu 16.04 LTS

Comment installer TeamSpeak Server sur Ubuntu 16.04 LTS

Comment installer Jekyll sur Ubuntu 16.04 LTS

Comment installer Nginx sur Ubuntu 18.04 LTS

Comment installer Git sur Ubuntu 18.04 LTS