Introduction

Les dépôts Git contiennent des instances de code stockées dans une archive Git. Ces instances sont hébergées directement sur le serveur et sont servies par le backend HTTP de Git. Un serveur HTTP vient en frontal pour gérer les questions d'authentification. Le service est disponible sur Internet uniquement sur un canal chiffré par TLS. Il s'agit d'un service privé, uniquement accessible après authentification validée.

Information Caractéristiques
Site web origine https://git-scm.com/
Version installée 1.7.10
Code C
Paquet git

Pré-requis

  • Pour la réinstallation des dépôts Git, une connexion à Internet est indispensable, ne serait-ce que pour télécharger les paquets d'installation.
  • Les dépôts sont destinés à être installés sur une distribution Debian Wheezy de base.
  • Pour effectuer une remise en service de ces dépôts Git, il est indispensable d'avoir réinstallé un serveur web.

Installation des paquets

Voici la commande complète qui permet de réinstaller les paquets indispensables au fonctionnement de Git.

# aptitude install -R git

Répertoires concernés

  • Le répertoire de stockage des dépôts Git est situé dans /var/local/git/.
  • Les dépôts Git sont stockés sous forme nue (bare repository) dans des répertoires qui se terminent par l'extension .git.

Restaurations

Les éléments à restaurer sont l'ensemble des répertoires contenant les archives Git ainsi que le fichier de configuration de l'accès au dépôt via Apache.

# obnam restore git /var/local/git/
# chgrp -R www-data /var/local/git

Configuration Apache

La restauration du service Apache doit permettre au backend HTTP de Git de fonctionner. Dans le cas contraire, on pourra appliquer la configuration suivante pour rappel:

  # Dépôts Git (git-http-backend)
  SetEnv GIT_PROJECT_ROOT /var/local/git
  SetEnv GIT_HTTP_EXPORT_ALL
  SetEnvIf Request_URI "^/git/" REMOTE_USER=$REDIRECT_REMOTE_USER

  # Ajout d'un accès fermé pour le dépôt org.git:
  ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
  <LocationMatch "^/git/.*">
    AuthType Basic
    AuthName "Git repositories Access"
    AuthUserFile /etc/apache2/webdav-users
    Require valid-user
  </LocationMatch> 

Procédure de vérification de restauration

  • Effectuer un clonage d'un dépôt: git clone https://medspx.fr/git/xxxxxx.git.
  • Un nom d'utilisateur et un mot de passe doivent être indiqués.
  • Après authentification, vérifier que le dépôt se clone correctement.

Introduction

Les dépôts Git contiennent des instances de code stockées dans une archive Git. Ces instances sont hébergées directement sur le serveur et sont servies par le backend HTTP de Git. Un serveur HTTP vient en frontal pour gérer les questions d'authentification. Le service est disponible sur Internet uniquement sur un canal chiffré par TLS. Il s'agit d'un service privé, uniquement accessible après authentification validée.

Information Caractéristiques
Site web origine https://git-scm.com/
Version installée 1.7.10
Code C
Paquet git

Pré-requis

  • Pour la réinstallation des dépôts Git, une connexion à Internet est indispensable, ne serait-ce que pour télécharger les paquets d'installation.
  • Les dépôts sont destinés à être installés sur une distribution Debian Wheezy de base.
  • Pour effectuer une remise en service de ces dépôts Git, il est indispensable d'avoir réinstallé un serveur web.

Installation des paquets

Voici la commande complète qui permet de réinstaller les paquets indispensables au fonctionnement de Git.

# aptitude install -R git

Répertoires concernés

  • Le répertoire de stockage des dépôts Git est situé dans /var/local/git/.
  • Les dépôts Git sont stockés sous forme nue (bare repository) dans des répertoires qui se terminent par l'extension .git.

Restaurations

Les éléments à restaurer sont l'ensemble des répertoires contenant les archives Git ainsi que le fichier de configuration de l'accès au dépôt via Apache.

# obnam restore git /var/local/git/
# chgrp -R www-data /var/local/git

Configuration Apache

La restauration du service Apache doit permettre au backend HTTP de Git de fonctionner. Dans le cas contraire, on pourra appliquer la configuration suivante pour rappel:

  # Dépôts Git (git-http-backend)
  SetEnv GIT_PROJECT_ROOT /var/local/git
  SetEnv GIT_HTTP_EXPORT_ALL
  SetEnvIf Request_URI "^/git/" REMOTE_USER=$REDIRECT_REMOTE_USER

  # Ajout d'un accès fermé pour le dépôt org.git:
  ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
  <LocationMatch "^/git/.*">
    AuthType Basic
    AuthName "Git repositories Access"
    AuthUserFile /etc/apache2/webdav-users
    Require valid-user
  </LocationMatch> 

Procédure de vérification de restauration

  • Effectuer un clonage d'un dépôt: git clone https://medspx.fr/git/xxxxxx.git.
  • Un nom d'utilisateur et un mot de passe doivent être indiqués.
  • Après authentification, vérifier que le dépôt se clone correctement.