Pasos que he tomado para convertir mi computadora portátil en un servidor de Subversion. El crédito debe ir al AlephZarro para sus instrucciones here. Ahora tengo un servidor SVN en funcionamiento (que actualmente solo se ha probado localmente).
Configuración específica: Kubuntu 8.04 Hardy Heron
Requisitos para seguir esta guía:
- conseguir apt-programa gestor de paquetes
editor
- texto (utilizo Kate)
- derechos de acceso sudo
1: Instalar Servidor Apache HTTP y módulos necesarios:
sudo apt-get install libapache2-svn apache2
Se instalarán
los siguientes paquetes extras:
apache2-mpm-worker apache2-utils apache2.2-common
2: Habilitar SSL
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
Agregar o comprobar que la siguiente es en el archivo:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
3: Generar una Certificado SSL:
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
4: Crear máquina virtual
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
Variaciones (en ports.conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
y (en svnserver)
<VirtualHost *> to <VirtualHost *:443>
Agregar, bajo ServerAdmin (también en svnserver archivo):
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5: Habilitar el sitio:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
Para superar advertencias:
sudo kate /etc/apache2/apache2.conf
Añadir:
"ServerName $your_server_name"
6: Adición del repositorio (s): La siguiente configuración asume que queremos alojar múltiples repositorios. Ejecutar este para crear el primer repositorio:
sudo mkdir /var/svn
REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS
6.a.Para más repositorios: hacer el paso 6 de nuevo (cambiando el valor de REPOS), omitiendo la etapa de mkdir /var/svn
7: Añadir un usuario autenticado
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8: Habilitar y configurar WebDAV y SVN:
sudo kate /etc/apache2/mods-available/dav_svn.conf
Agregar o elimine el comentario:
<Location /svn>
DAV svn
# for multiple repositories - see comments in file
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
9: Reiniciar servidor Apache:
sudo /etc/init.d/apache2 restart
10: Validación:
puso en marcha un navegador:
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
Tanto requiere un nombre de usuario y contraseña. Creo descomentando:
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
en /etc/apache2/mods-available/dav_svn.conf
, permitiría la navegación anónima.
El navegador muestra "Revisión 0: /"
Commit algo:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
aceptar el certificado e introduzca la contraseña. En cuanto a lo que acaba de comprometido:
svn co --username $user_name https://localhost/svn/$REPOS
Después de estos pasos (suponiendo que no he hecho ninguna copia de error/pegar), que tenía un repositorio SVN trabajando en mi ordenador portátil.
¿Puedo utilizar el servidor de Subversion en Ubuntu, y los clientes en cualquier plataforma? como el cliente Tortoise SVN en Windows? –