2012-08-22 71 views
6

Estoy usando Amazon EC2 para alojar un sitio web que se implementa en el servidor a través de git. Utilicé este tutorial previamente en el mismo tipo de instancia de EC2 Ubuntu Linux Server, y ha funcionado perfectamente. Sin embargo, cuando intento y empujar al servidor, recibo el siguiente traza de error:Git no puede crear permiso de archivo denegado

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

Traza:

$ 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 

sólo tengo un archivo dentro del repositorio en el momento, que es index.html.

El rastreo de error muestra que se ha denegado el permiso para crear el archivo. Por favor, ¿puedes decirme dónde me estoy equivocando?

+0

Lo tutorial ha utilizado? –

+0

Lo sentimos, OP actualizado. –

Respuesta

3

Probablemente no hacer esta parte del tutorial:

En primer lugar, el árbol de trabajo (/var/www/www.example.org arriba) debe ser modificable por el usuario que ejecuta el gancho (o el usuario necesita sudo acceso para ejecutar git checkout -f, o algo similar).

+0

Tuve que iniciar sesión como root. –

+0

¿Y qué hay de Git en Windows? Me enfrento a este error de permiso denegado ahora mismo aunque soy administrador y consola que se ejecuta, se ejecuta como administrador también. Es como una pesadilla .... –

1

FYI, tuve este error porque hice un gancho para actualizar los archivos en un directorio raíz del sitio Web independiente. Por ejemplo:

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

Olvidé agregar el permiso de grupo al directorio de project.com. Esto hizo que todo funcione, index.html apareció en el directorio /var/www/project.com una vez que hice el siguiente commit/push!

código completo para hacer que funcione el supuesto de que ha añadido a su usuario al grupo "desarrolladores":

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 

y el entorno git para repositorio compartido:

git config core.sharedRepository group 
Cuestiones relacionadas