Solution 1 :
Il n'y a pas de bonne ou de mauvaise réponse ici, sauf celle dictée par votre propre religion personnelle et le contenu du hier(7)
page de manuel sur votre système.
Linux typique hier
page de manuel ; typique BSD hier
page de manuel)
/var/git/*
me semble raisonnable personnellement. C'est là que je garde le mien.
Solution 2 :
Placez-le dans un répertoire (ou un système de fichiers partagé) sous /srv
. C'est pour ça.
Le /srv
Le répertoire est destiné aux données spécifiques au site servies par le système. De la norme :
L'objectif principal de cette spécification est que les utilisateurs puissent trouver l'emplacement des fichiers de données pour un service particulier, et que les services qui nécessitent une seule arborescence pour les données en lecture seule, les données inscriptibles et les scripts (tels que les scripts cgi) puissent être raisonnablement placés. Les données qui n'intéressent qu'un utilisateur spécifique doivent aller dans le répertoire personnel de cet utilisateur.
La méthodologie utilisée pour nommer les sous-répertoires de
/srv
n'est pas précisé car il n'existe actuellement aucun consensus sur la manière dont cela devrait être fait. Une méthode pour structurer les données sous/srv
est par protocole, par ex.ftp
,rsync
,www
,etcvs
. Sur les grands systèmes, il peut être utile de structurer/srv
par contexte administratif, tel que/srv/physics/www
,/srv/compsci/cvs
,etc. Cette configuration diffère d'un hôte à l'autre. Par conséquent, aucun programme ne doit s'appuyer sur une structure de sous-répertoires spécifique de/srv
ordata existant nécessairement stocké en/srv
. Cependant/srv
doit toujours exister sur les systèmes conformes à la norme FHS et doit être utilisé comme emplacement par défaut pour ces données.Les distributions doivent veiller à ne pas supprimer les fichiers placés localement dans ces répertoires sans l'autorisation de l'administrateur.
Sur un système compatible SELinux, le répertoire par défaut est /var/www/git
, et les dépôts doivent se trouver dans leurs sous-répertoires. Ou, vous pouvez utiliser, par ex. /srv/git
et définissez le contexte du fichier comme étant équivalent :
semanage fcontext -a -e /var/www/git /srv/git
Solution 3 :
/home/git/
Cela peut sembler un peu peu conventionnel au début mais c'est très raisonnable car ce répertoire est fait pour vous (avec les bonnes permissions) lorsque vous faites sudo useradd git
. Vous pouvez simplement passer à l'utilisateur git, cd
et exécutez immédiatement :
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
et placez les clés publiques de vos pairs dans le fichier authorized_keys que vous venez de créer.
Après avoir git init --bare
votre projet, "l'url" est alors juste... attendez-le...
[email protected]<server>:<project>
Solution 4 :
Sur mon Arch Linux j'ai /srv/http
pour apache (qui est le système par défaut) et je l'utilise aussi pour mes serveurs http node.js. De même, j'ai décidé de simplement mettre tous les dépôts git dans /srv/git
.
J'utilise GitLab et /srv/git
est le dossier personnel de git dans ce cas également.
En fin de compte, c'est à vous de décider. J'ai trouvé qu'il est facile de se souvenir de s'en tenir à un format similaire à d'autres services de votre distribution.