meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


Partimos de un Centos 5.4 64 bits ya instalado

Instalar el servidor de Subversion

yum install subversion

Para comprobar que la versión de subversion es la correcta ejecuta

svn --version

Configurar Apache

Configuramos apache para que se puedan conectar al repositorio por Webdav

yum install mod_dav_svn

Instalamos el mod_dav_svn para apache

vi /etc/httpd/conf.d/subversion.conf

Buscamos en el fichero de configuración las siguientes líneas y descomentarlas o bien añadirlas

      LoadModule dav_svn_module                  modules/mod_dav_svn.so
      LoadModule authz_svn_module                modules/mod_authz_svn.so

      
<Location /svn> #Este parámetro es donde ponemos el nombre para acceder en este caso http://dominio/svn
   DAV svn
   SVNParentPath /var/svn
      AuthType Basic #pedimos autentificación
      AuthName "Repositorio Subversion"
      AuthUserFile /etc/subversion/svn-auth-file
      Require valid-user
      AuthzSVNAccessFile /var/svn/aclfile #creamos un fichero con los permisos de cada usuario para ese repositorio

</Location>
      

Crear el repositorio Subversion

mkdir /var/svn/
mkdir /var/svn/repositorio1

Crearemos el directorio svn/nombrerepositorio en /var/, donde se alojarán los repositorios de subversion

svnadmin create /var/svn/repositorio1

Instalamos un repositorio en ese directorio mediante el comando svnadmin create

chmod -R 777 /var/svn/repositorio1 

Muy importante es dar permisos de escritura a este directorio. Si no es así, apache no podrá modificar estos archivos y por tanto, los commits nunca funcionarán.

también podemos darle permisos al grupo apache en vez de a todos los usuarios
chown -R apache:apache /var/svn
chmod 755 /var/svn

Crear usuarios

htpasswd -c /etc/svn-auth-file usuario1

La aplicación htpasswd crea un archivo en /etc/svn-auth-file e introduce un usuario con nombre usuario1

Si queremos crear más usuarios, no debemos usar la opción -c, ya que esta crea un nuevo fichero, sobreescribiendo el anterior. Para el segundo y siguientes usuarios, usaremos
htpasswd /etc/svn-auth-file usuario2

.

Si queremos borrar un usuario, podemos editar el fichero o usar la opción -D mayúscula.

Reiniciamos el servidor apache

/etc/init.d/httpd restart

y desde un navegador web ponemos http://ip_o_nombre/svn.

Limitar permisos

En el ejemplo de fichero de configuración subversion.conf habiamos añadido una línea

 AuthzSVNAccessFile /var/svn/aclfile

Es decir creamos primero un fichero “aclfile” y añadimos los permisos para cada usuario, por ejemplo

#fichero de permisos aclfile
[calc:/svn/repositorio1]
usuario1: rw 
usuario2 :r 

Referencias