Instalando Subversion SVN con WebSVN, Apache2 y DAV en Sistamas basados en Debian
16 August 2007El titulo en ingles para google “Installing Subversion SVN with WebSVN, Apache2 and DAV on Debian based system”
Proposito del How to:
Este how to es una forma de instalar y configurar Subversion y WebSVN en un linux basado en Debian con las siguientes caracteristicas:
-Multiples Repositorios
-Acceso a los repositorios via WebDAV
-Control de Acceso via Apache
-WebSVN securizado (Aplicacion php para busquedas faciles sobre los repos)
Instalando Apache2 con PHP5
De esta forma instalamos los paquetes necesarios de apache y php5:
apt-get install apache2 apache2.2-common apache2-mpm-worker apache2-utils php5
Instalando Subversion:
Paquetes de Subversion
Usar los siguientes comandos para instalar los paquetes necesarios para Subversion:
sudo apt-get install subversion libapache2-svn
Creando y Publicando repositorios:
Utilizar el siguiente comando para crear un repositorio:
sudo svnadmin create /path to some directory/new-project/
Una buena practica seria tener todos los repositorios en el mismo sitio, por ejemplo en /opt/svn/ (/opt/svn/repositorio)
Corregir los permisos del repositorio y darle acceso solo al usuario de apache:
chmod -R 775 /svn/new-project
chown -R www-data:www-data /svn/new-project
Configurando Apache
Ahora es el momento de configurar apache, abrir el archivo /etc/apache2/mods-available/dav_svn.conf y agregar un nuevo “directorio virtual” que haga referencia al repositorio de esta manera:
<location /new-project>
DAV svn
SVNPath /svn/new-project
AuthType Basic
AuthName "new-project"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</location>
Crear un nuevo archivo de usuarios:
CUIDADO, este comando se debe utilizar al crear el 1er usuario:
htpasswd2 -c /etc/apache2/dav_svn.passwd nombre_usuario
Para agregar o cambiar el passowrd utilizar el siguiente comando:
htpasswd2 -m /etc/apache2/dav_svn.passwd username
New password: password
Re-type new password: password
Adding password for user username
Despues de agregar un nuevo usuario hay que agregarlo en el archivo de autorizados a modificar y agregar codigo:
Permisos de Usuarios:
En el archivo /etc/apache2/dav_svn.authz, agregar el usuario en el repositorio correspondiente en la seccion [repositorio:/].
por ejemplo:
[repositorio:/]
esteban.lopez = rw
hernan.dominguez = r
tambien se pueden generar grupos de usuarios de esta forma:
[groups]
users = esteban.lopez,hernan.dominguez
y el repo quedaria asi:
[repositorio:/]
@users = rw
Se podra acceder al repositorio via web usando la url: http://server:port/repositorio/
Despues de todos estos cambios, se debe reiniciar apache con el siguiente comando:
apache2ctl restart
Hola,
buen post, pero tengo un problema, no puedo ver la lista de repositorios, en tanto que si puedo ingresar al repositorio.Tengo esto en mi httpd.conf:
[code]
DAV svn
SVNParentPath “C:/svn”
SVNListParentPath on
SVNIndexXSLT “/svnindex.xsl”
##
Satisfy Any
AuthType Basic
AuthName “Repositorio Subversion”
AuthUserFile “M:/Archivos de programa/Apache Software Foundation/Apache2.2/bin/.htpasswd”
AuthzSVNAccessFile “M:/Archivos de programa/Apache Software Foundation/Apache2.2/bin/control_acceso.txt”
Require valid-user
##
[/code]
Y en control_acceso.txt tengo:
[code]
[/]
*=r
[ProyectoI:/]
jose=rw
david=rw
[/code]
Que crees que pueda ser.
Gracias por tu atencion.
Hola,
buen post, pero tengo un problema, no puedo ver la lista de repositorios, en tanto que si puedo ingresar al repositorio.Tengo esto en mi httpd.conf:
DAV svn
SVNParentPath "C:/svn"
SVNListParentPath on
SVNIndexXSLT "/svnindex.xsl"
##
Satisfy Any
AuthType Basic
AuthName "Repositorio Subversion"
AuthUserFile "M:/Archivos de programa/Apache Software Foundation/Apache2.2/bin/.htpasswd"
AuthzSVNAccessFile "M:/Archivos de programa/Apache Software Foundation/Apache2.2/bin/control_acceso.txt"
Require valid-user
##
Y en control_acceso.txt tengo:
[/]
*=r
[ProyectoI:/]
jose=rw
david=rw
Que crees que pueda ser.
Gracias por tu atencion.
Ahora si.disculpa tanto texto.
Add A Comment