Nuevo paquete SVN oficial

Esta tarde, realizando un mantenimiento de rutina a mi DS109+ me he llevado una grata sorpresa al ver que Synology había sacado este agosto un SPK para poder montar un servidor SVN en nuestros equipos. Una pena que no le hayan dado un poco más de publicidad.

Aunque la instalación que detallé con anterioridad funciona perfectamente y sin problemas, creo que es mucho mejor si podemos tener la aplicación en forma de SPK, ya que esto implica (y más si es oficial) la inclusión de una interfaz de configuración así como la facilidad de aplicar actualizaciones, las cuales seguramente sean más frecuentes que si tiramos de los repositorios de Optware.

Continuar leyendo “Nuevo paquete SVN oficial”

Instalar WebSVN

WebSVN es una forma sencilla y practica de consultar nuestros repositorios SVN (tanto locales como remotos). Hace un tiempo vimos como instalar el servicio SVN en nuestro Synology. Activar el WebSVN es muy sencillo.

1. Activamos el servicio Web Station en nuestro NAS (Panel de Control)

2. Aprovechamos y en la pestaña “PHP Settings” marcamos la ultima casilla para personalizar el open_basedir y en la caja de texto añadimos al final:

:/opt/bin

3. Descargamos WebSVN de su web oficial y lo copiamos a la carpeta compartida web de nuestro NAS, que es la que se usa para el servicio http cambiando el nombre de la carpeta por websvn.

4. En la carpeta que hemos descomprimido, dentro de include cambiamos el nombre de distconfig.php por config.php

5. Editamos este config.php y añadimos estas lineas personalizando la segunda para que incluya los datos de nuestro repositorio:

$config->setSVNCommandPath('/opt/bin');
$config->addRepository('NombredelRepositorio', 'svn://localhost/nombredelrepositorio', null, 'usuario', 'password');

6. En este archivo tenéis todas las opciones para configurar WebSVN, leedlo de arriba a abajo para ver todo lo que podéis configurar.

7. Accedemos con nuestro navegador a http://ipdenuestroNAS/websvn

Instalando SVN

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.