Pregunta

he estado refiriendo a http://toroid.org/ams/git-website -howto como punto de partida para la producción de un servidor web que se ejecuta en un VPS administrados. El VPS se ejecuta cPanel y WHM, y con el tiempo se alojar múltiples sitios web de clientes, cada uno con su propia cuenta de cPanel (por lo tanto, cada uno con su propio directorio de usuario y el hogar de Linux de la que se sirven los sitios). el sitio de cada cliente es un repositorio Git separado.

Actualmente, estoy empujando cada repositorio a través de SSH a un acuerdo de recompra al descubierto en la carpeta principal del cliente, por ejemplo, /home/username/git/repository.git/. De acuerdo con el tutorial anterior, cada repo se ha configurado para la caja a otro directorio a través de un gancho posterior a recibir. En este caso, cada una de pase cheques a su propio /home/username/public_html (DocumentRoot predeterminado para las nuevas cuentas de cPanel), donde los archivos son servidos por Apache. Si bien esto funciona, me obliga a establecer (en mi entorno de desarrollo local) mando a distancia para de esta manera:

url = ssh://username@example.com/home/username/git/repository.git/

También me pide que introduzca la contraseña del usuario cada vez que empujo a ella, que es menos que ideal.

En un intento de centralizar todas mis repositorios en una carpeta, también intentó empujar a /root/git/repository.git como root y luego echarle un vistazo al directorio apropiado en el hogar a partir de ahí. Sin embargo, esto hace que todo el desprotegido archivos a ser propiedad de la raíz, lo que impide que sirve Apache desde el sitio, con errores como

[error] [client xx.xx.xx.xx] SoftException in Application.cpp:357: UID of script "/home/username/public_html/index.php" is smaller than min_uid

(que es un problema de la propiedad de archivos / permisos, por lo que yo puedo decir)

Puedo resolver que problema con los comandos chown y chgrp en cada uno de recompra posterior a recibir el gancho - sin embargo, que también eleva la bandera "no está bien" en mi cabeza. También he considerado gitosis (para centralizar todos mis repos en /home/git/), pero supongo que me había encontrado con el mismo problema de la propiedad de archivos, ya que el entonces serían propiedad del usuario git los archivos de registro de salida.

¿Soy simplemente acercándose a toda esta cosa por el camino equivocado? Me siento como si estuviera completamente falta una tercera solución, más elegante al problema global. ¿O debo seguir uno de los métodos que he descrito más arriba?

¿Fue útil?

Solución

También me pide que introduzca la contraseña del usuario cada vez que empujo a ella, que es menos que ideal

No debería ser necesario si publica su clave pública SSH a la cuenta destintion archivo ".ssh/authorized_keys".

de bloqueo hacia abajo ssh llaves autorizadas por ejemplo.
Sino también la referencia oficial Pro Git libro "Configuración del servidor" .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top