domingo, 17 de abril de 2011

Instalar controladores privativos de nvidia en Debian 6 (Squeeze)

En esta oportunidad voy a explicar como instalar los controladores privativos de nvidia en Debian 6 (Squeeze).

Si bien existen muchos tutoriales en la web, muy pocos son los que están actualizados para esta versión que por lo general siempre traen nuevos trucos para lograr este cometido.

La diferencia de este radica en una explicación paso a paso de todo lo que hay que hacer para instalar estos controladores.

Se asume el conocimiento mínimo de comandos en linux, y como desplazarse entre carpetas por consola.

Lo primero que vamos a hacer es saber cual es la versión de nuestro kernel y a partir de ahí empezaremos a instalar las cosas que necesitaremos, con lo que escribiremos:

# uname -r

Debería mostrarnos un mensaje como este.

2.6.xx-x-xxx

Sabiendo esto, ahora podemos descargarnos los siguientes archivos:

linux-source-2.6.xx-x
linux-headers-2.6.xx-x-xxx


Al intentar instalar estos paquetes, nos preguntará si queremos instalar otros paquetes adicionales que son necesarios para nuestra tarea, les decimos que si (Esto se puede hacer con el gestor de paquetes de su preferencia, apt-get, aptitude, synaptic o adept) después de todo da lo mismo.

Mientras se descarga e instala todo eso, buscamos nuestro controlador privativo nvidia aquí.

Al descargarlos le damos permisos de ejecución aunque rara vez es necesario (he de recordar que hay que estar en la carpeta donde descargamos nuestro archivo, o indicarle la dirección):

# chmod +x /ruta/de/mi/archivo/NVIDIA-Linux-x86-260.19.44.run

Luego de todo esto, nos disponemos a eliminar los controladores que tenemos por defecto en nuestra instalación de Debian. Para esto, abrimos synaptic y buscamos lo siguiente y le decimos eliminar completamente:

xserver-xorg-video-nouveau
xserver-xorg-video-nv
libdrm-nouveau1


Ahora nos pasamos a las tty (ctrl+alt+f1) nos registramos como root y detenemos el entorno gráfico:

# etc/init.d/kdm stop (para el caso de KDE, para GNOME sería gdm )

Nos dirigimos a la carpeta donde descargamos el controlador de nvidia y ejecutamos el archivo:

# sh NVIDIA-Linux-x86-260.19.44.run

Por último, debemos escribir lo siguiente para evitar la carga de los controladores que teníamos instalados anteriormente:

# echo blacklist nouveau | tee -a /etc/modprobe.d/blacklist.conf

Ahora ya podemos reiniciar nuestro entorno gráfico de la siguiente forma:

# etc/init.d/kdm start

Si es de nuestra preferencia, se puede reconfigurar las X para hacer ajustes más precisos con:


# dpkg-reconfigure xserver-xorg

sábado, 9 de abril de 2011

Configurando apache para trabajar con repositorios Subversion en windows

En esta ocasión voy a explicar como configurar subversion para el control de versiones de nuestros proyectos.

De antemano advierto que solo se configurará Subversion para tener acceso vía web, esto por razones diversas, por lo general, los IDE's con los que trabajamos poseen plug-in's que acceden a nuestros repositorios de esta manera, por lo que no es necesario tener en ejecución el servidor svnserve para tener acceso a nuestros repositorios, bien desde nuestra red o bien desde Internet.

Se asume que ya se tiene instalado apache, en mi caso lo tengo instalado vía wamp versión 2.1e.

Este trae:

  • apache versión 2.2.17

  • php versión 5.3.3

  • mysql versión 5.5.8

  • PhpMyadmin versión 3.2.0.1

  • SQLBuddy versión 1.3.2

Primero que nada debemos descargarnos la aplicación en cuestión Subversion, la podemos encontrar aquí, para efectos de este mini-how-to, se utilizó la versión 1.6.6.

Para instalarlo basta con siguiente, siguiente, siguiente; a menos que quieras cambiar la dirección de instalación de subversion, la deberían tener en C://archivos de programas/Subversion.

Yo en lo particular lo he instalado en la carpeta de instalación de wamp, C:\wamp\bin\subversion\Subversion.

Ya instalado Subversion, haremos los siguientes ajuste:


  1. Tomamos los dos archivos .so que se encuentran en la carpeta bin de la instalación de subversion, en mi caso C://wamp/bin/subversion/Subversion/bin y los copiamos en la carpeta modules de nuestra instalación de apache C:\wamp\bin\apache\Apache\modules. A diferencia de otros tutoriales que se consiguen en la web

  2. Editamos el archivo httpd.conf, ubicado en la carpeta conf de la instalación de apache C:\wamp\bin\apache\Apache\conf, buscamos la sección de LoadModule y la linea LoadModule dav_module modules/mod_dav.so descomentarla.
    comentada

    #LoadModule dav_module modules/mod_dav.so

    descomentada

    LoadModule dav_module modules/mod_dav.so

    y al final de esta sección le añadimos las siguientes dos lineas (puede ser en el lugar que queramos):

    LoadModule dav_svn_module modules/mod_dav_svn.so

    LoadModule authz_svn_module modules/mod_authz_svn.so



  3. Ahora nos dirigimos al final del archivo agregamos la siguiente linea:
    Include conf/extra/httpd-subversion.conf

  4. Este archivo será el que utilicemos para crear la seguridad y el acceso a nuestros repositorios vía web.

  5. Pues bien, vamos a crear el archivo httpd-subversion.conf en la carpeta ubicada en C:\wamp\bin\apache\Apache\conf\extra, este archivo contendrá la siguiente información:

  6. <location /svn>

    # Le dice a Apache qué módulo será responsable de servir esa URL - en este caso, el módulo de Subversion.
    DAV svn

    # Para Subversion 1.3 y superiores, esta directiva habilita el listado de todos los repositorios disponibles bajo SVNParentPath.
    SVNListParentPath on

    # Activa la versión automática de WebDAV sin un cliente SVN.
    SVNAutoversioning on

    # Opciones de indexacion.
    Options Indexes MultiViews IncludesNoExec

    # Le dice a Subversion que busque repositorios en C:/ruta/de/mis/repositorios.
    SVNParentPath C:/ruta/de/mis/repositorios

    # Utilizado para mejorar la visualización desde un navegador de web.
    SVNIndexXSLT /svnindex.xsl

    # Se utiliza para activar la autenticación básica, es decir, Usuario/contraseña.
    AuthType Basic

    # Se utiliza cuando aparece el diálogo de autenticación como información para indicar que se necesita su autenticación.
    AuthName "Mis Repositorios"

    # Especifica qué archivo de contraseñas se utiliza para la autentificación.
    AuthUserFile C:/wamp/bin/apache/Apache2.2.17/usuarios.conf

    # Lugar del archivo de Acceso para las rutas dentro del repositorio de Subversion.
    #AuthzSVNAccessFile C:/wamp/bin/apache/Apache2.2.17/acceso.conf

    # Obliga a apache a solicitar autenticación usuario/contraseña
    Require valid-user


    </location >

    Para mayor información de como configurar esta sección pueden referirse a la siguiente dirección.

    Nota: En <location /svn>, /svn (puede ser cualquier nombre), es el nombre con el que accederemos vía web, es decir, http:/<monbre de mi servidor>//svn


  7. Después de todo esto, necesitamos crear el archivo de usuarios que podrán acceder a nuestros repositorios, tal como se especificara en el punto anterior, le colocaremos el nombre de usuarios.conf, este archivo lo colocaremos en la carpeta raíz de apache C:/wamp/bin/apache/Apache, aunque puede ir en el lugar que mejor no parezca. Para esto hacemos win+r escribimos cmd y nos abre la consola de MS-DOS (tambien se puede hacer inicio->ejecutar->cmd) y escribimos los siguiente:
    C:\wamp\bin\apache\Apache\bin\htpasswd -cm "C:\wamp\bin\apache\Apache\usuarios.conf" administrador
  8. nos solicitará la contraseña para el usuario administrador dos veces. Si queremos agregar nuevos usuarios solo tendremos que ejecutar la siguiente linea
    C:\wamp\bin\apache\Apache\bin\htpasswd -m "C:\wamp\bin\apache\Apache\usuarios.conf" nuevousuario
    Nótese que en esta ocasión solo se ha colocado la opción -m y no -cm; esto es porque la opción c crea el archivo que le hemos colocado, para más información refiérase a la documentación de Subversion aquí.

  9. Por otro lado tenemos el acceso a los repositorios a través de lo que se llama rutas de acceso, este archivo lo crearemos al igual que en el punto anterior en la carpeta C:/wamp/bin/apache/Apache con el editor de texto de nuestra preferencia, en él colocaremos la siguiente información:
    [aliases]

    administrador = CN=Nombre del administrador,OU=area de trabajo,DC=grupo de trabajo,DC=empresa
    usuario1 = CN=Nombre del Usuario1,OU=area de trabajo,DC=grupo de trabajo,DC=empresa
    usuariodev = CN=Nombre del Usuariodev,OU=area de trabajo,DC=grupo de trabajo,DC=empresa
    usuariodoc = CN=Nombre del usuariodoc,OU=area de trabajo,DC=grupo de trabajo,DC=empresa


    [groups]
    administratores = &administrador, &usuario1
    desarrolladores = &usuariodev
    documentadores = &usuariodoc
    invitados = anonymous, anonimo

    # Regla de acceso por defecto para TODOS los repositorios
    # Todo el mundo puede leer, los administradores pueden escribir.
    [/]
    * = r
    @administrador = rw

    # Dar a los documentadores acceso de escritura
    # a todas las carpetas de documentación
    [miproyecto:/trunk/doc]
    @documentador = rw

    [miproyecto:/trunk]
    @administrador = rw
    @desarrollador = rw
    @documentador = r
    usuariodev = rw

    [miproyecto:/branches]
    @administrador = rw
    @desarrollador = rw
    usuariodev = r

    [miproyecto:/tags]
    @administrador = rw
    @desarrollador = rw
    @documentador = r
    usuariodev = r

    [miotroproyecto:/]
    @administrador = rw
    @desarrollador = rw
    @documentador = rw

    Nota: este es un ejemplo para visualizar algunas combinaciones que se pudieran hacer en este archivo.

Nota: En el punto 5 la linea #AuthzSVNAccessFile C:/wamp/bin/apache/Apache2.2.17/acceso.conf aparece comentada, esto es porque por alguna razón que desconozco por el momento, apache no está permitiendo acceder a los repositorios a través de los grupos definidos; mientras resuelvo el problema se mantendrá comentada.

Nota: En el mismo punto 5 la linea #SVNIndexXSLT /svnindex.xsl también esta comentada, este archivo es un compendio de 2 archivos el svnindex.xsl y svnindex.css; estos archivos van en la carpeta que indica la directiva DocumentRoot del archivo de configuración httpd.conf de Apache. Los archivos se pueden conseguir en la web con solo escribir svnindex.xsl