2012-08-22 20 views
6

Sto usando Amazon EC2 per ospitare un sito Web che viene distribuito al server tramite git. Ho usato questo tutorial in precedenza sullo stesso tipo di istanza di EC2 Ubuntu Linux Server, e ha funzionato in modo impeccabile. Tuttavia, quando cerco di spingere al server, ricevo il seguente traccia di errore:Git in grado di creare il permesso di file negato

Tutorial: http://toroid.org/ams/git-website-howto

Trace:

$ git push origin master 

Counting objects: 5, done. 
Writing objects: 100% (3/3), 250 bytes, done. 
Total 3 (delta 0), reused 0 (delta 0) 
remote: error: unable to create file index.html (Permission denied) 
To ssh://[email protected]/var/www/website.git 
    8068aac..04eae11 master -> master 

ho solo un file all'interno della repository in questo momento, che è index.html.

La traccia di errore indica che il permesso è stato negato per creare il file. Per favore, puoi dirmi dove sto andando male?

+0

Cosa esercitazione hai usato? –

+0

Mi dispiace, OP aggiornato. –

risposta

3

Probabilmente non lo ha fatto parte del tutorial:

In primo luogo, l'albero di lavoro (/var/www/www.example.org sopra) deve essere scrivibile dall'utente che gestisce il gancio (o l'utente ha bisogno di accesso sudo per eseguire git checkout -f, o qualcosa di simile).

+0

dovuto effettuare il login come utente root. –

+0

E Git su Windows? Affronto questa autorizzazione negata in questo momento, anche se sono un amministratore e una console che viene eseguita, anche come amministratore. È come un incubo .... –

1

Cordiali saluti, ho avuto questo errore perché ho fatto un gancio per aggiornare i file in una directory principale sito web separata. Ad esempio:

/var/www/project.git # (where we push updates) 
/var/www/project.com # (where the website exists) 

Ho dimenticato di aggiungere il permesso di gruppo alla directory project.com. Questo ha fatto funzionare tutto, index.html è apparso nella directory /var/www/project.com una volta che ho fatto il prossimo commit/push!

codice completo per farlo funzionare supponendo che si è aggiunto l'utente al gruppo "sviluppatori":

sudo chmod -R g+ws /var/www/project_name.git 
sudo chgrp -R developers /var/www/project_name.git 
sudo chmod -R g+ws /var/www/project_name 
sudo chgrp -R developers /var/www/project_name 

E l'impostazione Git per repository condiviso:

git config core.sharedRepository group 
Problemi correlati