Primer paso: Instalación de las herramientas necesarias
Instalamos los paquetes que nos hacen falta para crear repositorios:
sudo apt-get install subversion subversion-tools
Necesitamos dos módulos de apache instalados en nuestro servidor, si haremos uso de svn a través de internet… (obvio, al menos para mí)
Los módulos son dav y dav_svn. Para comprobar que los tenemos:
a2enmod dav
a2enmod dav_svn
Si no estaban instalados, los instalamos:
sudo apt-get install libapache2-svn
Segundo paso: Creación de grupos y usuarios permitidos
Creamos un grupo subversion para manejar fácilmente los permisos
sudo groupadd subversion
Añadimos a dicho grupo los usuarios que queremos que usen de algún modo nuestro servidor
sudo usermod -G subversion user1 sudo usermod -G subversion user2 sudo usermod -G subversion user3
Ahora pasamos a crear los ficheros de acceso, que guardan los nombres y contraseñas de esos usuarios que harán uso del repositorio:
sudo htpasswd -c /etc/apache2/dav_svn.passwd user1 sudo htpasswd /etc/apache2/dav_svn.passwd user2 sudo htpasswd /etc/apache2/dav_svn.passwd user3
El primero lleva -c por la simple razón de que crea el fichero. Los demás se añaden a él.
Cada vez que introduzcamos un usuario, se nos pedirá su nueva contraseña.
Tercer paso: Creación de un repositorio
Ahora creamos la carpeta donde ubicaremos el repositorio:
sudo mkdir /home/SVN sudo svnadmin create /home/SVN
Y le damos los correspondientes permisos
sudo chown -R www-data:subversion /home/SVN/ sudo chmod -R 770 /home/SVN/
Cuarto paso: Configurando Apache para los repositorios
Pasamos a configurar el fichero que gestiona el módulo de apache para el svn:
sudo gedit /etc/apache2/mods-available/dav_svn.conf
Dentro ponemos esta configuración:
##
# SVN
#
<Location /svn>
DAV svn
SVNPath /home/SVN
AuthType Basic
AuthName "Repositorio Subversion del proyecto"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Si queremos quitar el modo lectura a cualquiera, porque nuestro proyecto sea confidencial o no queramos que sea visto desde fuera, basta reemplazar la sección:
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
por
Require valid-user
Reiniciamos el servicio de apache para que nos arranque con los cambios introducidos.
sudo /etc/init.d/apache2 restart
Notas finales
Si queremos añadir usuarios a nuestros repositorios:
sudo htpasswd /etc/apache2/dav_svn.passwd otro_usuario
Si queremos crear nuevos repositorios repetiremos todo desde el tercer paso, creando fichero de contraseñas con otro nombre (seguridad), añadiendo al final del fichero /etc/apache2/mods-available/dav_svn.conf la configuración del nuevo servidor (seguramente cambia el path al fichero de contraseñas y el path al propio repositorio.
fuente: http://www.lopst.com



















