Para conectarse al servidor Subversión desde una plataforma Windows
podemos utilizar la herramienta SHH.
Para una conexión exitosa debemos conocer algunos datos específicos del
servidor
Como por ejemplo:
1.- Host Name
2.- User Name
3.- Port Number
En caso de no conocer
estos datos, deben ser entregados por tu administrador de red o tu jefe de
proyecto
En
el Botón “Quick Connect” se Introducen los datos para poder establecer la
conexión con el servidor Sub-Versión
Posteriormente al
introducir los datos correctamente, aparecerá otra pantalla lo cual nos pedirá una
contraseña, de lo contrario te conectaras inmediatamente.
En nuestro caso existe una contraseña, lo cual
debemos ingresarla.
Una vez
ingresada la contraseña deberíamos ver una pantalla muy similar a la siguiente
figura, obviamente debemos aclarar que las carpetas no necesariamente deben ser
las mismas.
Una vez que
veamos una pantalla similar a esta debemos ir al mando de consola (Nuevo
Terminal Windows), para poder crear una nueva carpeta para nuestro nuevo
proyecto.
Cuando veamos esta consola quiere decir que ya
estamos conectados al servidor sub-versión para poder crea nuestro
repositorios.
1.2 Crear un Cliente y un Proyecto
Primero debemos posicionarnos en la carpeta SVN de nuestro servidor, para
ello debemos aplicar unos comandos de consola para ir a nuestra carpeta SVN.
Nuestra aplicación SSH nos aparece
en [root@arquitectura ~]# por defecto, lo cual nosotros tenemos que ir a la
carpeta /var/www/svn, los comando para llegar a nuestra carpeta son los
siguientes:
[root@arquitectura ~]# cd ..
[root@arquitectura /]# ls
bin dev
home lib64 media
mnt opt root
selinux sys usr
boot etc
lib lost+found misc
net proc sbin
srv tmp var
[root@arquitectura
/]# cd var
[root@arquitectura
var]# ls
account cvs
ftp gpi lock
nis run webmin
cache db
games lib log
opt spool www
crash empty
gdm local mail
preserve tmp yp
[root@arquitectura
var]# cd www
[root@arquitectura
www]# ls
bug error
icons manual phpmyadmin usage
cgi-bin html
mantisbt-1.2.10
mediawiki-1.19.0 svn
[root@arquitectura www]# cd svn
[root@arquitectura svn]# ls
Cliente1, cliente 2,
cliente 3
Para crea una carpeta de nuestro cliente, recuerda que tienes que estar
posicionado en la carpeta [root@arquitectura svn]# y escribir el siguiente
comando
- [root@arquitectura
svn]# mkdir nombreDelCliente
Ahora que
ya tenemos nuestro cliente Sura creado, le crearemos un proyecto, en nuestro
ejemplo el proyecto se llamara Control Derivados
- [root@arquitectura svn]# svnadmin create /var/www/svn/cliente/proyecto
Bueno ya que tenemos nuestro Cliente
y nuestro proyecto creado, ahora vamos a modificar nuestro alias de “Apache”
- [root@arquitectura
svn]# vi /etc/httpd/conf.d/subversion.conf
Vi es el comando que nos servirá para poder
editar el archivo subversión.cong, recuerda que para poder ver el contenido del archivo debes descender en la
consola, con las flechas ↓
del teclado, no con la barra deslizadora ni con el SCROLL
del mouse.
Cuando te encuentres al
final del archivo subversión.cong debieras visualizar algo parecido a esto
<Location
/svn/cliente/proyecto>
DAV svn
SVNPath /var/www/svn/cliente/proyecto
AuthType Basic
AuthName "Repositorio Time
Track"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
Obviamente el código anterior es un extracto de lo que puede llegar a
hacer el archivo en general.
El código nos indica que existe
un cliente llamado LAN y con un proyecto llamado “ilearningsql”, para agregar
nuestro proyecto sura/controlderivados debemos copiar el extracto y remplazarlo
por nuestros datos, en nuestro ejemplo el extracto del código seria el
siguiente
<Location
/svn/cliente/proyecto>
DAV svn
SVNPath /var/www/svn/cliente/proyecto
AuthType Basic
AuthName "Repositorio Time
Track"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
Este extracto de código debemos agregarlo al final del archivo
subversión.cong lo cual nuestro archivo debiera quedar de esta forma
<Location
/svn/cliente/proyecto>
DAV svn
SVNPath /var/www/svn/cliente/proyecto
AuthType Basic
AuthName "Repositorio Time
Track"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
<Location
/svn/cliente/proyecto>
DAV svn
SVNPath
/var/www/svn/cliente/proyecto
AuthType Basic
AuthName "Repositorio Time
Track"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
Para salir del editor debes de guardar los cambios (:wq), en caso que
erróneamente escribas algo inadecuado o quieres deshacer los cambien, están los
siguientes códigos que te pueden ser muy útil.
Comando
|
Descripción
|
:q
|
Salir
del editor (sin guardar la información)
|
:q!
|
Obliga
al editor a cerrarse sin guardar la información (incluso si se realizaron
cambios en el documento)
|
:wq
|
Guarda
el documento y cierra el editor
|
:filenombre
|
Guarda
el documento con el nombre especifica
|
Ahora le daremos propiedades de solo lectura a
nuestro nuevo proyecto, esto lo hacemos con el siguiente comando
- [root@arquitectura]#
chown -R apache.apache /var/www/svn/cliente/proyecto
Para que Apache tome los cambios realizados debemos reiniciar el
servidor, esto lo hacemos de la siguiente manera
- [root@arquitectura]# service httpd restart
El Mensaje debería ser el siguiente:
Parando httpd: [ OK ]
Iniciando httpd: httpd: Could not reliably determine the server's fully
qualified domain name, using 127.0.0.1 for ServerName [ OK ]
1.3 Rol de Usuarios
Sub-Versión
cuenta con la propiedad de restringir el acceso a nuestros repositorios, el método
más sencillo de configuración es el siguiente:
Primero: Debemos
crear un fichero, para definir los usuarios y a qué proyectos pueden acceder, para
crear un fichero debemos ir a la dirección /var/www cuando estemos en este directorio, creamos un
archivo de texto plano, este archivo lo podemos crear con la siguiente línea de
comando
[root@arquitectura]# > svn_access_control (donde svn_access_control es el nombre del archive,
lo puedes cambiar por el que más te acomode)
Segundo: Ya que tenemos nuestro archivo creado,
necesitamos editarlo y agregar nuestros proyectos y usuarios, el archivo lo
editamos de la siguiente manera
[root@arquitectura svn]# vi /var/www/ svn_access_control
Presionando
la tecla S, activas el modo para editar el archive de texto. En el archivo de
texto debemos agregar las siguientes características:
[groups]
Grupo1 = usuario1, usuario2
Admin = usuario3, usuario4
[migracionmi:/]
@Grupo1 = rw
[/]
@Admin = rw
Nota:
1.
Grupo 1
puede entrar solo al repositorio migracionmi ósea los usuarios (usuario1 y
usuario2)
2.
[migracionmi:/]
es el repositorio que creaste con el
comando svnadmin create /var/www/svn/cliente/migracionmi
3.
@Admin =
rw es el comando para que los usuarios
tengan permiso a todos los repositorios, en nuestro ejemplo (usuario3 y usuario4
pueden acceder a todos los repositorios)
4.
R =
lectura y W= escritura RW= Permiso de lectura y Escritura
Tercero: Ahora
tenemos que editar el archivo subversión.cong e indicarle que existe un archivo
de acceso a repositorio en nuestro ejemplo anterior habíamos visto como editar
el archivo subversión.cong lo cual lo editamos de la siguiente manera
-
[root@arquitectura
svn]# vi /etc/httpd/conf.d/subversion.conf
Una vez que estemos en el archivo veremos el
siguiente código
<Location /svn/cliente/migracionmi>
DAV svn
SVNPath /var/www/svn/cliente/migracionmi
AuthType Basic
AuthName "Repositorio Time Track"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
Nota: esto es un extracto del archivo original
Ahora
debemos especificarle al archivo subversión.cong que existe un archivo de
acceso de usuarios, este parámetro se le agrega de la siguiente manera
<Location /svn/cliente/migracionmi>
DAV svn
SVNPath /var/www/svn/cliente/migracionmi
AuthType Basic
AuthName "Repositorio Time Track"
AuthUserFile /etc/svn-auth-conf
AuthzSVNAccessFile
/var/www/svn_access_control
Require valid-user
</Location>
Una vez ya modificado el archivo guardamos los
cambios con el comando: wq y listo, ya tenemos nuestro repositorios protegidos
Recuerda reiniciar el servidor apache para que
reconozca los cambios
-
[root@arquitectura
www]# service httpd restart