Pregunta

Nunca antes he usado ningún tipo de control de fuente, aunque entiendo el concepto. Lo que me confunde (y quizás no sé) es qué beneficio logro y / o por qué querría configurar Subversion y Apache. ¿Necesito configurarlo con Apache para poder acceder a mis repositorios desde otras computadoras a través de una red? No dude en proporcionar cualquier otro detalle que considere relevante.

Mi configuración en este momento es una computadora portátil (Windows & nbsp; XP Pro) y una máquina virtual (Windows & nbsp; XP Pro). En mi máquina virtual tengo Apache 2.2, MySQL 5 y PHP 5. Esta configuración es mi principal preocupación, aunque estoy feliz de escuchar ejemplos / situaciones que se desvían de mi escenario.

¿Fue útil?

Solución

No es necesario configurar Subversion con Apache. He usado Subversion durante años y nunca he tenido que hacerlo (aunque hay razones por las que lo haría, principalmente con la infraestructura de autenticación). Ya que estás en un mundo de Windows, he visto que VisualSVN Server es altamente recomendado y es fácil de configurar y listo.

Otros consejos

Echa un vistazo a la Entrada de SVNBook: Cómo elegir una configuración de servidor . Habla sobre las ventajas y desventajas de las diferentes formas de acceder a un servidor de Subversion.

El protocolo SVN es el más simple de configurar y administrar, pero probablemente no funcionará a través de firewalls corporativos (pero Apache lo hará, a través de HTTP).

Puede ser beneficioso cuando el puerto 3690 necesita cerrarse. También permite a los usuarios explorar el código utilizando un navegador, que tiene sus pros y sus contras. No es necesario tener un cliente de Subversion para ver el código, pero un navegador web crea un navegador de repositorio desagradable.

No es demasiado complicado configurarlo. esta página me pareció útil .

Pero, si solo lo estás utilizando en un entorno de VM local, svnserve estaría bien para ti.

La ventaja de alojar su repositorio SVN a través de Apache entra en juego si desea ACL en su repositorio.

Puede configurar la autenticación básica y limitar los permisos por directorio (o por archivo si lo considera necesario). Por ejemplo, puede configurar el repositorio para permitir el pago de invitados, pero cualquier escritura en el repositorio requerirá un usuario específico y válido.

Un resultado del uso de Apache para autenticar a sus usuarios significa que no tiene que definir a sus usuarios en un .htpasswd. Apache puede conectarse a LDAP, casi cualquier tipo de servidor SQL, o incluso usar autenticación Kerberos.

El uso del simplificado svnserve puede ser suficiente. Sin embargo, los permisos específicos no se pueden aplicar y no podrá conectarse a otra base de datos de usuarios para la autenticación.

Pero a partir de su descripción, todo lo anterior puede ser una exageración. Las ventajas que ofrece Apache son en gran medida inútiles para un solo usuario y no valen la pena.

La situación a la que creo que se está enfrentando es si desea utilizar el protocolo WebDAV para acceder a su repositorio SVN. En este caso, básicamente está permitiendo que Apache maneje el acceso a los archivos como intermediario a SVN en sí (no hay conexiones directas al repositorio).

He escuchado que esto funciona bastante bien, pero hay varias alternativas. Eche un vistazo al Libro SVN (consulte Google) para ver un punto de partida.

Utilizamos Subversion en un entorno de equipo pequeño (6 personas), utilizando el repositorio Visual SVN. Inicialmente no teníamos un servidor web Apache, solo IIS, pero ahora también ejecutamos Apache, pero no hay una razón convincente para usar Apache para el repositorio.

Usando Apache, puede acceder a su repositorio a través de WebDAV, que está sobre HTTP en un puerto estándar, por lo que puede acceder / publicar su repositorio detrás del firewall corporativo, por ejemplo, lo que puede no permitir el svnserve puerto.

SVN puede ser un sistema cliente-servidor, si desea compartir su código con otras personas. Sin embargo, si desea trabajar en su código solo (¡incluso desde más de una computadora!) No necesita ningún servidor en absoluto!

Puede usar el archivo: // - protocolo integrado en casi todos los clientes SVN y un repositorio SVN local.

Su repositorio SVN también puede funcionar desde un recurso compartido de red. Sin embargo, debe utilizar este enfoque solo si trabaja en él solo.

No tiene que usar Apache. Hay un servidor personalizado: en su lugar, se puede usar svnserve.exe. Se ejecuta en el puerto 3690 de forma predeterminada, pero se puede configurar en un puerto diferente mediante el interruptor --port al configurarlo.

Greg Hewgill le dio un enlace que le dirá qué versión del servidor Subversion debe usar, y los diferentes casos de uso. Básicamente se reduce a svnserve si no necesita integrarse con ningún tipo de autenticación. Utilice Apache si necesita escenarios más complejos.

Tengo una consola comercial de Windows que maneja svnserve. Mi perfil tiene un enlace para ver esa utilidad. Si decides usar Apache, te recomiendo que uses VisualSVN Server .

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