- WebDAV:
El servidor de Subversion basado en Apache utiliza el protocolo WebDAV que se utiliza por muchos otros programas. Por ejemplo, podría montar dicho repositorio como una “Carpeta web” en el explorador de Windows y luego acceder a ella como cualquier otra carpeta en su sistema de archivos. - Navegando por el repositorio:
Puede apuntar su navegador a la URL del repositorio y navegar por sus contenidos sin tener un cliente de Subversion. Esto da acceso a sus datos a un mayor círculo de usuarios. - Autentificación:
Puede utilizar cualquier mecanismo de autentificación que Apache soporte, incluyendo SSPI y LDAP. - Seguridad:
Dado que Apache es muy estable y seguro, automáticamente obtendrá la misma seguridad para su repositorio. Esto incluye la encriptación SSL
Instalación
Para instalar Subversion en el servidor instalado anteriormente, se ejecuta el siguiente comando, que instala el servidor Subversion y las herramientas necesarias para gestionarlo:
#apt-get install suvbersion subversion-tools
El siguiente paso es instalar el servidor apache, que ya debería de encontrarse instalado, y los módulos necesarios:
# apt-get install apache2 libapache2-svn
Configuración Subversion
Creación del repositorio, se comienza creando la carpeta donde se almacenaran los repositorios, dentro de /srv:
# mkdir /srv/svn
A continuación se crea el primer repositorio, de nombre repo01, mediante el comando svnadmin.
# svnadmin create --fs-type fsfs /srv/svn/repo01
Ahora se va generar un grupo,de nombre Subversion , al cual se van a añadirlos usuarios permitidos:
# groupadd subversion
# usermod –a –Gsubversion nombreusuario1
# usermod –a –Gsubversion nombreusuario2
Y se asignan los permisos al grupo para que pueda tener acceso a los repositorios.
# chown -R www-data:subversion /srv/svn/*
# chmod -R 770 /srv/svn/*
Configuración de apache
Se habilitan los módulos necesarios mediante el comando a2enmod.
# a2enmod dav
# a2enmod dav_svn
Se añaden los usuarios al archivo de validación, la primera vez que se ejecuta el comando htpasswd se utiliza el parámetro –c para que cree el archivo, si se añaden nuevos usuarios y se mantiene el parámetro –c se volverá a crear y se perderán los usuarios añadidos anteriormente.
# htpasswd -c /etc/apache2/dav_svn usuario1
# htpasswd /etc/apache2/dav_svn usuario2
Ahora se edita el fichero que gestiona el modulo de apache, se puede editar con cualquiera de los editores instalados en el sistema como pueden ser vi, pico, joe…
# pico /etc/apache2/mods-available/dav_svn.conf
Se añada la siguiente configuración:
1: <Location /svn>
2: DAV svn
3: SVNListParentPath on
4: SVNParentPath /srv/svn
5: #SVNIndexXSLT "/svnindex.xsl"
6: AuthType Basic
7: AuthName "Repositorios de Subversion"
8: AuthUserFile /etc/apache2/dav_svn.passwd
9: #AuthzSVNAccessFile svnaccessfile
10: Require valid-user
11: </Location>
A continuación se muestra una tabla con una descripción del contenido del fichero de configuración.
Elemento | Descripción |
<Location /svn></Location> | Entre estas etiquetas se introduce la configuración. También indica la dirección http donde se encontraran los repositorios. |
DAV svn | Indica a apache que módulo será el encargado de servir esa url |
SVNListParentPath on | Habilita el listado de todos los repositorios, de lo contrario es necesario añadir el nombre del repositorio tras la url, /svn/repo01, para poder acceder a ellos de forma individual. Por defecto se encuentra a off. Disponible a partir de Subversion 1.3. |
SVNParentPath /srv/svn | Indica la dirección del sistema donde debe de comenzar a buscar hacia abajo los repositorios. |
SVNIndexXSLT "/svnindex.xsl" | Utilizado para mejorar la presentación en el navegador web. Debe de encontrase en el directorio raíz de documentos. |
AuthType Basic | Se utiliza para activar la autentificación básica, es decir, Usuario/contraseña |
AuthName "Repositorios de Subversion" | Se utiliza cuando le aparezca un diálogo de autentificación al usuario como información para decirle para qué se necesita su autentificación. |
AuthUserFile
/etc/apache2/dav_svn.passwd |
Especifica el archivo de contraseñas utilizado para la autentificación. |
AuthzSVNAccessFile | Lugar del archivo de acceso para las rutas dentro del repositorio de Subversion, de tal forma que se pueda especificar de forma individual para cada repositorio que usuarios tienen permisos. Si no se utiliza, todos los usuarios podrán acceder a todos los repositorios. |
Require valid-user | Especifica que únicamente los usuarios validados mediante usuario/contraseña pueden acceder a los repositorios. |
<LimitExcept GET PROPFIND OPTIONS REPORT>
|
Encerrando la directiva Require valid-user dentro de esta anotación se permite a cualquier usuario anónimo acceder y visualizar los repositorios pero solo los usuarios validados podrán realizar cambios en ellos. |
Por último se reinicia el servidor apache para que se apliquen los cambios.
# /etc/init.d/apache2 restart
Ahora se puede acceder a la url http://devserver/svn (donde devserver es el nombre o la ip del servidor) y se accederá al listado de repositorios.
0 comentarios:
Publicar un comentario