2012-08-22 20 views
6

Używam Amazon EC2 do hostowania witryny internetowej, która jest wdrażana na serwerze za pośrednictwem git. Użyłem tego samouczka wcześniej w tym samym rodzaju instancji serwera EC2 Ubuntu Linux i działało bezbłędnie. Jednak, gdy próbuję i popchnąć do serwera, Otrzymuję następujący ślad błędzie:Nie można utworzyć uprawnienia do pliku odmówiono

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

Ślad:

$ 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 

mam tylko jeden plik wewnątrz repozytorium w tej chwili, który jest index.html.

Śledzenie błędów pokazuje, że odmowa uprawnień do utworzenia pliku. Czy możesz mi powiedzieć, gdzie idę źle?

+0

Co poradnik użyłeś? –

+0

Przepraszamy, zaktualizuj OP. –

Odpowiedz

3

Prawdopodobnie nie zrobić tę część tutorialu:

pierwsze, drzewo praca (/var/www/www.example.org powyżej) musi być zapisywalny przez użytkownika, który uruchamia hak (lub użytkownik potrzebuje dostępu sudo do uruchomienia git checkout -f lub czegoś podobnego).

+0

Musiał zalogować się jako root. –

+0

A co z Gitem w systemie Windows? Mam teraz do czynienia z tym błędem odmowy uprawnień, chociaż jestem administratorem i konsolą, która działa, działa też jako administrator. To jak koszmar ... –

1

FYI, miałem ten błąd, ponieważ zrobiłem hak do aktualizacji plików w osobnym katalogu www. Na przykład:

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

Zapomniałem dodać uprawnienia grupy do katalogu project.com. To sprawiło, że wszystko działało, index.html pojawił się w katalogu /var/www/project.com po wykonaniu następnego commit/push!

Pełny kod, aby pracować przy założeniu dodaniu użytkownika do grupy „Deweloperzy”:

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 

i ustawienie git do wspólnego repozytorium:

git config core.sharedRepository group 
Powiązane problemy