Mostrando entradas con la etiqueta subversion. Mostrar todas las entradas
Mostrando entradas con la etiqueta subversion. Mostrar todas las entradas

Instalación de servidor de repositorio Subversion con soporte SSL y autenticación por LDAP en Debian GNU/Linux

Después de haber realizado la guía de instalación y configuración de un servidor OpenLDAP en Debian GNU/Linux, me dispuse a integrar muchos otros servicios el cual se pudieran autentificar mediante el LDAP.

Así que me di a la tarea de configurar Subversion con Apache2 para que puedan autentificarse mediante LDAP, esta guía la desarrolle en Debian pero fácilmente puede ser adaptada para Ubuntu u otras distribuciones derivadas de Debian.

Instalando la paquetería necesaria

Para empezar se deben descargarse los paquetes necesarios para tener Apache2 y sus respectivos módulos para que se pueda trabajar con Subversion.

# apt-get install subversion apache2 libapache2-svn subversion-tools

Luego debemos crear el repositorio

# mkdir /var/svn/proyecto
# svnadmin create /var/svn/proyecto

Es necesario cambiar el propietario y permisos de escritura para el servidor Apache2

# chown www-data.www-data -R /var/svn/proyecto/
# chmod 777 -R /var/svn/proyecto/

Habilitando los módulos para Apache2

Se deben habilitar los módulos de Subversion, DAV y autenticación por medio de LDAP para Apache2.

#a2enmod dav
#a2enmod dav_svn
# a2enmod authnz_ldap

Debemos forzar la carga de módulos a Apache2

# /etc/init.d/apache2 force-reload
# /etc/init.d/apache2 restart

Generando un certificado auto firmado

Ahora es necesario dar soporte SSL, pero también es necesario descargarnos una herramienta para generar un certificado auto firmado de forma muy sencilla.

# apt-get install ssl-cert


Creamos el directorio donde estará alojado nuestro certificado auto firmado.

# mkdir /etc/apache2/ssl

Con el paquete ssl-cert viene la herramienta make-ssl-cert para crearnos el certificado auto firmado.

# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Configurando un Virtual Host para tener soporte SSL

Copiamos un virtual host hacia la carpeta de sitios disponibles

# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

Editamos el virtual host

# nano /etc/apache2/sites-enabled/ssl

Y al principio del archivo debemos realizar los cambios que presento a continuación

NameVirtualHost *:443

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

Ahora habilitamos el virtual host con soporte para ssl

# a2enmod ssl

Y reiniciamos Apache2, para que reconozca nuestros cambios

# /etc/init.d/apache2 force-reload

Si queremos probar que todo esta bien debemos ingresar a la dirección https://ip-hostname y nos dará una advertencia diciendo que estamos accediendo a un sitio que usa un certificado auto firmado, entonces debemos agregar la excepción para ingresar al sitio.

Configurando Apache2 para Subversion

Antes que nada debemos crear, un archivo con política de grupos, para asignar a cada usuario su respectivo repositorio de proyecto.

# nano /etc/apache2/acceso.authz

[groups]
# Se agregan los usuarios creados en el servidor LDAP
grupo-ldap = daniel.herrera, carlos.ramirez

[proyecto:/]
@grupo-ldap=rw

Ahora se procede a crear el virtual host del proyecto en Apache editando el siguiente archivo.

# nano /etc/apache2/mods-enabled/dav_svn.conf

Se agrega la siguiente entrada adaptada a nuestro ejemplo de repositorio.


<Location /svn/proyecto>
DAV svn
SVNPath /var/svn/proyecto
AuthType Basic
AuthName "Repositorio de prueba de Proyecto"
AuthzSVNAccessFile /etc/apache2/acceso.authz
Require valid-user
SSLRequireSSL
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPBindDN "cn=admin,dc=dominio,dc=com"
AuthLDAPBindPassword contraseña-servidor-ldap
AuthLDAPURL "ldap://ip-hostname/ou=users,dc=dominio,dc=com?cn"
</Location>


Terminado esto solo basta con reiniciar Apache

# /etc/init.d/apache2 restart

Accedemos a https://ip-hostname/svn/proyecto Nos pedirá un usuario y contraseña validos definidos en el archivo de políticas de grupo, y así se podrá tener acceso al proyecto.

Comentarios (2)

Diferencia de código con SVN y Netbeans

Después de estar trabajando ya un buen ratito con Netbeans 6.0 y Subversión he visto que es muy productiva esa combinación.

De las cosas bonitas que le he visto es como se pueden ver las diferencias entre el archivo local y el del repositorio.

"Netbeans analizando las diferencias entre código modificado, que bonito se ve y bastante intuitivo"

Para saber que significan los colores se puede visitar la guía de Subversión para Netbeans 6.0, esta en ingles pero esta fácil de entender. No se por que con todas las bondades que tiene Netbeans aun nos siguen torturando en la U, usando Visual Studio.

Comentarios (0)

Usando Netbeans 6.0 con Subversión en GNU/Linux

Después de ver lo vergón que es Subversión, he corroborado como bien dijo Rodrigo que NetBeans 6.0 se integra muy bien con Subversión.

Ya traveseandolo un poco explicare cual es la manera para trabajar con un proyecto realizado con NetBeans 6.0 y realizar programación XP.

Para que NetBeans 6.0 pueda integrarse con SVN debemos instalar un cliente de linea de comandos para que el IDE sirva como de front-end.

# apt-get install subversion

Ya hecho lo anterior, ya iniciado el NetBeans 6.0 debemos ir al menu "Tools" para luego elegir "Options".

Estando alli debemos ir a la categoría "Miscelaneous", dar clic en la ficha "Versioning" y elegir la opción "Subversion".


Donde dice "Specify the SVN Home Folder" debemos escribir la ruta donde se encuentra el cliente en linea de comandos de SVN, en mi caso era /usr/bin.

Después de guardar la configuración, debemos cerrar el NetBeans y volverlo a abrir para que se apliquen los cambios.

Luego volvemos a dirigirnos al menú "Tools" y elegimos la opción "Checkout", nos aparecerá una ventana donde debemos agregar la URL del repositorio, hecho esto al dar clic en el botón next nos preguntara el usuario y password del repositorio, yo le doy recordar ya que es una contraseña aleatoria que nos asigna google code.


En la siguiente pantalla del asistente debemos configurar en que carpeta del repositorio guardaremos nuestras revisiones del proyecto.



Es recomendable marcar "skip 'carpeta' and checkout only its content" para que NetBeans no cree otra carpeta, despues de esto elegimos la carpeta donde tengamos nuestros proyectos y habilitar que se NetBeans escanee los proyectos en esa carpeta por si los queremos usar con SVN marcando la casilla "Scan for Netbeans Projects after Checkout".


Luego de eso NetBeans nos dará un aviso de cuantos proyectos están disponibles para sincronizarlos con el servidor SVN, en mi caso tenia dos disponibles.


Elegimos el que queremos utilizar, y para actualizar las revisiones nada mas es necesario dar clic derecho sobre el elemento que queremos hacerlo, elegir en el menú emergente el submenu "Subversion" y elegir la opcion "Commit", escribimos el respectivo comentario de la revision y damos al boton "Commit".


Ya hecho esto NetBeans se encargara de sincronizar con el repositorio.

Comentarios (3)

Konqueror y Subversión, KDESVN es la solución


Me puse a indagar (googlear) para ver que cliente gráfico era el mas pijudo para trabajar con Subversión, y claro la comunidad mundial de desarrolladores comprometidos con la causa no me hicieron quedar mal pues encontré KDESVN. De lo mas bonito que note fue su buena integración con Konqueror.

Su instalación es facilisima.

# apt-get install kdesvn
  • Usarlo es bien chiche, nada mas debemos crear una carpeta donde estará el proyecto donde estamos colaborando.
  • Estando dentro de la carpeta creada dar clic derecho en cualquier parte en blanco, y en el menú emergente ir a "Acciones" luego "Subversión (kdesvn)" y elegir "Obtener de Subversión", aparecerá la siguiente ventana de dialogo.
  • En esa ventana debemos introducir la URL del repositorio, luego si es el caso nos pedirá el usuario y contraseña del proyecto y la introducimos.
  • Ya hecho esto descarga los archivos listos para modificarlos, cuando queramos agregar esa modificación (revisión), hacemos clic derecho en los archivos que queremos subir su revisión e ir de nuevo al menú emergente en "Acciones" -> "Subversión (kdesvn)" y elegimos la opción "(SVN) Confirmar" y eso es todo lo que hasta el momento he usado.
Por el momento no soy el mas vergon usando KDESVN, si alguien tiene algo mas que agregar sera bienvenido, existe también RapidSVN lo instale pero aun no lo he traveseado mucho.

Comentarios (2)