Montando un repositorio para control de versiones

El entorno lab empieza a complicarse, para poder tener control sobre los distintos ficheros de configuración de los servidores así como para los desarrollos software, he decidido montar un servidor para subversion.

Voy a crear un servidor Ubuntu con 1GB de RAM y 25GB de disco. El servidor va a estar montado en la DMZ para que, de esta forma, sea accesible a toda la red doméstica.

El primer paso para la instalación de un servidor SVN es instalar un servidor Apache que va a posibilitar el acceso a los repositorios a través de WebDAV instalamos, además, la biblioteca de SVN para apache.

svn_1

A continuación, instalo subversion:

svn_2

Creo una clave privada y una CSR para un certificado SSL de servidor. Esta CSR la firmo con la entidad certificadora que tengo en el entorno lab.

svn_3

svn_4

Voy a hacer que la autenticación de los usuarios a los distintos repositorios utilice el directorio LDAP que he montado. Para conseguir esto, voy a instalar el módulo authnz_ldap de Apache.

svn_5

He creado un usuario en LDAP (testuser) y voy a probar que mi servidor LDAP funciona:

svn_6

svn_7

Es posible utilizar el LDAP para autenticación así que voy a configurar Apache para que autentique contra el LDAP. Para esto, es necesario editar el fichero de configuración default-ssl.conf (tengo un redirect permanent al sitio https) y voy a añadir la siguiente sección Location:

svn_8

Voy a probar el acceso desde un cliente Windows 7:

svn_9

svn_10

En principio, Apache está configurado, ahora tengo que seguir con la instalación y configuración de Subversion. Para empezar, voy a crear un directorio para los repositorios y un repositorio de prueba:

svn_11

svn_12

Voy a crear un archivo de prueba y a subirlo al repositorio:

svn_13

svn_14

Tengo un pequeño problema con los permisos del repositorio pero ya lo arreglaré más adelante. Voy a intentar acceder a través de la web:

svn_15

svn_16

En principio todo está funcionando. Los aspectos que tengo que corregir son:

  • Permisos de acceso a los repositorios.
  • Autenticación de usuarios que accedan a través de protocolo SVN a través de LDAP.
Anuncios