Subversión · 3 min read · Jan 01, 2026

El Servidor de Subversión Perfecto - Debian Lenny [ISPConfig3]

El Servidor de Subversión Perfecto - Debian Lenny [ISPConfig3]

Subversion es un sistema de control de versiones gratuito y de código abierto. Es decir, Subversion gestiona archivos y directorios, y los cambios realizados en ellos, a lo largo del tiempo. Esto te permite recuperar versiones anteriores de tus datos, o examinar el historial de cómo cambiaron tus datos. En este sentido, muchas personas piensan en un sistema de control de versiones como una especie de “máquina del tiempo”. Esta guía te ayudará a configurar el sistema de subversión e integrarlo con tu instalación existente de ISPConfig3, permitiéndote controlar el uso del disco, la cuota y otros factores de una manera muy familiar. Quizás algún día, alguien pueda usar este proceso para crear un complemento para ISPConfig3 que haga todo esto automáticamente.

Requisitos

Obviamente, este tutorial requiere que ya tengas ISPConfig3 configurado y en funcionamiento. Los pasos descritos a continuación pueden funcionar también con ISPConfig2, pero no ha sido probado y no será soportado. Si aún no lo has hecho, sigue la guía de falko para El Servidor Perfecto - Debian Lenny [ISPConfig3] antes de continuar.

Para permitir que un solo sitio web tenga múltiples repositorios, pondremos todo bajo una carpeta ‘svn’, y, en última instancia, la ruta pública a tu repositorio se verá algo así como http://example.com/svn/myrepo. Pero antes de que podamos comenzar, necesitas crear el sitio para ‘example.com’. Crear el sitio y establecer opciones de cuota está fuera del alcance de este tutorial, pero es bastante sencillo si no lo has hecho antes.

Instalar Subversion

La instalación de Subversion y los módulos de Apache requeridos es bastante sencilla (ejecutar como root o usar sudo):

apt-get install subversion libapache2-svn

Crear un Repo(sitorio)

Por defecto, ISPConfig almacena los sitios en /var/clients/clientx/weby/, necesitarás saber qué ID de cliente (x) y ID de sitio (y) corresponde al sitio en el que deseas configurar el repositorio. Si has realizado ajustes en las rutas predeterminadas, necesitarás modificar los comandos a continuación para que coincidan con tu estructura de directorios. Comienza creando el directorio svn (solo necesitas hacer esto una vez para cada sitio):

mkdir /var/clients/clientx/weby/svn

A continuación, necesitarás crear el repositorio y corregir los permisos en todo (importante para las verificaciones de cuota).

svnadmin create /var/clients/clientx/weby/svn/myrepo  
chown -R weby:clientx /var/clients/clientx/weby/svn  
chmod -R 770 /var/clients/clientx/weby/svn

Compartir y Asegurar el Repositorio

Usaremos apache para compartir y asegurar el acceso a nuestro repositorio y, aunque los pasos de compartir son siempre los mismos, tenemos tres opciones para asegurar el repositorio.

  1. Repositorio Público - Un repositorio público significa que cualquier usuario puede descargar y navegar (checkout) y subir (commit) archivos en cualquier momento sin restricciones. Esta generalmente no es una forma recomendada de implementar un repositorio, ya que puede llevar al vandalismo de tu código.
  2. Repositorio Compartido - Un repositorio ‘compartido’ significa que cualquiera puede descargar y navegar (checkout) el código, pero solo los usuarios autorizados pueden hacer commits al repositorio. Este es el método más común de asegurar un repositorio, similar a cómo sitios como Sourceforge y Google Code comparten datos.
  3. Repositorio Privado - Un repositorio privado significa que cualquier acción contra el repositorio requiere un usuario autenticado y es útil cuando el código no está destinado a ser compartido o ser de código abierto.

Suponiendo que elijas un repositorio compartido o privado, necesitarás crear el archivo de contraseñas que almacena los nombres de usuario y contraseñas de los usuarios ‘autorizados’ (para agregar usuarios adicionales, omite la opción ‘-c’ del comando).

htpasswd -c /var/clients/clientx/weby/svn/myrepo.passwd [username1] <-- se te pedirá que ingreses una contraseña para username1

Finalmente, necesitas agregar la directiva apropiada para decirle a Apache qué hacer cuando un usuario solicita http://example.com/svn/myrepo. Dependiendo del método de seguridad que desees usar, copia la directiva apropiada a continuación y pégala en el cuadro de ‘Directivas de Apache’, en la pestaña ‘Opciones’ de tu sitio en ISPConfig (no olvides corregir los directorios con los valores apropiados de x e y).

Repositorio Público

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
    

Repositorio Compartido

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
        AuthType Basic  
        AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd  
          
            Require valid-user  
          
    

Repositorio Privado

      
        DAV svn  
        SVNPath /var/clients/clientx/weby/svn/myrepo  
        AuthType Basic  
        AuthName "Indemnity83 Scripts"  
        AuthUserFile /var/clients/clientx/weby/svn/myrepo.passwd  
        Require valid-user  
    

Puede tardar un minuto en que el sitio comience a funcionar una vez que realices los cambios, pero en este punto deberías tener un repositorio de Subversión funcionando y asegurado. Si deseas agregar más, simplemente repite todo comenzando desde ‘Crear un Repo(sitorio)’

Gracias

Espero que encuentres útil este tutorial. No dudes en agregar comentarios o correcciones.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.