Instalar Subversion Server en Ubuntu
Subversion es un sistema de control de versiones ideado para reemplazar al popular CVS. Subversion nos permite entre muchas otras cosas mantener versiones antiguas de ficheros y poder trabajar de manera colaborativa sin pisar el trabajo de otros.
En este tutorial vamos a ver como instalar el servidor de subversion en una maquina ubuntu.
Para ello el primer paso es instalar los paquetes necesarios
sudo apt-get install subversion libapache2-svn subversion-tools
Creamos la carpeta para guardar los ficheros
sudo mkdir /home/<user>/svn
Editamos el fichero de configuración
sudo nano /etc/apache2/mods-enabled/dav_svn.conf
Hay que modificar el archivo hasta que se parezca a esto
# dav_svn.conf - Example Subversion/Apache configuration # # For details and further options see the Apache user manual and # the Subversion book.# <location URL> ... </location> # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ <location /svn> # Uncomment this to enable the repository, DAV svn # Set this to the path to your repository SVNParentPath /home/<user>/svn # The following allows for basic http authentication. Basic authentication # should not be considered secure for any particularly rigorous definition of # secure. # to create a passwd file # # rm -f /etc/apache2/dav_svn.passwd # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon # New password: # Re-type new password: # Adding password for user dwhedon # # # Uncomment the following 3 lines to enable Basic Authentication AuthType Basic AuthName "Subversion Repository Access" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user # Uncomment the following line to enable Authz Authentication # AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. #<limitexcept GET PROPFIND OPTIONS REPORT> #Require valid-user #</limitexcept> </location>
Creamos el fichero de usuarios y claves
sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>
Usamos este comando si queremos añadir mas usuarios
sudo htpasswd /etc/apache2/dav_svn.passwd <another username>
Reiniciamos apache
sudo /etc/init.d/apache2 restart
Creamos la carpeta que contendrá el proyecto
sudo mkdir -p /home/<user>/svn/<project>
Creamos el repositorio
sudo svnadmin create /home/<user>/svn/<project>
Conectamos al subversion localmente y creamos las carpetas Trunk, Tags y Branches
sudo svn mkdir file:///home/<user>/svn/<project>/trunk -m "Trunk" sudo svn mkdir file:///home/<user>/svn/<project>/tags -m "Tags" sudo svn mkdir file:///home/<user>/svn/<project>/branches -m "Branches"
Otorgamos permisos a apache
sudo chown -R www-data.www-data /home/<user>/svn
Navegamos a la carpeta /etc/init.d, creamos un fichero llamado init-svnserve y lo abrimos con nano para editarlo
cd /etc/init.d/ sudo touch init-svnserve sudo nano init-svnserve
En el fichero añadimos esta linea
svnserve -d -r /home/<user>/svn
Damos permisos de ejecución al fichero
sudo chmod +x init-svnserve
Actualizamos el arranque del sistema para que detecte el nuevo fichero
sudo update-rc.d init-svnserve defaults
Reiniciamos el servidor y todo funcionando!
sudo shutdown -r now


Noviembre 18th, 2009 a las 16:07
Información Bitacoras.com…
Valora en Bitacoras.com: Subversion es un sistema de control de versiones ideado para reemplazar al popular CVS. Subversion nos permite entre muchas otras cosas mantener versiones antiguas de ficheros y poder trabajar de manera colaborativa sin pisar…..