Documentos de Académico
Documentos de Profesional
Documentos de Cultura
httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi. Servidor
Apache HTTPD 2.2
Setup-Subversion-1.6.6.msi. Servidor SVN Server de Apache
(antes Tigris)
TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.msi. Cliente de
SVN para probar el sistema
Carpeta de repositorios
Debemos crear una carpeta que almacenará el repositorio Subversion,
pon ejemplo c:\repositoriosvn. Daremos los permisos necesarios para que el
sistema y los administradores tengan control total sobre el repositorio.
Pulsamos “Next”
Pulsamos “Next”
Pulsamos “Next”
Pulsamos “Instalar”
Pulsamos “Finish”
Shell
Shell
1
2
C:\Archivos de programa\Subversion\bin>sc create SVN
3
binpath= "\"C:\Archivos de programa\Subversion\bin\svnserve.exe\"
4
--service -r c:\repositoriosvn" displayname= "Subversion Server" depend= "Tcpip"
5
start= auto
6
[SC] CreateService CORRECTO
7
8
C:\Archivos de programa\Subversion\bin>net start svn
9
El servicio de Subversion Server está iniciándose.
10
El servicio de Subversion Server se ha iniciado con éxito.
11
12
C:\Archivos de programa\Subversion\bin>
13
14
Pulsamos “Next”
Elegimos la típica, y siguiente
Pulsamos “Next”
Pulsamos “Install”. El servidor HTTPD se instalará en
nuestro sistema.
Shell
Shell
1 C:\Archivos de programa\Apache Software
2 Foundation\Apache2.2>bin\htpasswd -c passwd usuario
3 Automatically using MD5 format.
4 New password: *******
5 Re-type new password: *******
6 Adding password for user usuario
7
8 C:\Archivos de programa\Apache Software
9 Foundation\Apache2.2>type passwd
10 usuario:$apr1$po9TdgCG$6W9wyELPGBqVMFqJ3zfpK0
11 C:\Archivos de programa\Apache Software
12 Foundation\Apache2.2>
Shell
1 C:\Archivos de programa\Apache Software
2 Foundation\Apache2.2>bin\htpasswd -b passwd cgonzalez nuevapw
3 Automatically using MD5 format.
4 Adding password for user cgonzalez
5 C:\Archivos de programa\Apache Software
6 Foundation\Apache2.2>type passwd
7 usuario:$apr1$po9TdgCG$6W9wyELPGBqVMFqJ3zfpK0
8 cgonzalez:$apr1$05x0vS9W$UQqDJpQaldojyIG1EmBN//
9 C:\Archivos de programa\Apache Software
10 Foundation\Apache2.2>
Shell
1 crearusuarios.bat
2
3 bin\htpasswd -b passwd jlayunta usuario
4 bin\htpasswd -b passwd cgonzalez nuevapw
Cada vez que se ejecuta este script hay que luego rearrancar
el Apache HTTPD
Crear la versión portable del servidor
Subversion
con Apache
Shell
1 <p class="MsoNormal">C:\Subversion\svnstart.bat</p>
2 </td>
3 </tr>
4 <tr>
5 <td width="652" valign="top">
6 cd
7 start "Subversion Server" /MIN
8 bin\svnserve.exe -d -r /svn_repository
9 cd Apache2.2
10 cd bin
11 start "Apache 2.2 for
12 Subversion" /MIN httpd.exe -d /Subversion/Apache2.2 -f
13 /Subversion/Apache2.2/conf/httpd.conf
14
15 rem usuar usuario: usuario, contraseña: usuario
16
17 start http://localhost:8090/svn
3. Modificamos el archivo de configuración de Apache HTTPD,
httpd.conf. Hay varias cosas que modificar:
a. Las rutas de los repositorios y ficheros en las etiqueta
Location
b. Modificar convenientemente el valor de la ruta DocumentRoot
“C:/Subversion/Apache2.2/htdocs”
c. Dado que <Directory /> está configurado para que no
tenga acceso nadie, asegurarse de que existe una etiqueta
<Directory> que permite acceso a la raíz de htdocs, por ejemplo;
Shell
1 C;\Subversion\Apache2.2\conf\httpd.conf
2
3 ...
4 DocumentRoot
5 "C:/Subversion/Apache2.2/htdocs"
6
7 #
8 # Each directory to which Apache has
9 access can be configured with respect
10 # to which services and features are
11 allowed and/or disabled in that
12 # directory (and its subdirectories).
13 #
14 # First, we configure the
15 "default" to be a very restrictive set of
16 # features.
17 #
18 <Directory />
19 Options FollowSymLinks
20 AllowOverride None
21 Order deny,allow
22 Deny from all
23 </Directory>
24
25 #
26 # Note that from this point forward you
27 must specifically allow
28 # particular features to be enabled - so
29 if something's not working as
30 # you might expect, make sure that you
31 have specifically enabled it
32 # below.
33 #
34
35 #
36 # This should be changed to whatever you
37 set DocumentRoot to.
38 #
39 <Directory "C:/Subversion/Apache2.2/htdocs">
40 #
41 # Possible values for the Options
42 directive are "None", "All",
43 # or any combination of:
44 # Indexes Includes FollowSymLinks
45 SymLinksifOwnerMatch ExecCGI MultiViews
46 #
47 # Note that "MultiViews"
48 must be named *explicitly* --- "Options All"
49 # doesn't give it to you.
50 #
51 # The Options directive is both
52 complicated and important. Please see
53 #
54 http://httpd.apache.org/docs/2.2/mod/core.html#options
55 # for more information.
56 #
57 Options Indexes FollowSymLinks
58
59 #
60 # AllowOverride controls what
61 directives may be placed in .htaccess files.
62 # It can be "All",
63 "None", or any combination of the keywords:
64 # Options FileInfo AuthConfig Limit
65 #
66 AllowOverride None
67
68 #
69 # Controls who can get stuff from
70 this server.
71 #
72 Order allow,deny
73 Allow from all
74 </Directory>
Uso de la versión portable
Para usar la versión portable simplemente debemos hacer
doble clic en el svnstart.bat para levantar el servidor Subversion. Es muy
rápido. Dejo como ejercicio probar si se pueden eliminar las letras de las
rutas para que todo el servidor sea realmente portable, de manera que lo pueda
instalar en un disco externo, por ejemplo, y llevar el servidor y el
repositorio con vosotros a todas partes. De esta manera podríamos tener un
mecanismo muy rápido para sincronizar carpetas entre casa y la oficina, Además
la copia de seguridad del repositorio es tan simple como copiar la carpeta
svn_repository a un lugar seguro, o hacer un zip de ella y guardarlo cada pocos
días.
Dentro
de la carpeta c:\svn_repo tendremos la carpeta oculta .svn, que inicialmente
tiene un tamaño de menos de 1kB.
thrunk
branches
tags
proyecto1
o thrunk
o branches
o tags
proyecto1
o thrunk
o branches
o tags
proyecto1
o thrunk
o branches
o tags
proyecto1
o thrunk
o branches
o tags
…
Realmente Subversion no impone
una estructura, pues trata a proyectos, ramas y etiquetas como carpetas. Todo
esto lo discutiremos más a fondo en el artículo siguiente que publicaremos,
dedicado a evaluar el rendimiento de un repositorio Subversion. Además
aprenderemos a crear múltiples repositorios dentro de un mismo servidor, configurando
de manera independiente el acceso a los mismos.