miércoles, 12 de noviembre de 2008

Crear un nuevo repositorio SubVersion

Realizar un nuevo repositorio es muy sencillo. El primer paso es llamar al svnadmin:

svnadmin create /srv/svn/prueba/
Con esto creamos un nuevo repositorio subversion llamado 'prueba'. Ahora le damos los permisos, para ello modificamos el archivo conf/svnserve.conf de la siguiente manera:
[general]
anon-access = none
auth-access = write
password-db = passwd
Donde definimos que no tengan acceso los usuarios anónimos, que los usuarios registrados tengan permisos de lectura/escritura y que el archivo de usuarios y passwords sea 'passwd' en el mismo directorio donde se encuentra la configuración.

Por último definimos el archivo de usuarios y passwords 'passwd':
[users]
pepito=5agachatequetela
Donde por cada usuario debemos escribir una línea en que a un lado del igual esté el nombre del usuario y al otro la contraseña.

Esta información ha sido obtenida a partir del Joan Puiggali en la dirección:

http://www.kopernix.com/?q=svnd_como

Montar un servidor subversion

Supongamos que tenemos el proyecto "prueba". Lo que vamos ha hacer es crearle un repostorio para el solito. Las fuentes de prueba las tenemos en el directorio "prueba" de nuestro home.

1. Crear un nuevo repostorio, en el servidor (puedes crear tantos como quieras):
mkdir -p /srv/svn/prueba/
svnadmin create /srv/svn/prueba/

Arrancar el servidor en modo demonio:

Fíjate que ademas le doy el "-r", para que no permita salir /srv/svn/, que es donde tengo guardados todos los repostorios. Ademas con esto haces que los clientes, no tengan que escribir el path completo, para el caso seria: svn checkout svn://host.example.com/prueba. Si no utilizas "-r" tendrian que poner que indicar que el repostorio es /srv/svn/prueba; ademas de las consideraciones de seguridad que se deducen.

svnserve -d -r /srv/svn/

Asegurate de tener accesible el puerto 3690 (TCP y UDP).

Ahora hacer una autentificación básica, sobre un fichero de texto plano en /srv/svn/prueba/conf/svnserve.conf pon lo siguiente:

[general]
anon-access = none
auth-access = write
password-db = passwd


Esto seria para: anonimos sin lectura ni escritura; autentificados lectura y escritura.

Lo que ves detras de "password-db", es el nombre de fichero de contraseñas. El path es referente al fichero desde el que lo llamamos por lo tanto en este caso seria /srv/svn/prueba/conf/passwd. Aqui su contenido de ejemplo (con un usuario).

[users]
pepito=5agachatequetela

Con esto ya estaría montado el servidor SubVersion y el repositorio prueba. Esta información ha sido obtenida a partir del Joan Puiggali en la dirección:

http://www.kopernix.com/?q=svnd_como

martes, 11 de noviembre de 2008

Configurar subversion para que trabaje como demonio

El demonio que controla el servicio SubVersion de llama svnserve y para configurarlo se debe agregar estas líneas al archivo /etc/services:

svnserve 3690/tcp # Subversion svnserve
svnserve 3690/udp # Subversion svnserve

Además se debe agregar como servicio dentro del sistema xinet.d.

Para esto se crea el siguiente archivo /etc/xinetd.d/svnserve:

# default: on
# Subversion server
service svn
{
socket_type = stream
protocol = tcp
user = svn
wait = no
disable = no
server = /usr/bin/svnserve
server_args = -i -r /home/svnroot
port = 3690
}

Para iniciar el servicio hay que reiniciar xinetd:

/etc/init.d/xinetd restart

Con esto, deberíamos tener el servidor operando. Hay que colocar atención con las reglas del firewall donde debemos habrir el puerto 3690 para tcp y udp.

Este texto ha sido extraído de:

http://joniux.x-red.com/2008/03/31/instalando-un-servidor-subversion/