SVN: acceso remoto no funciona

He instalado subversion y apache en mi pc. Puedo acceder a mi repository usando la URL siguiente

http://localhost/svn/repos/ 

Ahora quiero que otros miembros de mi grupo accedan a los files del proyecto que coloqué en mi repository. Como es la primera vez que uso svn, busqué las soluciones y creo que estoy un poco perdido.

Leí sobre el reenvío de puertos en mi enrutador, así que abrí la interfaz de mi enrutador. Fui a la sección NAT / PAT de la configuration de mi enrutador y agregué una nueva regla con las siguientes características:

 Application: svn External port:3690 Internal port:80 protocol : TCP equipment: myPC 

Y marcó la opción "Activa". Pero creo que me estoy perdiendo algo. Leí en un artículo que para verificar si el acceso remoto funciona tengo que ir a

 svn://83.200.108.71 

Si bien no funciona. "no se puede conectar …" ¿Puede alguien ayudarme?

Espera … ¿Puedes acceder a tu repository a través de http:// ? ¿Por qué no dejar que otros accedan al repository usando http:// ?

No hagas nada con tu enrutador. No ensucie con los puertos. Apache httpd está sirviendo a su repository muy bien desde el puerto 80. Dígales a sus usuarios que simplemente accedan a su repository a través de http://<machineName>/svn/repos . Eso es todo al respecto.

svn:// es un protocolo completamente diferente que http:// . El puerto 3690 simplemente es el puerto pnetworkingeterminado de svn:// , pero eso no significa que si reenroutes tu protocolo http:// allí, todo funcionará.

La mayoría de las veces, las personas que usan por primera vez Subversion configuran el server svnserve en lugar de Apache httpd porque es más fácil que usar Apache http. Así es como configura un repository para usar svn:// :

 $ svnadmin create my_repos # $ vi my_repos/conf/svnserve.conf #Need to denop 'password-db=passwd' line $ vi my_repos/conf/passwd #Need to setup user accounts $ svnserve -r my_repos -d 

Y eso es. Ahora sus usuarios pueden acceder al repository a través de svn://<machineName> .

Aunque svnserve es más simple y más fácil que Apache (y más rápido), hay muchas razones para usar Apache httpd sobre svnserve:

  • Es probable que el puerto 80 no esté bloqueado por la networking, mientras que el puerto 3690 esté bloqueado
  • Puede dejar que Apache httpd use LDAP para la authentication (que también puede permitir la authentication de Windows Active Directory)
  • Apache httpd puede dar service a varios repositorys, mientras que svnserve solo puede dar service a un único repository en el puerto 3690.