Crear un repositorio

Para crear un repositorio debes tener algunas herramientas instaladas, para instalarlas debes ejecutar como root lo siguiente:

# aptitude install subversion

luego, para crear el repositorio debes ejecutar lo siguiente:

# mkdir /home/svn
# cd /home/svn
# svnadmin create repoDeEjemplo
# chown -R www-data:www-data repoDeEjemplo

el primer comando crea la carpeta /home/svn, el segundo comando cambia de directorio al directorio recién creado, en ese directorio se supone que uno debería colocar los repositorios svn, perfectamente este directorio podría ser cualquier otro (por comodidad yo elijo este y no otro ya que generalmente utilizo una partición distinta para /home, pero en tu caso podría ser otro). El tercer comando crea el repositorio repoDeEjemplo, y el último comando le dice al sistema operativo que ese directorio va a pertenecer al usuario www-data (este usuario es el que ejecuta el servidor web, por este motivo, si queremos acceder y modificar desde webdav a los repositorios, debemos hacer que la carpeta del repositorio pertenezca a este usuario).

Conectar un repositorio con apache

Para conectar un repositorio al apache lo que se debe hacer es instalar el apache junto con un módulo especial para svn:

# aptitude install apache2 libapache2-svn

y luego configurar un dominio virtual con algo parecido a esto:

<Location /svn/repoDeEjemplo>
        DAV svn
        SVNPath /home/svn/repoDeEjemplo/
        AuthzSVNAccessFile /home/svn/repoDeEjemplo/conf/authz

        AuthType Digest
        AuthDigestProvider file
        AuthUserFile /home/svn/passwd

        AuthName "midominio.cl"

        Require valid-user
        Order allow,deny
        Allow from all
</Location>

se supone que los usuarios se crean con htdigest, y se encuentran en el archivo /home/svn/passwd, y los permisos de acceso a cada usuario se configuran en el archivo /home/svn/repoDeEjemplo/conf/authz

Especificando los usuarios

Los usuarios se mantienen en un archivo de usuarios, que en nuestros ejemplos será /home/svn/passwd, los usuarios y sus contraseñas pueden estar especificados con uno y sólo uno de los siguientes tipos de seguridad:

El tipo de seguridad debe ser configurado en el dominio virtual con la variable AuthType.

SVNAdmin (última edición 2011-02-02 03:02:49 efectuada por LuisSaavedra)