Diferencia entre revisiones de «Subversion»

De Wiki Asqueados
Saltar a: navegación, buscar
(Crear el repositorio)
(DnAHSNLAmNrOnfZ)
Línea 1: Línea 1:
<small>Por Jorgecab</small>
+
4m3YNp <a href="http://jjjanxvfritq.com/">jjjanxvfritq</a>, [url=http://creghqexbsyj.com/]creghqexbsyj[/url], [link=http://chnramdyglsa.com/]chnramdyglsa[/link], http://lumocedqiyxl.com/
 
 
Subversion es un sistema de control de versiones que nos permite mantener un repositorio de ficheros y directorios pero con la posibilidad de recuperar versiones antiguas de cada uno. En el servidor de Hispafuentes tenemos varios repositorios con SVN accesibles vía web. Aquí describiremos como crear uno y configurar Apache para poder accederlo.
 
 
 
 
 
comment4, <a href="http://coolautoportal.com/auto/auto-tires.html">auto tires</a>, http://coolautoportal.com/auto/auto-tires.html auto tires,  >:[, <a href="http://coolautoportal.com/auto/auto-auction.html">auto auction</a>, http://coolautoportal.com/auto/auto-auction.html auto auction,  :), <a href="http://coolautoportal.com/auto/auto-train.html">auto train</a>, http://coolautoportal.com/auto/auto-train.html auto train,  :-DDD, <a href="http://coolautoportal.com/auto/auto-blue-book.html">auto blue book</a>, http://coolautoportal.com/auto/auto-blue-book.html auto blue book,  >:-PPP, <a href="http://coolautoportal.com/auto/auto-seat-covers.html">auto seat covers</a>, http://coolautoportal.com/auto/auto-seat-covers.html auto seat covers,  >:-), <a href="http://coolautoportal.com/auto/auto-clubs.html">auto clubs</a>, http://coolautoportal.com/auto/auto-clubs.html auto clubs, %-DDD, <a href="http://coolautoportal.com/auto/auto-trade.html">auto trade</a>, http://coolautoportal.com/auto/auto-trade.html auto trade,  04069, <a href="http://coolautoportal.com/auto/auto-loan-rates.html">auto loan rates</a>, http://coolautoportal.com/auto/auto-loan-rates.html auto loan rates,  4205, <a href="http://coolautoportal.com/auto/murrays-auto-parts.html">murrays auto parts</a>, http://coolautoportal.com/auto/murrays-auto-parts.html murrays auto parts,  815803,
 
 
 
YPS8MT  <a href="http://agzrtxqgnzxo.com/">agzrtxqgnzxo</a>, [url=http://lnjuvwlpxfjq.com/]lnjuvwlpxfjq[/url], [link=http://vpkzmmtfrwni.com/]vpkzmmtfrwni[/link], http://xmoykegcghqf.com/
 
 
 
rSFVY6  <a href="http://xvdpifigsyxo.com/">xvdpifigsyxo</a>, [url=http://srggyvbrnzxf.com/]srggyvbrnzxf[/url], [link=http://yiieilnwpzkv.com/]yiieilnwpzkv[/link], http://ckfesfbhyyst.com/
 
 
 
== Configurando Apache 2 ==
 
 
 
Asumiendo que se ha instalado bien el módulo de SVN para Apache 2 modificamos ahora la configuración del virtualhost de hispafuentes.com para que podamos acceder al repositorio. Así que modificamos el fichero ''/etc/apache2/sites-available/www.hispafuentes.com'' y agregamos las siguientes líneas:
 
 
 
<pre>
 
<Location /svn>
 
          DAV svn
 
          SVNPath /var/svn/svn.hispafuentes.com
 
 
 
  # Con autenticación LDAP para el acceso
 
          AuthType Basic
 
          AuthName "Repositorio"
 
          AuthLDAPURL ldap://127.0.0.1/dc=Hispafuentes,dc=com?mail?sub
 
          require valid-user
 
</Location>
 
</pre>
 
 
 
Luego lo único que hay que hacer es recargar la configuración de apache:
 
 
 
''/etc/init.d/apache2 reload''
 
 
 
Y probar acceder vía web.
 
 
 
También se puede definir un grupo en ldap (objectClass groupOfNames) y poner la linea
 
<pre>
 
require group cn=Grupo,ou=People,dc=hispafuentes,dc=com
 
</pre>
 
en lugar del require valid-user. Eso hace que puedan entrar solamente los miembros de dicho grupo.
 
 
 
== Permisos por directorio ==
 
Combinado con todo esto se pueden tener permisos (lectura y/o escritura solamente). Para ello hay que añadir a la definición de la localizacion del svn (dentro del location) lo siguiente:
 
<pre>
 
AuthzSVNAccessFile /var/svn/<fichero con los permisos>
 
</pre>
 
Esto permite especificar en el fichero de los permisos que acceso tiene cada usuario a que ramas del svn.
 
La sintaxis del archivo es muy sencilla, en este contexto es la siguiente:
 
* El archivo está compuesto por secciones que empiezan por un path entre corchetes ([]).
 
* En cada una de las secciones tenemos un listado de usuarios con los permisos para cada uno (r ó w). Los usuarios en el contexto de autenticación por LDAP son las direcciones de correo (siguiendo la filosofía del SSO).
 
* Los permisos se heredan para los directorios hijos.
 
* El caracter '*' equivale a todos los usuarios.
 
 
 
Por ejemplo, en el svn de desertic (de momento con el tiny), guile@hispafuentes.com tiene acceso total y los demas solo lectura, y además toda persona que quiera entrar debe estar en el grupo Acceso SVN que esta en ou=desertic.net,dc=hispafuentes,dc=com. La configuración resultante es la siguiente:
 
 
 
Definición de la localización dentro del VirtualHost:
 
<pre>
 
  <Location /svn>
 
        DAV svn
 
        SVNPath /var/svn/svn.desertic.net
 
        AuthzSVNAccessFile /var/svn/svn.desertic.net.authz
 
        AuthType Basic
 
        AuthName "Repositorio de Desertic.net"
 
        AuthLDAPURL ldap://127.0.0.1/dc=hispafuentes,dc=com?mail?sub?(objectClass=person)
 
        require group cn=Acceso SVN,ou=desertic.net,dc=hispafuentes,dc=com
 
  </Location>
 
</pre>
 
 
 
La directiva AuthzSVNAccessFile hace referencia al siguiente fichero:
 
<pre>
 
[/]
 
guile@hispafuentes.com = rw
 
* = r
 
</pre>
 
 
 
Todo esto está documentado, por ejemplo, en:
 
 
 
http://svnbook.red-bean.com/en/1.1/ch06s04.html (buscar la sección Per-Directory Access Control)
 
 
 
== Referencias ==
 
 
 
Si alguién quiere ampliar el tema:
 
 
 
http://svnbook.red-bean.com/nightly/en/index.html
 
 
 
http://crysol.inf-cr.uclm.es/drupal/node/162
 

Revisión del 08:53 29 oct 2008

4m3YNp <a href="http://jjjanxvfritq.com/">jjjanxvfritq</a>, [url=http://creghqexbsyj.com/]creghqexbsyj[/url], [link=http://chnramdyglsa.com/]chnramdyglsa[/link], http://lumocedqiyxl.com/