cablop.net – Software Tips

Tips de software, hardware… y algo más

Skip to: Content | Sidebar | Footer

Como configurar Subversion (SVN) en Apache 2 sobre Ubuntu

29 Agosto, 2009 (10:42) | Apache 2, SVN, Ubuntu | By: 天龙

Este post esta basado en este Subversion over Apache 2 on Ubuntu, en inglés.

Subversion o (SVN) es una poderosa herramienta de control de versiones (para desarrollo, diseño e incluso documentos) que puede instalarse sobre el servidor Apache 2 y esto en Ubuntu se logra con unos sencillos pasos.

Primero, el trasfondo.

Asumiremos que se tiene instalado Apache 2 en el sistema Ubuntu entonces procederemos paso a paso a ir instalando y configurando lo demás.

Instalación de Subversion y mod para Apache

Esto lo logramos con la línea:

sudo apt-get install subversion libapache2-svn

El módulo emplea WebDAV para trasmitir los archivos a Subversion, esto nos facilitará mucho las cosas ya que emplearemos el mismo puerto 80 empleado por Apache 2.

Ahora procedemos a habilitar el módulo (aunque esto teóricamente se hace por defecto al instalarlo).

sudo a2enmod dav_svn

Creación de un repositotio SVN

Crearemos el repositorio y su estructura.

sudo mkdir /ruta/local/al/repositorio
sudo svnadmin create /ruta/local/al/repositorio

Haremos que Apache 2 sea el propietario (owner) del repositorio recién creado

sudo chown -R www-data /home/svn

Y crearemos un archivo de contraseñas que emplearemos para restringir el acceso al repositorio

sudo htpasswd -cm /ruta/al/archivo_de_contraseñas.passwd nombre_del_usuario

La consola preguntará por la contraseña que desearemos asignar al usuario.

Si ya disponemos de un archivo existente y solo queremos agregar un nuevo usuario entonces el comando que necesitaremos es:

sudo htpasswd -m /ruta/al/archivo_de_contraseñas.passwd nombre_del_nuevo_usuario

Ahora, editaremos el archivo /etc/apache2/mods-enabled/dav_svn.conf

En la consola lo consegumos mediante

sudo nano /etc/apache2/mods-enabled/dav_svn.conf

Y en el entorno gráfico mediante:

sudo -b gedit /etc/apache2/mods-enabled/dav_svn.conf

Tendremos que añadir las siguientes líneas al archivo por cada repositorio que deseemos instalar:

<Location /ruta/en/url/al/repositorio>
DAV svn
SVNPath /ruta/local/al/repositorio
 
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /ruta/al/archivo_de_contraseñas.passwd
Require valid-user
</Location>

Naturalmente debemos remplazar /ruta/en/url/al/repositorio, /ruta/local/al/repositorio y /ruta/al/archivo_de_contraseñas.passwd por las ubicaciones y archivos reales que vamos a emplear.

Y por último debemos reiniciar el servidor Apache 2

sudo /etc/init.d/apache2 restart

Hemos terminado

Podemos comprobar que el repositorio está funcionando en nuestro navegador web:

http://nuestro.servidor/ruta/en/url/al/repositorio

Y el navegador nos preguntará por nuestras credenciales de acceso (el nombre que dimos anteriormente y la contraseña que le asignamos).

Write a comment





To submit your comment, click the image below where it asks you to... Clickcha - The One-click Captcha