El término SVN se refiere a un software de control de versiones y existe desde hace mucho tiempo y aunque aplicaciones del tipo git (como el Github donde estas leyendo esto) o Bitbucket puedan ser la evolución natural, lo cierto es que SVN se sigue usando.
Vamos a realizar una instalación básica en CentOS 7.
Instalación.
Realizamos la instalación de todos los paquetes necesarios y editamos la configuración de Apache.
1
2
3
sudo yum install httpd subversion libapache2-svn libsvn-dev mod_dav_svn
-----
vim /etc/httpd/conf/httpd.conf -- Editar y habilitar el puerto 80
Seguidamente habilitaremos los modulos necesarios en Apache.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim /etc/httpd/conf.d/subversion.conf
-----
# Make sure you uncomment the following if they are commented out
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# Add the following to allow a basic authentication and point Apache to where
# the actual
# repository resides.
<Location /repos>
DAV svn
SVNPath /var/www/svn/repos
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
Y reiniciamos el servicio de Apache como de costumbre para aplicar los cambios.
1
service httpd start
Configuración.
Crearemos el directorio dedicado a subversión y otorgaremos los permisos necesarios.
1
2
mkdir /var/www/svn
chmod -R 755 /var/www/svn
Y ahora vamos a crear nuestro primer repositorio de pruebas.
1
2
svnadmin create /var/www/svn/repos
chown -R apache.apache /var/www/svn/repos
Vamos ha crear un usuario para que pueda acceder al repositorio.
1
sudo htpasswd -cm /etc/svn-auth-conf usuario
Reiniciamos el servicio de apache y accedemos a la url de nuestro repositorio para probarlo. Nos pedirá introducir las credenciales.
1
http://localhost/repos
Sería válido tanto localhost como la ip del equipo, comprobar firewalld si da algún problema.