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-svnCrear 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/svnA 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/svnCompartir 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.
- 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.
- 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.
- 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 username1Finalmente, 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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.