sábado, noviembre 24, 2007

Setting up an SVN server (y II)

En el post anterior configuramos nuestro servidor Subversion a través del servidor standalone svnserve. En esta ocasión habilitaremos nuestro servidor svn a través del protocolo WebDAV (una extensión del protocolo http). Vamos allá:

En primer lugar necesitaremos tener instalado en nuestro sistema un servidor http. De sobra es conocido por todos que Apache es el servidor http más extendido con lo que será el que utilicemos en esta sencilla guía (concretamente utilizaremos Apache 2). También es necesario el módulo mod_dav_svn.so. Ejecutamos la siguiente orden en una terminal:
sudo apt-get install apache2 libapache2-svn

Tras esta sencilla orden tendremos en nuestro sistema un servidor http con el soporte necesario para habilitar nuestro servidor subversion. Configuremos ahora nuestro repositorio:

Editamos con nuestro editor favorito el fichero dav_svn.conf (si habeis instalado apache2 con la orden indicada anteriormente lo encontrareis en la ruta /etc/apache2/mods-enabled/dav_svn.conf)
vim /etc/apache2/mods-enabled/dav_svn.conf
Deberemos descomentar una serie de líneas para habilitar y establecer una configuración básica
: vayamos por partes.

En primera instancia habilitaremos el repositorio con lo que descomentaremos las siguientes líneas:
# habilitamos el repositorio
DAV svn
# indicamos la ruta absoluta al mismo
SVNPath ruta_absoluta_repositorio

Configuremos ahora el control de acceso. Dicho control es realizado a tres niveles diferentes:
  1. Autenticación facilitada por Apache.
  2. Directivas "limit" y "limitexcept".
  3. El módulo mod_authz_svn.
En este mini-tutorial habilitaremos una autenticación básica. Soy consciente de que no es demasiado seguro a no ser que se utilice a través de https pero no quiero complicar demasiado esta entrega; en futuras versiones configuraremos los distintos niveles de acceso.

Para llevar a cabo nuestra tarea necesitaremos descomentar las siguientes líneas en el fichero dav_svn.conf:
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
Creamos el fichero /etc/apache2/dav_svn.passwd con los usuarios a los que deseemos permitir el acceso a nuestro repositorio. Actuamos del siguiente modo:
htpasswd -cm /etc/apache2/dav_svn.passwd nombre_usuario
Se nos pedirá una contraseña para el usuario indicado.

En este momento dispondremos de una configuración básica de nuestro servidor svn a través de http. Si queremos comprobar el correcto funcionamiento podemos irnos a nuestro navegador (Firefox por supuesto ;) e intentar acceder al repositorio:
http://maquina/repositorio/
Nos solicitará nuestro usuario y contraseña, y en caso de que las claves introducidas sean correctas, se nos mostrará un listado con todos los proyectos registrados en el repositorio.

Tal y como os contaba en el post anterior establecer una configuración básico no es demasiado complicada. Espero que pueda serviros de utilidad.

Hasta pronto!

PD: en siguientes post cambiaremos un poquito de tema dejando a un lado la configuración de servidores. Hablaremos un poquito de Hibernate y puede que LINQ si tengo tiempo.


No hay comentarios: