meta data de esta página
Subversion
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
Si queremos instalar la versión 1.6 una vez que hemos añadido el repositorio rpmforge
yum --enablerepo=rpmforge install subversion mod_dav_svn
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 </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.
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
htpasswd /etc/svn-auth-file usuario2
.
Reiniciamos el servidor apache
/etc/init.d/httpd restart
y desde un navegador web ponemos http://ip_o_nombre/svn.
Limitar permisos
Si queremos ajustar más los permisos, añadimos al fichero de configuración subversion.conf la siguiente línea
AuthzSVNAccessFile /var/svn/aclfile
Creamos un fichero “aclfile” y añadimos los permisos para cada usuario, por ejemplo
#fichero de permisos aclfile [calc:/svn/repositorio1] usuario1: rw usuario2 :r