Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/07/2011, 04:37
Avatar de madrikeka
madrikeka
 
Fecha de Ingreso: mayo-2010
Ubicación: Madrid!! :D
Mensajes: 101
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Instalacion de repositorio para controlador de versiones (desde cero)

Buenas:

Tortoise es un cliente de SVN (Subversion), por lo que tendrías que instalar Subversion, te dejo mas o menos un cómo se hace:

La instalación de Subversion no conlleva ninguna complicación, simplemente descargar, hacer una instalación normal y si queremos, podemos modificar la ruta donde queremos que se instale, por defecto “C:\Archivos de Program\subversion\” .

Una vez instalado y para comprobar que funciona, abriremos una consola y ejecutaremos :

>svn

Si responde "type 'svn help' for usage"

Significará que está correctamente instalado.

Ahora crearemos una carpeta donde se guardarán los repositorios y crearemos un repositorio de prueba para comprobar que funciona.

En nuestro caso hemos creado el siguiente directorio D:\SVN\, abriremos una consola (Inicio -> Ejecutar -> cmd), y ejecutaremos el siguiente comando:


>svnadmin create D:\SVN\prueba

Una vez ejecutado este comando se nos creará un repositorio de prueba para SVN.

Por último y antes de continuar, tendremos que crear dentro del directorio de repositorios D:\SVN las siguientes carpetas: trunks, branches, tags y custom-config.



2. Instalación de Apache

Para la visualización de nuestro Subversion instalaremos Apache.

La instalación es igual de sencilla que Subversion, solo podemos modificar la ruta de instalación y en un apartado del asistente, nos pedirá Network Domain, Server Name y Administrator´s mail; en los 2 primeros, pondremos la IP del servidor, en el último caso y al no disponer de un servidor de correo, pondremos un mail inventado, por ejemplo [email protected], si se dispone de correo, poner un correo.

Finalizaremos la instalación e intentaremos levantar el servicio, nos puede dar unerror de que se está usando el puerto 80, por lo que simplemente cambiaremos el puerto del apache en el fichero de configuración, donde modificaremso el "listen":


“C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\httpd.conf”

Buscaremos la línea listen y haremos el siguiente cambio:

Listen 80
por

Listen IP:81

Aprovechando que tenemos abierto el httpd.conf modificaremos las siguientes líneas para conectar el apache con SVN.

En primer lugar descomentaremos (#) esta línea:

LoadModule dav_module modules/mod_dav.so

Y al final de los módulos añadiremos estas 2:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


Ahora iremos a la sección que comienza como <Directory /> y lo modificaremos así:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>


Por último añadiremos al final del fichero las siguientes líneas modificando la ruta del repositorio y añadiendo la ruta donde vamos a tener dichos repositorios:

<Location /svn>
DAV svn
SVNParentPath <Ruta Repositorio>

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile <Ruta repositorio>/custom-config/svn-password.pass

AuthzSVNAccessFile <Ruta repositorio>/custom-config/svn-authz.conf
Require valid-user
</Location>


Ahora que hemos modificado el archivo lo guardaremos y procederemos a pegar en apache los módulos de Subversion.

Tendremos que copiar los archivos mod_dav_svn.so y mod_authz_svn.so que se encuentran en <instalación de Subversion>\bin a la ruta <instalación de apache>\modules.

También copiaremos los archivos libdb44.dll y intl3_svn.dll que están en <instalación de Subversion>\bin a <instalación de apache>\bin.

Una vez copiados estos ficheros, crearemos usuarios y les daremos permisos de acceso a SVN; para ello abriremos una consola y ejecutaremos lo siguiente y crearemos un primer usuario:

"c:\Program Files\Apache Software Foundation\Apache2.2\bin\htpasswd" -cm D:\SVN\custom-config\svn-password.pass demo

Nos pedirá la password para este usuario 2 veces y las guardará en <Ruta repositorio>/custom-config/svn-password.pass

Para añadir nuevos usuarios tendremos que ejecutar el siguiente comando:

"c:\Program Files\Apache Software Foundation\Apache2.2\bin\htpasswd" -m D:\SVN\custom-config\svn-password.pass test

La diferencia es la opción “c”, esto no añade, crea y elimina todo lo anterior.

Una vez creados nuestros usuarios, en la ruta D:\SVN\custom-config\ crearemos el siguiente fichero, svn-authz.conf y lo editaremos con los siguientes datos:



[groups]
administrator = demo
prueba = test

[/]
@administrator = rw
@prueba = r

[/trunk]
@prueba = rw

[/branches]
@prueba = rw

[/tags]
@prueba = rw


Ya guardado el archivo, reiniciaremos el servicio de apache, al intentar iniciarse, es probable que nos dé el siguiente error en el visor de sucesos:

“The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 129 of C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Archivos de programa/Apache Software Foundation/Apache2.2/modules/mod_dav_svn.so into server: No se puede encontrar el m\xf .”

Para solucionarlo, simplemente tendremos que copiar todas las *.dll que están en <ruta Subversion>\bin en <ruta apache>\modules\ con esto se solucionará el problema.

Intentaremos reiniciar el apache nuevamente y ahora sí debería dejar el servicio levantado:

Para comprobar, introduciremos en un navegador lo siguiente (en nuestro caso):

http://IP:81/svn/prueba/

y nos mostrará esta página:

prueba - Revision 0: /



Con esto podrás montar el servidor, luego tendrás que buscar como usarlo, ya que yo desconozco el uso, simplemente lo dejé montado.

Un saludo y espero te sirva.