Prerequisitos
Para poder utilizar SvnAdmin, es necesario disponer de una instalación de Subversion funcionando en alguna máquina. En esta sección se describen los pasos necesarios para configurar este sistema de control de versiones en un equipo con Ubuntu (testado con Ubuntu 7.10).Instalación
Subversion puede funcionar en modo "standalone" como un servicio del sistema. Sin embargo lo habitual es integrarlo con Apache. De esta forma es este popular servidor web el que se encarga de la autenticación. Para integrarlos necesitamos instalar a través del gestor de paquetes de Ubuntu los siguientes paquetes:- apache2: nos permitirá acceder al repositorio mediante HTTP. Apache nos permite navegar por el repositorio a través de páginas web
- subversion
- libapache2-svn: este paquete permite transformar las peticiones HTTP de los clientes en operaciones sobre los repositorios
- ssl-cert: necesario para crear el certificado de seguridad que va con SSL
- openssh-server: necesario para que el cliente se pueda conectar al servidor para invocar comandos o bajar y subir ficheros
Configuración
Como queremos que las conexiones al servidor sean seguras, hay que activar SSL. Para ello debemos ejecutar los siguientes comandos:
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
A continuación habilitamos un host bajo SSL. Para ello primero copiamos el fichero de configuración que viene por defecto con un nuevo nombre:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/sites-ssl
Y ahora modificamos sites-ssl cambiando lo siguiente:
- NameVirtualHost por NameVirtualHost *:443
- VirtualHost por VirtualHost *:443
en la siguiente línea se añade:
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
Quedando algo como esto:
NameVirtualHost *:443
ServerAdmin webmaster@localhost
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/
…
A continuación hay que decirle a Apache que escuche peticiones por el puerto 443, si no está ya configurado para ello. Hay que incluir la línea
Listen 443
al fichero /etc/apache2/ports.conf
Por último activamos sites-ssl y reiniciamos Apache:
sudo a2ensite sites-ssl
sudo /etc/init.d/apache2 restart
on 2009/07/23 18:06