Soluzione 1:
Non c'è una risposta giusta o sbagliata qui, tranne quella dettata dalla tua religione personale e dai contenuti del hier(7)
manpage sul tuo sistema.
tipico Linux hier
manpage; tipico BSD hier
pagina man)
/var/git/*
mi sembra ragionevole personalmente. È lì che tengo il mio.
Soluzione 2:
Mettilo in una directory (o filesystem condiviso) sotto /srv
. Ecco a cosa serve.
Il /srv
directory è destinata ai dati specifici del sito serviti dal sistema. Dallo standard:
Lo scopo principale di specificare questo è in modo che gli utenti possano trovare la posizione dei file di dati per un particolare servizio e in modo che i servizi che richiedono un singolo albero per i dati di sola lettura, i dati scrivibili e gli script (come gli script cgi) possano essere ragionevolmente posizionati. I dati che sono di interesse solo per un utente specifico dovrebbero andare nella home directory di quell'utente.
La metodologia utilizzata per denominare le sottodirectory di
/srv
non è specificato in quanto al momento non vi è consenso su come farlo. Un metodo per strutturare i dati in/srv
è per protocollo, ad es.ftp
,rsync
,www
ecvs
. Su sistemi di grandi dimensioni può essere utile strutturare/srv
dal contesto amministrativo, come/srv/physics/www
,/srv/compsci/cvs
,eccetera. Questa configurazione sarà diversa da host a host. Pertanto, nessun programma dovrebbe basarsi su una specifica struttura di sottodirectory di/srv
i dati esistenti devono essere necessariamente archiviati in/srv
. Comunque/srv
dovrebbe esistere sempre su sistemi conformi a FHS e dovrebbe essere utilizzato come posizione predefinita per tali dati.Le distribuzioni devono fare attenzione a non rimuovere i file posizionati localmente in queste directory senza il permesso dell'amministratore.
Su un sistema abilitato per SELinux, la directory predefinita è /var/www/git
, e i repository dovrebbero trovarsi nelle relative sottodirectory. Oppure puoi usare, ad es. /srv/git
e imposta il contesto del file in modo che sia equivalente:
semanage fcontext -a -e /var/www/git /srv/git
Soluzione 3:
/home/git/
Questo potrebbe sembrare un po' non convenzionale all'inizio, ma è molto ragionevole in quanto questa directory è creata per te (con i permessi corretti) quando esegui sudo useradd git
. Puoi semplicemente passare all'utente git, cd
ed esegui immediatamente:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
e inserisci le chiavi pubbliche dei tuoi peer nel file authorized_keys appena creato.
Dopo aver git init --bare
il tuo progetto, l'"url" è solo...aspettalo...
[email protected]<server>:<project>
Soluzione 4:
Sul mio Arch Linux ho /srv/http
per apache (che è l'impostazione predefinita del sistema) e lo uso anche per i miei server http node.js. Allo stesso modo ho deciso di inserire tutti i repository git in /srv/git
.
Uso GitLab e /srv/git
è la cartella home di git anche in questo caso.
Alla fine, tocca a te. Ho scoperto che attenersi a un formato simile ad altri servizi nella tua distribuzione è facile da ricordare.