Instalar Subversion en Ubuntu
De UNALIX
Autor Miguel Cabrera. BETA
Esta es una mini-guía de como instalar y poner en marcha un servidor Subversion y hacer un repositorio publico a través de el modulo WebDav de Apache 2 usando Ubuntu. Este procedimiento fue probado en Ubuntu 5.04 (Hoary) - (En teoría debería funcionar en Breezy y Dapper también).
Contenido |
Prerequisitos
Tener corriendo y configuarado el Apache 2. Esta es una mini-guia, si quieres aprender como configurar este servidor web, seguro encontrarás mucha documentacion en la Red.
Instalando Subversion y mod_dav_svn
Apache puede darnos acceso a nuestros repositiorios de subversion, esto lo hace mediante protocolo WebDAV/DeltaV. Necesitamos tener configurado el modulo de apache para Webdav (mod_dav) y aparte de esto necesitamos un módulo especial llamado mod_dav_svn que es el que permite que Subversion y Apache se acoplen.
Instalar Subversion, subversion-tools y mod_dav_svn
[ceruno@taganga~/] sudo apt-get install subversion subversion-tools libapache2-svn
Sí, así de sencillo.
Configurando Apache
Habilitando mod_dav y mod_dav_svn
[ceruno@taganga~/] sudo ln -s /etc/apache2/mods-available/dav.load /etc/apache2/mods-enabled/
Si los enlaces simbolicos a dav_svn.conf y dav_svn.conf no existen en el directorio /etc/apache2/mods-enabled/ entonces.
[ceruno@taganga~/] sudo ln -s /etc/apache2/mods-available/dav_svn.load /etc/apache2/mods-enabled/ [ceruno@taganga~/] sudo ln -s /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-enabled/
Las configuraciones que traen estos ficheros, serviran out of the box. Si necesitas configuraciones avanzadas te recomiendo que el eches un vistazo a la documentación de Apache y al libro de Subversion
Haciendo público el repositorio
Suponiendo que ya hemos creado el repositorio, en mi caso, en /home/ceruno/svn/repo1. A continuación, temos que idicarle a Apache donde se encuentra nuestro repositorio, para ello editamos el archivo de configuración de Apache (/etc/apache2/apache2.conf) y le agragamos la siguiente directiva:
<Location /svn> DAV svn SVNParentPath /home/ceruno/svn </Location>
De esta manera, que es mi favorita, el modulo DAV se encaraga de administrar cualquier repositorio SVN que se encuntre bajo /home/ceruno/svn, esto nos ofrece la ventaja de que podemos agregar nuevos repositorios SVN sin necesidad de modificar el archivo de configuración del Apache.
Autenticación de Usuarios
Hasta el momento podemos acceder al repositorio "anonimamente", es decir, tenemos permiso de solo lectura sin necesidad de autenticarnos. Esto puede ser util, pero la mayoria de las veces desearemos enviar los cambios hechos al proyecto a nuestro repositorio; para esto necesitamos alguna manera identificarnos con el sistema. Bueno, como debes imaginar Apache ya tiene esto cubierto.
Para crear usuarios que puedan modificar el repositorio usamos el sistema de contraseñas del Apache, es decir, debemos crear un archivo de usaurios/contraseñas y luego indicarle al Apache donde se encuentra ese archivo. vamos a crear un par de usuarios utilizando la herramienta htpasswd (-c es para crear el archivo).
[ceruno@taganga~/] htpasswd -cm /home/ceruno/etc/svn-auth nelson New password:***** Re-type new password:***** [ceruno@taganga~/] htpasswd -m /home/ceruno/etc/svn-auth jorge New password:***** Re-type new password:*****
Listo! ahora solo falta añadirle las directivas al archivo de configuración del Apache.
<Location /svn> DAV svn SVNParentPath /home/ceruno/svn/ AuthType Basic AuthName "Subversion repository" AuthUserFile /home/ceruno/etc/svn-auth <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
La opción LimitExcept sirve para evitar autenticarse si lo que se desea es un acceso de solo lectura.
Enlaces
- Subversion
- Libro de Subversion
- Apache Apache
- documentación de Apache
- Configure Apache SSL and Subversion in Debian in 683 seconds por Nelson Castillo (Arhuaco).
Bueno, hasta aquí la guia de instale Subversion en Ubuntu para Dummies. Cualquier comentario, error, cartas de amor o muestras de devoción puedes escribirme a mfcabrera at gmail dot com.
