Si je fais une analogie avec l'hébergement d'un serveur Web, je dirais que les données de git devraient être /var/git
insérées, afin que mon référentiel git soit inséré./var/git/myrepo
Q : Est-ce la bonne supposition?
Si je fais une analogie avec l'hébergement d'un serveur Web, je dirais que les données de git devraient être /var/git
insérées, afin que mon référentiel git soit inséré./var/git/myrepo
Q : Est-ce la bonne supposition?
Réponses:
Il n’ya pas de bonne ou de mauvaise réponse ici, sauf celle dictée par votre propre religion et le contenu de la hier(7)
page de manuel de votre système.
une hier
page de manuel Linux typique ; page de manuel BSD typiquehier
)
/var/git/*
semble raisonnable pour moi personnellement. C'est là que je garde le mien.
Placez-le dans un répertoire (ou système de fichiers partagé) sous /srv
. C'est pour ça.
Le /srv
répertoire est destiné aux données spécifiques au site servies par le système . De la norme:
Le principal objectif de cette spécification est de permettre aux utilisateurs de trouver l'emplacement des fichiers de données pour un service donné et de placer raisonnablement les services nécessitant une seule arborescence pour les données en lecture seule, les données inscriptibles et les scripts (tels que les scripts cgi). Les données qui intéressent uniquement un utilisateur spécifique doivent figurer dans le répertoire de base de cet utilisateur.
La méthodologie utilisée pour nommer les sous-répertoires de
/srv
n'est pas spécifiée car il n'y a actuellement aucun consensus sur la façon dont cela devrait être fait. Une méthode pour structurer les données sous/srv
est par protocole, par exemple.ftp
,rsync
,www
Etcvs
. Sur les grands systèmes , il peut être utile de structurer/srv
par le contexte administratif, comme/srv/physics/www
,/srv/compsci/cvs
etc. Cette configuration diffère d' un hôte à. Par conséquent, aucun programme ne doit s’appuyer sur une structure spécifique de sous-répertoires/srv
existants ou sur des données nécessairement stockées/srv
. Cependant, il/srv
devrait toujours exister sur des systèmes conformes à FHS et devrait ê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 activé pour SELinux, le répertoire par défaut est /var/www/git
, et le dépôt doit se trouver dans ses sous-répertoires. Vous pouvez également utiliser, par exemple, /srv/git
et définir le contexte de fichier pour qu'il soit équivalent:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Cela peut sembler un peu non conventionnel au début, mais c'est très raisonnable car ce répertoire est fait pour vous (avec les autorisations appropriées) quand vous le faites sudo useradd git
. Vous pouvez simplement basculer sur l'utilisateur git cd
et exécuter immédiatement:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
et mettez les clés publiques de vos pairs dans le fichier allowed_keys que vous venez de créer.
Après vous git init --bare
votre projet, le "url" est alors juste ... attendez ...
git@<server>:<project>
Comme l'a dit voretaq7, il n'y a pas de bonne ou de mauvaise réponse sur un tel sujet. Cependant, si vous voulez suivre des logiciels, il semble que les logiciels de bases de données stockent leurs données dans
/var/lib/soft
Par exemple, pour Postgresql 9.1 sur debian, le dossier est
/var/lib/postgresql/9.1/
Donc je choisirais personnellement
/var/lib/git
C'est entièrement à vous. De manière optimale, cependant, vous devez placer le répertoire de données git sur une partition séparée, voire un disque, pour faciliter les mises à niveau du système, etc. et bien sûr, vous devez vous assurer que vous disposez de suffisamment d'espace disque.
Sur Arch Linux, j’ai /srv/http
pour Apache (qui est la valeur par défaut du système) 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
c'est aussi le dossier personnel de git.
En fin de compte, c'est à vous de décider. J'ai trouvé qu'il était facile de se rappeler de conserver un format similaire à celui d'autres services dans votre distribution.
Si vous utilisez une interface pour git, allez simplement avec l'endroit où celui emballé par votre distribution veut les placer. Tout le reste ne fait que créer des incompatibilités inutiles.
Premièrement, en ce qui concerne la suggestion d'utiliser / srv, vous supposez que tous les référentiels git sont utilisés pour les sites Web. C'est peut-être vrai pour vous, mais vous pourriez avoir un logiciel qui n'est pas un site web.
Deuxièmement, en stockant vos référentiels de code en dehors de / var / www / html ou de / srv / html, vous obtenez deux avantages intéressants. Vous pouvez créer des liens symboliques dans votre rapport à tout niveau, ce qui facilite le masquage de vos bibliothèques. En outre, si l'emplacement de votre référentiel change, vous n'avez pas à modifier vos configurations d'hôte virtuel. Au lieu de cela, vous ajustez simplement vos liens symboliques.
J'utilisais / var / repo, mais je pense que / var / git est meilleur et l’utilisera à partir de maintenant.