Partiendo de la base de que tenemos el Bootstrap instalado, para poder disponer de un servidor SVN en nuestro NAs, basta seguir estos sencillos pasos:
1- Creamos un usuario para el servicio SVN desde la interfaz web (Ej. svnowner)
2- Creamos un directorio compartido donde guardar los datos (Ej. /volume1/svn) y damos permisos de lectura y escritura solo al usuario creado en el paso anterior. Por comodidad, vamos a utilizar la «home» del usuario que hemos creado, por tanto los repositorios se almacenarán en /volume1/homes/svnowner
3- Instalamos SVN y dependencias:
ipkg install svn
4- Configuramos inetd para lanzar SVN cuando sea necesario. Tenemos que editar el archivo /etc/inetd.conf añadiendo la siguiente linea:
svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/homes/svnowner
5- Añadimos un par de lineas al archivo /etc/services
svn 3690/tcp # Subversion
svn 3690/udp # Subversion
6- Reiniciamos
7- Creamos un repositorio (repetir pasos 7, 8 y 9 para crear varios repositorios):
su svnowner
cd /volume1/homes/svnowner
svnadmin create repositoriodeprueba
Si nos diese algún error al hacer el comando su, editamos el archivo /etc/passwd, buscamos la linea en que aparece «svnowner» y reemplazamos «/sbin/nologin» por «/bin/ash«. Repetimos el comando su a continuación.
8- Creamos las cuentas de acceso al repositorio editando el archivo /volume1/homes/svnowner/repositoriodeprueba/conf/passwd. Aqui definimos el nombre de usuario y contraseña para acceder a dicho repositorio. Introducimos el nombre de usuario y la contraseña en el siguiente formato:
[users]
usario1 = password1
usuario2 = password2
9- Establecemos los permisos de acceso al repositorio a nuestro gusto editando el archivo /volume1/homes/svnowner/repositoriodeprueba/conf/svnserve.conf. Por ejemplo podemos añadir/cambiar estos puntos para inhabilitar el acceso anónimo y utilizar las cuentas definidas en el paso anterior:
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = Repositorio de Prueba
Si definimos «anon-access» como «read» se podrán ver los contenidos del repositorio pero no modificar nada a menos que indiquemos uno de los usuarios definidos.
10- Ya podemos usar nuestro repositorio a nuestro gusto. Para conectarnos, debemos usar esta dirección: «svn://IP_de_nuestro_nas/repositoriodeprueba«. No voy a entrar en detalles de como funciona SVN. Si usáis Windows os puedo recomendar TortoiseSVN como cliente de acceso y la lectura del libro de SVN para saber exprimir el servidor al máximo.