Mostrando entradas con la etiqueta svn. Mostrar todas las entradas
Mostrando entradas con la etiqueta svn. 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)

Analisis de viabilidad técnica al estilo del Sr Byte

En palabras del mismo rodrigo, según como se ha desarrollado la novela de SIG es importante saber las razones por que se ha decido trabajar esencialmente con java ya que el fue el delegado del estudio de viabilidad y factibilidad técnica.

El susodicho envió un correo al equipo de desarrollo exponiendo formalmente las razones por la cual no haremos uso de las herramientas privativas.

Claro esta que tengo el permiso del autor para publicarlo.


Señores, fíjense que tenemos un pequeño problema con usar Visual Studio, mas o menos en esto se resume:

Lenguaje de programacion:C# (conocido)
Ide: Visual Studio 2005
Base de datos: SQL Server 2005
Reporteador: Dundas Chart (requiere VS completo y SQL server completo)

Notas adicionales y problemas:
Como dundas chart requiere VS Completo y SQL server completo tambien, estamos en serios problemas al usar esta suite de trabajo. Ademas existe el eterno problema de la conexion remota con SQL server, eso segun las palabras de Roberto: "Nooooo se puede acceder de forma remota", osea, nunca funciona bien. A mi tambien me ha pasado.

Y hay que tomar en cuenta la arquitectura cliente servidor que quiere el Ing. Ayala para el programa. Y finalmente, a al Ing. Ayala le pusimos que trabajariamos en .NET

Ventajas:
Si todos usamos las aplicaciones completas, probablemente no haya problema. Y si alguien se da riata para solucionar el problema de la conexion remota con el SQL Server, entonces no hay mayor dificultad.

La otra opcion:

Lenguaje de programación: Java (como C#)
Ide: NetBeans
Base de datos: MySQL
Reporteador: iReport

Notas adicionales y problemas:
Falta de experiencia en el lenguaje y el entorno, hay que dedicarle quizás una semanita para comenzar a trabajar bien. Se siente al principio, algo lento. Y tendríamos que avisarle INMEDIATAMENTE al Ing. Ayala que vamos a usar Java.

Ventajas:
Todo se integra de lo lindo con NetBeans. TODO TODO TODO. MySQL, iReport, SVN, TODOOOO. Podes trabajar en linux y en windows y el estilo de programación seria OpenRanger (a que funcione).

Pensemos bien como vamos a trabajar, usar todo lo de Microsoft implica el uso de las suites COMPLETAS (SQL Server 2005 COMPLETO y Visual Studio 2005 COMPLETO (C#) por el Dundas Chart), y no quisiera que nos complicáramos usando SQL server... que para mi APESTA, pero es por traumas personales.
Roberto recomienda que trabajemos en Java (JaJaJa) dice que si no nos salen las cosas, el nos va ayudar (JAJAJA, no en serio, xD)
Quiero saber que es lo que piensan ...

¿Que pienso?

Definitivamente fantástico nada mas que decir.

Comentarios (1)opiniones, ¿cual es la tuya?

Corrompido por Windows

Siguiendo la novela en la forma de como va a trabajar el equipo de desarrolladores de SIG, ramayac se tomo la molestia de enviarnos un pequeño correo para darnos algunas instrucciones para que el trabajo sea eficiente.

No se porque sera que me siento que era una indirecta bien directa la frase que esta en paréntesis. Y es como lo dijo Hugo en una entrada (que fue poco amigable para muchos bloggers), a veces el compa "se deja corromper por microsoft" jaja.

"Clic para agrandar"

Comentarios (0)