Ya está… CONSEGUIDO!
Como habéis podido comprobar en los anteriores posts (para ser más concretos los dos últimos) he cambiado de Servidor y en estos momentos tengo instalada una distribución Linux Debian Lenny.
Como podréis imaginar a un buen programador no le puede faltar un Repositorio de Versiones, en este caso he instalado nuevamente el Subversion siguiendo los pasos de un Post que ya escribí en su tiempo, pero sólo tenéis que añadir una modificación en el siguiente comando:
sudo svnadmin create /home/<nombreDirectorio>
Hay que añadir la opción: –fs-type fsfs. Por lo tanto, el comando quedaría de la siguiente forma:
sudo svnadmin create --fs-type fsfs /home/<nombreRepositorio>
Sabiendo esto, ya podéis seguir las instrucciones de este Post:
Instalar un Repositorio Subversion en Ubuntu con WebDav
Ya sé que el Post para instalar un Respositorio Subversion era para una distribución Ubuntu, pero estos mismos pasos me han servido para instalar satisfactoriamente el Subversion en mi nueva distribución Debian. Lo que voy a explicar ahora de nuevo es como activar el módulo websvn que contiene una interfaz más amigable, funciones de comparación, histórico,… como de un cliente subversion se tratase pero disponible en formato Web (programada con php).
Instalar WebSVN en Linux Debian Lenny, Ubuntu…
Simplemente hay que comprobar si tenemos disponibles en nuestros repositorios linux el paquete websvn. Lo podremos comprobar ejecutando el siguiente comando en una terminal:
sudo aptitude search websvn
p websvn - interface for subversion repositories written in PHP
Si véis que hay una “i” en vez de una “p” justo al incio de la línea querrá decir que está instalado, en caso contrario no. Para instalar el WebSVN también será necesaria la instalación de otro paquete adicional llamado: enscript. Por lo tanto vayamos a instalar los dos paquetes poniendo los siguientes comandos:
sudo aptitude install enscript
sudo aptitude install websvn
Ahora viene cuando deberemos configurar el websvn para que funcione con nuestro respositorio.
KIT-KAT: Tengo que mencionar que dentro de un mismo directorio podremos tener varios Repositorios Instalados, por ejemplo, un repositorio para proyectos personales y otro para proyectos de invitados, FIN KIT-KAT
Ahora veamos las imágenes que nos ayudará a entender como configurar el WebSVN:
Imagen 1. Especificamos que deseamos configurar el webSVN
Imagen 2. Tenemos que indicar los módulos que deseamos configurar para el apache, yo he seleccionado todos
.
Imagen 3. Indicar la carpeta donde están situados los repositorios subversion, en este caso lo instalé en /var/SVN
Imagen 4. Ahora seleccionamos el nombre del repositorio que se tiene que mostrar, en este caso puse el nombre de subversion. Por lo tanto el directorio queda: /var/SVN/subversion.
Imagen 5. Finalmente el sistema de configuración del websvn nos avisa de los permisos que hay que asignarles al Repositorio y el tipo –fs-type fsfs para que todo funcione correctamente.
Si tenemos que añadir nuevos repositorios o configurar nuevamente el websvn sólo tendremos que ejecutar el siguiente comando en la terminal:
sudo dpkg-reconfigure websvn
Información sobre el WebSVN
Los datos más relevantes que se tienen que tener en cuenta sobre el websvn son:
- Esta programado con PHP4, por lo tanto, nuestro servidor necesitará soporte para php ![]()
- Podemos encontrar los ficheros de configuración en el directorio: /etc/websvn. Veamos cuales hay:
server:/etc/websvn# ls -l
total 28
-rw-r--r-- 1 root root 366 nov 21 22:36 apache.conf
-rw-r--r-- 1 root root 14834 feb 15 2009 config.php
-rw-r----- 1 root www-data 363 nov 21 23:49 svn_deb_conf.inc
-rw-r--r-- 1 root root 4003 feb 15 2009 wsvn.php
- El fichero “apache.conf” está referenciado en el fichero de configuración del Servidor Apache, en mi caso, con el nombre “apache2.conf”. Realmente no es que haya modificado el fichero, sino que al iniciar la configuración del WEBSVN ha creado un enlace símbolico en la carpeta conf.d del servidor Apache (por ejemplo: /etc/apache2/conf.d), en el que apunta al fichero situado en “/etc/websvn/apache.conf”.
- Si editamos el fichero mencionado (apache.conf) en modo lectura o escritura, podremos ver que hay Alias de Apache que hace referencia al directorio siguiente: /usr/share/websvn. Ahí podemos encontrar los siguientes ficheros Web del WebSVN:
/usr/share/websvn# ls -l
total 104
-rw-r--r-- 1 root root 6560 ago 13 2007 blame.php
lrwxrwxrwx 1 root root 17 nov 20 23:50 cache -> /var/cache/websvn
-rw-r--r-- 1 root root 11860 ago 13 2007 comp.php
-rw-r--r-- 1 root root 12667 ago 13 2007 diff.php
-rw-r--r-- 1 root root 3001 may 4 2007 dl.php
-rw-r--r-- 1 root root 4626 ago 13 2007 filedetails.php
-rw-r--r-- 1 root root 1995 may 2 2007 form.php
drwxr-xr-x 2 root root 4096 nov 20 23:50 include
-rw-r--r-- 1 root root 3632 jun 11 2007 index.php
drwxr-xr-x 2 root root 4096 nov 20 23:50 languages
-rw-r--r-- 1 root root 12810 ago 13 2007 listing.php
-rw-r--r-- 1 root root 12179 ago 13 2007 log.php
-rw-r--r-- 1 root root 4970 feb 15 2009 rss.php
lrwxrwxrwx 1 root root 21 nov 20 23:50 temp -> /var/cache/websvn/tmp
drwxr-xr-x 4 root root 4096 nov 20 23:50 templates
lrwxrwxrwx 1 root root 20 nov 20 23:50 wsvn.php -> /etc/websvn/wsvn.php
Aspecto – pantallazos del WebSVN en funcionamiento
Para que podáis comprobar si realmente vale la pena el esfuerzo de instalar el WebSVN en vuestro servidor (local o no), os dejo unos pantallazos de un subversion que lo monté en mi servidor local Debian.
Saludos a tod@s










Excelente post! gracias por tu aporte.
Acabo de montar en mi servidor debian la aplicación webSvn pero veo que la configuración no exige autenticación a los usuario a la hora de ver las páginas web.
¿Cómo puedo incluir un esquema de autenticación a mi repositorio para que no sea tan facilmente visible desde la web?
Te digo la verdad???
Lo intenté, porque si accedes al repositorio mediante WebDAV si que hay autenticación, gracias a, que en la configuración indicamos:
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
Pero con el websvn, aunque tenga configurado así el WebDAV, no me pide authenticación. Lo miraré más detenidamente así nos servirá a ambos.