Estos son los pasos para habilitar SVN por http:
sudo apt-get install libapache2-svn
- Usar a2enmod para habilitar los siguientes modulos de apache:
- dav_module
- fs_module
- dav_svn_module
- authz_svn_module
- Crear el repositorio
svnadmin create /var/svn
- Agregar esto a la configuración de apache (Yo lo puse en /etc/apache2/sites-available/svn):
<Location /svn> DAV svn SVNPath /var/svn AuthType Basic AuthName "SVN Repository" AuthUserFile security/svnpasswd Require valid-user </Location>
- Crear un directorio para guardar el archivo de las contraseñas
sudo mkdir /etc/apache2/security
- Agregar usuarios:
sudo htpasswd svnpasswd usuario
- NO poner el repositorio dentro del DocumentRoot de Apache. Esto crea conflictos.
- Para crear el working copy dentro del servidor, usar file:// para el URL, no http://. De lo contrario, saldrán errores como este:
svn: Commit failed (details follow): svn: Processing MERGE request response failed: Element type "http:" must be followed by either attribute specifications, ">" or "/>". (/svn/proyecto/trunk/) svn: MERGE request failed on '/svn/proyecto/trunk'