Cómo instalar subversion en windows
July 28th, 2007
Para los interesados en instalar y configurar subversion como servidor a través de Apache Web Server sobre una plataforma Microsoft Windows, quizás las siguientes instrucciones ayuden. La instalación se ha realizado sobre Microsoft Windows Vista, con Apache Web Server 2.2.4 y subversion 1.4.4. En un post anterior os comentaba que había configurado un entorno de desarrollo para PHP con opciones de profiling. Pues bien, aprovechando que ya tenía instalado WAMP 1.7.1, he usado el Apache Web Server (2.2.4) que contiene este paquete para montar subversion. Suponiendo que ya se dispone de un Apache Web Server 2.2.x:
- Descargar subversion 1.4.4 y descomprimirlo
- Copiar los archivos mod_authz_svn.so y mod_dav_svn.so , que se encuentra en svn-win32-1.4.4/bin, en APACHE_INSTALL_DIR/modules
- Copiar los archivos intl3_svn.dll y libdb44.dll, que se encuentra en svn-win32-1.4.4/bin, en APACHE_INSTALL_DIR/bin
- Añadir las siguientes líneas (en la sección donde está la carga de librerías) al archivo APACHE_INSTALL_DIR/conf/httpd.conf para cargar las correspondientes librerias:
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
- LoadModule dav_module modules/mod_dav.so (es probable que exista, simplemente hay que asegurarse de que no esté comentada)
- LoadModule dav_fs_module modules/mod_dav_fs.so (es probable que exista, simplemente hay que asegurarse de que no esté comentada)
- Añadir la siguiente línea (al final) al archivo APACHE_INSTALL_DIR/conf/httpd.conf para cargar la configuración de subversion:
- Include “APACHE_INSTALL_DIR/conf/extra/httpd-subversion.conf”
- Creamos el archivo APACHE_INSTALL_DIR/conf/extra/httpd-subversion.conf con la siguiente configuración (es sólo un ejemplo):
- <Location /repos>
DAV svn
SVNParentPath “C:/tools/wamp/tmp/svn”
AuthzSVNAccessFile “C:/tools/wamp/Apache2/conf/access-policy/svn-groups.conf”
AuthType Basic
AuthName “Subversion repository”
Require valid-user
AuthUserFile “C:/tools/wamp/Apache2/conf/access-policy/svn-users.conf”
</Location> - Cuidado con las rutas! eso es sólo un ejemplo. Básicamente se indica donde van a estar nuestros repositorios de subversion, el archivo con los grupos y usuario de subversion
- <Location /repos>
- Ahora tenemos que crear los archivos svn-groups.conf y svn-users.conf. Para el primero de ellos tenemos:
- [groups]
test-group: recena[test:/]
@test-group:rw - Definición de grupos y a continuación, nombre del repositorio (que tendremos que crearlo) y permisos del grupo sobre el raiz del repositorio.
- [groups]
- Para crear un usuario, hacemos uso de la utilidad htpasswd que nos proporciona Apache.
- Para crear el repositorio hacemos uso de la utilidad svnadmin que proporciona subversion
Para cualquier duda o sugerencia, un comentario.
Categories: Herramientas
Muchas gracias. Muy clarita la explicación
Muy buen tutorial un millón de gracias, pero me queda una duda y es respecto al archivo *svn-users.con*, ¿cual debe ser la estructura de este archivo?.
Gracias de antemano,
Sl2
Hola:
Si lo estás instalando en windows, debes hacer uso de la utilidad htpasswd.exe:
htpasswd.exe svn-users.conf miusuario
Si necesitas algo más, no dudes en escribir.
Un saludo
Tampoco entendí como es la estructura de “svn-users.conf”
como usar
htpasswd.exe svn-users.conf miusuario ??
Saludos
Gracias
Hola Ricardo:
La utilidad htpasswd.exe que se distribuye con Apache Web Server es muy sencilla de utilizar.
http://httpd.apache.org/docs/1.3/programs/htpasswd.html
Hola, he seguido todos los pasos como los indicas, he creado los directorios necesarios y aun no logro que el apache inicie, existe alguna forma de saber que esta fallando.
Volvere a hacer todo paso a paso, por cierto utilizo el wamp 1.7.2
Hola Edinson:
Te recomiendo que mires los logs de Apache Web Server para comprobar que se han cargado correctamente los módulos.
Un compañero del trabajo ha seguido las notas y no ha tenido ningún problema. Revisa los pasos y si sigues teniendo problemas, me envías un correo con los archivos de configuración.
Un saludo
Como estas? muy bueno el tutorial…pero segui todos los pasos y no arranca mas el apache…no me queda muy claro lo ultimo lo de los grupos y usuarios..si podes detallarlo paso por paso o con un ejemplo estaria muy bueno y tambien si tenes tiempo explicar como organizar los directorios .. donde poner el suversion y el repositorio..desde ya muchisimas gracias
Hola Santiago:
¿Qué mensajes de error obtienes?
He puesto todos y cada uno de lo pases que seguí. La única parte menos detallada en la que corresponde con la creación de los archivos svn-users.conf y svn-groups.conf, sin embargo, se dice cómo crearlos.
El directorio para almacenar tus repositorios lo puedes poner donde desees, simplemente tienes que tener cuidado con la directiva SVNParentPath.
Un saludo
hola que tal, esta muy bueno el tutorial pero tengo un pequeño problema al cargar los modulos.. segui paso a paso todo el tuto pero al momento de de subir nuevamente el apache no sube y me da error en las librerias q aumente.. no las sube d ninguna forma, no las reconoce.. no se q me puede estar faltando..
uso el apache apache 2.2.4 y subcontrol 1.4
gracias y saludos
Luis
Este es el error exacto que me sale:
httpd.exe: Syntax error on line 115 of C:/Archivos de programa/Apache Software F
oundation/Apache2.2/conf/httpd.conf: API module structure `dav_svn_module’ in fi
le C:/Archivos de programa/Apache Software Foundation/Apache2.2/modules/mod_dav_
svn.so is garbled – perhaps this is not an Apache module DSO?
Saludos
Luis
Hola Luis:
¿Has usado las mismas versiones que indico en el post?
Un saludo
Hola
Tengo un apache apache_2.0.61-win32-x86-openssl-0.9.7m.msi y un subversion svn-1.4.5-setup.exe
Me sale un mensaje cada vez que deseo iniciar el servicio Apache
Que hay un error de sintaxis en el archivo httpd.conf
Unknow DAV Provider: snv
Cualquier Informacion de antemano se los agradezco
Saludos
Hola:
Revisa la configuración porque debes tener algún error sintáctico. Si me envías los archivos de configuración, puedo echarles un ojo.
Un saludo
Saludos muy buen tutorial
yo uso XAMPP
trate de implementarlo y no pude.
Alqgiein me puede ayudar.
Gracias de antemano
Tengo Apache2.2.4, Subversion 1.4.4, Windows 2003 Server.
Cuando se trata de subir el servicio muestra una alerta con el mensaje: the requested operation has falied.
No muestra nada en los archivos log.
Haciendo pruebas de margen y error detecte que son las versiones de los modulos que se copian en la carpeta modules.
Pero yo baje la version que indican en esta pagina, que sera?
Saludos amigo excelente tutorial
yo tengo el siguiente bugs
use todas la versiones que tu dices apache 2.2.6 y el svn 1.4.4
cuando intento crear un directorio el el repositorio me da el siguiente error
500 internal server error
seguido de unos caracteres
no hace nada
me puedes ayudar
con referecnial al error:
httpd.exe: Syntax error on line 115 of C:/Archivos de programa/Apache Software F
oundation/Apache2.2/conf/httpd.conf: API module structure `dav_svn_module’ in fi
le C:/Archivos de programa/Apache Software Foundation/Apache2.2/modules/mod_dav_
svn.so is garbled – perhaps this is not an Apache module DSO?
El problema esta en que estas usadon los .so y .dll de la version de subversion para apache 2.0.x, yo lo solucione remplazando estos archivos por los de la version de subversion para apache 2.2.x y segui los mismo pasos de esta gui y funciono a la perfeción, espero les sirva de ayuda a los que se les presente el mencionado error.
Saludos
De casualidad no hay un manual para apeche 2.0.50
svn-win32-1.4.6. espero me ayuden………….
Muchas muchas gracias!!!
efectivamente, se debe instalar el add-on de Apache 2.2.4 porque el WAMP 1.7.1 viene con Apache 2.0.X y entonces los módulos del subversion no le funcionan.
El Add-on lo pueden descargar de:
http://www.wampserver.com/en/addons_apache.php
Cordialmente,
Juan David.
Muy bueno esto gracias !! aprendi mucho a conf el apache!! =)
Hola, solo agradecer este aporte, siempre es bienvenida una ayuda, mas aun por la buena disponibilidad que tienes para resolver dudas de los usuarios…
GRACIAS!!!
Perdon por el doble mensage, pero como no se puede editar el anterior.
Encontre algo que podria ayudar a alguien o complementar este articulo.
Espero que sirva de algo…
http://www.kagueto.com/Web/Resources/Files/SVN.pdf
Saludos
@Wiserlander
Muchas gracias a ti por tus palabras.
Un saludo
manuel muy interesante tu articulo
pero me sale un errordespues de hacer todo lo que describes
al iniciar el apache me sale un error de que no encuentra los modulos que ya copie desde svn a apache… si te has encontrado cn algo asi
favor escribirme…
Saludos
@Gabriel
Hola Gabriel:
Necesitaría que me proporcionases más datos. Al menos los mensajes de error que aparecen en los logs. ¿Dónde estás colocando los módulos?
Un saludo
Este es :
[warn] module dav_module is already loaded, skipping httpd.exe: Syntax error on line 128 of C:/Archivos de Programa/Apache SoftwareFoundation/Apache2.2/conf/httpd.conf: Can’t locate API module structure ‘authz_mod’ in file C:/Archivos de Programa/Apache SoftwareFoundation/Apache2.2/modules/mod_authz_svn.co: No error.
Estoy usando las siguientes versiones:
Setup-Subversion-1.6.6.msi
apache_2.2.14-win32-x86-openssl-0.9.8k.msi
Saludos
Gracias
La ultima linea del error es:
SoftwareFoundation/Apache2.2/modules/mod_authz_svn.so: No error.
Saludos
Hola, gracias por el tutorial. Me pierdo un poco en el punto 7 . No se como el usuario creado hace referencia al grupo. Normalmente trabajo con un cliente de subversion y los proyectos en los que trabajo contienen los directorios trunk, tags y branches. He utilizado, como escribes, la utilidad svnadmin para crear el repositorio y no aparecen dichos directorios. Los tengo que crear manualmente en algun subdirectorio del repositorio??? Tampoco se cual es la url del repositorio creado.
Saludos.
David.
Para aquellos que con las versiones en este tutorial no lo consigan, con el siguiente link podrán econtrar otra oportunidad:
http://svn.spears.at/
@David
Con svnadmin creas el repositorio, pero el layout (estructura) lo tienes que crear tú mismo una vez que tengas una copia de trabajo (tras hacer un checkout).
La referencia que has puesto está mucho más detallada y servirá de ayuda a otros lectores de este blog. Gracias.
para quién intente seguir el tutorial del enlace de arriba, debe de saber que seguramente exista un bug a la hora de crear el archivo de usuarios con la utilidad htpasswd. Cada vez que se inserta uno, borra el anterior Asi que el que quiera más de un usuario, tendrá que hacerlo de forma manual. Simplemente creandolos en un archivo temporal y uno a uno pergarlos en el archivo final, o cualquier otra solución más rudimentaria.
Saludos.
David