{{tag> subversion cvs}} ===== 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 En los repositorios base la versión de subversion que encontramos es la 1.4.x. En caso de querer instalar la versión 1.6 hay que [[linux:centos:repositorios|añadir el repositorio rpmforge]] 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 #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 ==== 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. también podemos darle permisos al grupo apache en vez de a todos los usuarios 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 Si queremos crear más usuarios, no debemos usar la opción -c, ya que esta crea un nuevo fichero, sobreescribiendo el anterior. Para el segundo y siguientes usuarios, usaremos htpasswd /etc/svn-auth-file usuario2. Si queremos borrar un usuario, podemos editar el fichero o usar la opción -D mayúscula. 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 ===== Referencias ===== * http://hpantaleev.wordpress.com/2011/08/19/instalacion-de-subversionwebsvn-en-debian-6/ * http://subversion.tigris.org/ * http://blogofsysadmins.com/instalar-un-servidor-de-subversion-en-un-centos-con-plesk * http://polaris.dit.upm.es/~rubentb/docs/subversion/TutorialSubversion/index.html * http://joniux.x-red.com/2008/03/31/instalando-un-servidor-subversion/ * http://lihuen.info.unlp.edu.ar/index.php/C%C3%B3mo_usar_SVN