lunes, 4 de julio de 2011

Instalar Subversion y apache en Windows,

Buenas:

Os dejo al docu para la instalación de Subversion y Apache en Windows, sólo se instalarlo, por lo que el uso posterior desconozco como es.


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.



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 admin.@admin.es, 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 y lo modificaremos así:


Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all


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:


DAV svn
SVNParentPath

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /custom-config/svn-password.pass

AuthzSVNAccessFile /custom-config/svn-authz.conf
Require valid-user


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 \bin a la ruta \modules.

También copiaremos los archivos libdb44.dll y intl3_svn.dll que están en \bin a \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 /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 \bin en \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: /

No hay comentarios: