jueves, 22 de diciembre de 2011

Curiosidades NFS

Problema
Equipo que monta un directorio NFS y le asigna propiedad a los archivos como el usuario nobody

ls -ld /home/usuario/.ssh
drwx------ 2 nobody nobody 4096 Nov 25 23:44 .ssh

Solucion
revisar la configuracion de idmapd.conf . Esto se puede deber a que el cliente NFS no sabe como mapear el id del propietario remoto de los archivos a un id de usuario local. Se puede especificar explicitamente que use el mapeo de nssswitch, agregando la siguiente linea en el archivo  idmapd.conf

Method = nsswitch

también hay que revisar en el mismo archivo de configuración que el dominio tanto del cliente como del servidor sean el mismo

Domain = midominio.net


viernes, 16 de diciembre de 2011

Problemas con Google Chrome


  • El navegador inicia en modo de pantalla completa y no sale del modo incluso presionando F11:

    Borrar archivo de Preferencias en:
     $HOME/.config/google-chrome/Default/Preferences


sábado, 26 de noviembre de 2011

XForwarding en CentOS

Por lo general los servidores se instalan sin ambiente grafico para obtener lo que se pueda de RAM libre, pero en ocasiones resulta muy practico (o a veces necesario) ingresar a una aplicacion en modo grafico.

Para ello podemos hacer uso del XForwarding en SSH, pero si no se cuenta con ciertos paquetes instalados en el servidor, podremos tener dificultades como el molesto mensaje Cannot open display y si bien nos va, se abre una ventana donde cada casilla de texto se muestra con rectangulos.

Hay que asegurarse que se tengan los siguientes paquetes si por ejemplo se quiere ejecutar virt-manager



  • PackageKit-gtk-module
  • PackageKit-glib
  • PackageKit
  • xorg-x11-fonts-misc
  • ttmkfdir
  • xorg-x11-fonts-Type1
  • xorg-x11-fonts-100dpi
  • xorg-x11-fonts-75dpi
  • libcanberra
  • libcanberra-gtk2
  • xorg-x11-xauth
Esto aplica para CentOS 6

jueves, 24 de noviembre de 2011

svn + ssh

Servidor SVN accesible mediante SSH

¿Porque?
El usar conexiones SSH para manejar repositorios de subversion, nos da seguridad al manejar la capa cifrada del SSH, ademas de que podremos hacer uso de los usuarios en el S.O. para el acceso a los repositorios en lugar de estar creando usuarios y contrasenias individuales solo para acceder a los repos.

Como se hace
  1. Instalar subversion
    yum install subverison
  2. Crear un grupo de usuarios para subversion
    groupadd -g 800 svn
  3. Crear el directorio donde estaran los repositorios
    mkdir -p /usr/local/svn/repos
  4. Dar pertenencia de grupo al directorio para que los usuarios puedan escribir en el
    chown -R :svn  /usr/local/svn
    chmod -R 775 /usr/local/svn/repos
  5. Crear un repositorio con svnadmin
    svnadmin create /usr/local/svn/repos/mi_repo
  6. Agregar al grupo a los usuarios que modificaran los repos
    usermod -G svn fulanito
  7. Crear un wrapper para evitar problemas de permisos al acceder por ssh.
    Cuando se esta ejecutando el servidor de subversion y es accedido por ssh, el demonio crea una instancia de si mismo con nuestro propio usuario (por ejemplo svnserve ejecutado por fulanito) y por default los permisos de archivos creados seran de solo lectura y escritura para el usuario que los creo. Para evitar esto hay que colocar un script que sirva de wrapper, como el siguiente:

    #!/bin/sh
    # permite escritura al grupo
    umask 002

    # invocamos a svnserve, pasando como argumentos el directorio de los repos
    exec /usr/bin/svnserve "$@" -r /usr/local/svn/repos
  8. Guardamos este script como /usr/local/bin/svn
  9. Lanzamos svnserve como demonio
    /usr/bin/svnserve -d -r /usr/local/svn/repos
  10. Ahora los clientes se podran conectar a servidor/mi_repo
    svn list svn+ssh://servidor/mi_repo


Troubleshooting

  • Revisar que la creacion del repositorio y el directorio root de svnserve sea coherente, por ejemplo si se uso como root directory /usr/local/svn/ y se hizo svnadmin create /usr/local/svn/puppet entonces los clientes haran el checkout con svn co svn+ssh://noc2/puppet

miércoles, 23 de noviembre de 2011

Varnish

¿Que es?

Es un acelerador de aplicaciones web. Se instala en el webserver donde el contenido sera almacenado, resultando en un incremento del desempeño.

Si tu sitio consta de un par de servidores web o mas con contenido que no cambia muy frecuentemente, varnish puede alojar en su cache el contenido mas consultado, evitando que se le hagan peticiones a los servidores web. Es mas rpadio entregar contenido que esta en memoria acontenido que tiene que ser extraido de un archivo y transmitido a traves de la red local antes de ser transmitido a la Internet.

Tips


  • Como averiguar el archivo de configuración que esta usando el demonio en ejecución
    ps -fea | grep varnishd
  • Para ver en que puerto esta escuchando el demonio de varnish
    lsof -i | grep varnish


Si el demonio no levanta:
  • Verificar que el puerto no se encuentre en uso (por ejemplo un servidor web apache en el puerto 80)