Después de pelearme durante una buena temporada para conseguir que todo esto funcione junto en mi PC y sin darse de leches unos con otros, he decidido poner esta receta por que pienso que tal vez a algun@ mas le pueda ser útil.
- Instalación de los paquetes necesarios:
$ sudo aptitude install apache2 openssl subversion libapache2-svn subversion-tools websvn
- Fabricamos un certificado "casero"
$ sudo mkdir /etc/apache2/ssl $ sudo RANDFILE=/dev/random openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem $ sudo chmod 600 /etc/apache2/ssl/apache.pem
- Creando el repositorio
$ sudo cd /home/ $ sudomkdir svn $ sudo svnadmin create svn/prueba
Damos de alta algunos usuarios:
$ sudo htpasswd -c -m /home/svn/.dav_svn.passwd user1
La opción -c sólo es necesaria la primera vez que ejecute este comando, a fin de crear el archivo de las contraseñas. Posteriormente ya no se ejecuta
$ sudo htpasswd -m /home/svn/.dav_svn.passwd user2
Por último otrogamos a la carpeta y a lo que esta contiene los permisos necesarios para que apache acceda a ella
$ sudo chown www-data:www-data -R svn
- Configurando apache
Para que el tema nos sea mas sencillo primero vamos a sacar una copia de una plantilla de sitio web de las que vivene por defecto con apache 2
$ cd /etc/apache2/sites-available/ $ sudo cp default svn
Una vez hecho esto damos de alta a nuestro nuevo sitio web y damos tambien de alta un modulo de apache necesario
$ sudo a2ensite svn $ sudo a2enmod ssl
A continuacion pasamos a editar nuesta copia de plantilla (svn), la editamos para adaptarla a nuestras necesidades. Recordad que es muy importante sustituir la linea "/home/svn/prueba" por la ruta a vuestro repositorio, "/svn/prueba" por la ruta a teclear despues de "
https://nombrehost", y "/home/svn/.dav_svn.passwd" por la ruta a vuestro fichero de autenticaciones.
https://nombrehost", y "/home/svn/.dav_svn.passwd" por la ruta a vuestro fichero de autenticaciones.NameVirtualHost *:443SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so ... DAV svn SVNPath /home/svn/prueba AuthType Basic AuthName "My Subversion Repository" AuthUserFile /home/svn/.dav_svn.passwd Require valid-user
Creo que las lineas
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
Podrían quitarse y sustituirse por estos comandos de consola:
$ sudo a2enmod dav $ sudo a2enmod dav_svn $ sudo a2enmod ssl
Pero no estoy muy seguro :S
- Interface web
$ sudo dpkg-reconfigure websvn
Seguimos las instrucciones que aparecen, y simplemente debemos decirle a websvn en dónde están nuestros repositorios subversion
Por ultimo reiniciamos apache
$ sudo apache2ctl restart
Si todo salió bien poniendo
https://localhost/websvn en nuestro navegador web, deberiamos ver nuestros repositorios y sus archivos
https://localhost/websvn en nuestro navegador web, deberiamos ver nuestros repositorios y sus archivos- Nota
https://localhost/svn/prueba nos pide nombre de usuario y contraseña. Sin embargo de la forma
https://localhost/websvn no. Sería bueno también limitar el acceso al entrar al repositorio de forma "visual". Seguiré investigando, si hay noticias edito
Yo en el curro he puesto apache2 con ssl para un servidor python y no he tenido mayor problema. A no ser que el problema te viniese de subversión.
ResponderEliminarSi, tu intenta juntar en una misma maquina las 4 cosas del post y luego me cuentas que tal te ha ido, que apache y ssl en ubuntu se montan con la minga.
ResponderEliminarPero el modulo dav_svn y de apache para poder tener acceso a subversion hay que configurarlo a pelo majete...