2011-12-22 10 views
5

ho installato e configurato sia gitolite che gitweb. gitolite funziona bene, tutti i repository e gli utenti funzionano come previsto ... ma quando uso gitweb, vedo un 404 - nessun progetto trovato. ho continuato a vedere che projects.list è vuoto. Il permesso del file projects.list è 640 e l'utente e il gruppo sono uguali a "git".repository gitolite viene creato ma project.list è vuoto

Immagino che gitolite aggiunga un nuovo repository a projects.list, giusto? La mia radice del progetto è/home/git/repositories.

risposta

5

Nota: questo è stato rielaborato nelle versioni più recenti di gitolite; Ecco the relevant documentation. È ancora possibile dare autorizzazioni di lettura per l'utente speciale "gitweb" come prima, e si può anche aggiungere linee come questo per i pronti contro termine:

config gitweb.owner   = owner name 
config gitweb.description = some description 
config gitweb.category  = some category 

Se almeno uno di questi parametri di configurazione è impostato per un pronti contro termine, lo farà essere reso accessibile a gitweb.

Come prima, "reso accessibile a gitweb" significa "magicamente aggiunto a projects.list".


risposta originale:

Gitolite sensibilmente default le autorizzazioni più restrittive - nessuno può vedere un repository fino a quando gli si dice di lasciarli. Questo include ovviamente gitweb. Al fine di gitweb vedere un repository, citando il gitolite.conf documentation:

Allo stesso modo, dare il permesso di leggere a gitweb per consentire al CGI gitweb per mostrare il repo. Qualcosa di simile a questo:

repo foo bar baz 
    R = gitweb 

Questo ti dà un modo rapido per offrire molteplici pronti contro termine su per gitweb e/o l'accesso daemon.

Tuttavia, l'impostazione di una descrizione per il progetto abilita anche le autorizzazioni gitweb in modo da poterlo fare in questo modo, se lo si desidera. Ovviamente in questo caso devi gestire separatamente ciascun repository. Aggiungere linee come questo per gitolite.conf:

foo = "some description" 
bar = "some other description" 
baz = "yet another description" 

È inoltre possibile specificare un proprietario per gitweb per mostrare, se ti piace; per esempio potrei usare:

gitolite "Sitaram Chamarty" = "fast, secure, fine-grained, access control for git" 

Gitolite pone solo repository in projects.list se gli si dice che per renderli disponibili per gitweb tramite uno di questi metodi. Userà il proprietario e la descrizione per popolare anche project.list, quindi di solito è meglio farlo in questo modo. Tieni presente che se il tuo server web è in esecuzione come utente diverso da Gitolite, dovrai assicurarti che abbia in qualche modo accesso alle directory pertinenti, che per impostazione predefinita sono nascoste agli altri utenti. C'è qualche esempio di documentazione su casi più complessi: gitolite-gitweb-http-backend

+0

Ottima risposta, ma il tuo link è rotto. Nuovo link: http://gitolite.googlecode.com/git-history/df885e5989d3ae9644d4c6b02b627e74afef7b7c/doc/gitolite-gitweb-http-backend.mkd –

Problemi correlati