viernes, 9 de septiembre de 2011

Acceso rápido a los archivos del servidor web

Sin disminuir la extraordinaria velocidad con la que se pueden editar los archivos de un sitio web desde la cónsola, en muchas ocasiones me consigo con situaciones en las que la única manera que las personas actualicen los archivos, es a través de una aplicación de escritorio.

Hay un sin fin de formas de lograr que un usuario administre los archivos de un sitio web. Quizás esta "diversidad" nos lleva a tener toda una tarde investigando para que al final no apliquemos ninguna de las soluciones leídas.

En esta publicación, voy a mostrar cómo permitir a un usuario pueda administrar (agregar, modificar, eliminar) los archivos de un sitio web.

Acá vamos.

  1. El Escenario

    Tengo configurado un servidor con Debian Squeeze y ofreciendo páginas web con el servidor Apache2 en el directorio "/var/www/"

    En el sistema, hay un usuario llamado "programador" cuyo directorio de trabajo es "/home/programador" y quiero pueda acceder a los archivos ubicados en una aplicación llamada "MOODLE" ubicada en "/var/www/moodle".
  2. El Plan

    Como este servidor está bajo mi completa administración, el plan es darle permisos al usuario "programador" para que pueda administrar los archivos en "/var/www/moodle"

    Así mismo, quiero que cuando el usuario "programador" realice una conexión "SSH" hacia el servidor, aparezca un "directorio" que apunte directamente hacia los archivos en "/var/www/moodle".
  3. La ejecución

    Agregamos el usuario "programador" al grupo "www-data":

    # adduser programador www-data

    Asignamos los permisos adecuados al directorio donde está MOODLE:

    # cd /var/www
    # chmod -R g+rw ./moodle

    Creamos en el directorio del usuario "programador" un enlace simbólico hacia los archivos de MOODLE:

    # cd /home/programador
    # ln -s /var/www/moodle web-moodle
  4. Conclusión

    Con esto, el usuario "programador" cuando haga una sesión "SSH", tendrá un directorio llamado "web-moodle" en el que cuando entre, tendrá todos los archivos de MOODLE y podrá cambiarlos.
  5. Información adicional

    Hay varias maneras mucho más sofisticadas de realizar esto. Sin embargo, por un tema de tiempo y dado que tengo el control sobre el servidor, me puedo dar el lujo de hacerlo así :-)

    Si quisiera que el usuario "programador" sólo pudiera ver archivos ubicados exclusivamente en su "home", entonces hay que leer un poco más del paquete "rssh".
Espero sea de utilidad.

Éxitos!

José Gregorio.

Fuente:
  1. http://askubuntu.com/questions/19898/whats-the-simplest-way-to-add-files-to-var-www
  2. http://www.cyberciti.biz/tips/rhel-centos-linux-install-configure-rssh-shell.html
  3. http://ubuntuforums.org/showthread.php?t=915985
  4. http://www.pc-freak.net/blog/quick-way-to-add-user-to-another-user-group-in-linux/

jueves, 8 de septiembre de 2011

Configurando una Lexmark z600 en Ubuntu Lucid

En varias oportunidades he tenido que configurar a un familiar su impresora marca Lexmark modelo Z617.

Cada vez que la instalo, paso algo de trabajo porque se me olvidan los pasos y no había muchas referencias de cómo hacerlo en Internet.

Es por esto que he decidido publicar este artículo :-) ... para oxigenar mi memoria cuando me toque.

Acá vamos.

Este procedimiento lo realizo "vía cónsola" porque el detector de drivers de Ubuntu Lucid no muestra el controlador para la Lexmark Z600 en la lista de alternativas cuando se agrega la impresora a través de "Sistema -> Administración -> Impresoras"

  1. Instalar "alien"

    Debido a que los controladores de esta impresora están empaquetados en formato ".rpm", es necesario transformarlos a ".deb" para poder instalarlos en Ubuntu Lucid:

    # aptitude install alien
  2. Descargar librerías necesarias

    Debido a varias referencias que tiene el controlador para esta impresora hacia librerías de C++, para que funcione correctamente es necesario descargar e instalar los siguientes paquetes:

    #cd /tmp
    # wget http://ftp.us.debian.org/debian/pool/main/g/gcc-3.4/gcc-3.4-base_3.4.6-9_i386.deb
    #wget http://ftp.us.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.6-18_i386.deb
    #dpkg -i  gcc-3.4-base_3.4.6-9_i386.deb
    # dpkg -i  libstdc++5_3.3.6-18_i386.deb
  3. Descargar el controlador para Lexmark Z600

    La descarga de este controlador puede realizarse desde alguna de las siguientes direcciones:

    http://www.4shared.com/file/NAwesGj8/CJLZ600LE-CUPS-10-1TAR.html

    http://downloads.lexmark.com/cgi-perl/downloads.cgi?ccs=229:1:0:389:0:0&os_group=Redhat&target=

    Una vez descargado, lo copiamos en el directorio "/tmp" para trabajar.
  4. Instalar el controlador

    # tar -zxvf CJLZ600LE-CUPS-1.0-1.TAR.gz
    # tail -n +143 z600cups-1.0-1.gz.sh > install.tar.gz
    #
    sudo alien z600cups-1.0-1.i386.rpm
    # sudo alien z600llpddk-2.0-1.i386.rpm

    Con este paso, se crearon dos archivos con extensión .deb:


    z600cups-1.0-1.i386.deb
    z600llpddk-2.0-1.i386.deb

    Solo falta instalar los dos paquetes:

    # dpkg -i
    z600cups-1.0-1.i386.deb
    # dpkg -i z600llpddk-2.0-1.i386.deb
  5. Reiniciar servidor de impresión

    # /etc/init.d/cups restart
  6. Agregar la impresora en el sistema

    Ejecutamos el programa para agregar impresoras de Ubuntu Lucid ubicado en:

    Sistema -> Administración -> Impresora

    El controlador para la impresora Lexmark Z600 estará disponible en la lista.
Espero sea de utilidad.

José Gregorio.


Fuentes:
  1. http://honeybadger.net/LexmarkZ600
  2. http://ingeniero-forigua.blogspot.com/2009/08/instalar-impresora-lexmark-z600-z605-en.html
  3. http://packages.debian.org/lenny/i386/gcc-3.4-base/download
  4. http://packages.debian.org/lenny/i386/libstdc++5/download