Plan de reprise d'activité des dépôts Git🔗
Posted by Médéric Ribreux 🗓 In kb/ drp/ debianplug/
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.