1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • Configurar un firewall en Linux con iptables
    Muchas son hoy en día las personas que se conectan, de una manera u otra, a Internet. Desde empresas que operan en la red hasta personas en sus casas que pasan un rato divertido navegando por sus páginas preferidas.

    Pero pocas de estas personas entienden realmente las consecuencias que tiene el abrir sus sistemas informáticos a Internet, unas consecuencias que no sólo son de caracter benigno e incluso beneficioso. El bien que obtenemos de Internet tiene un precio: Internet no es un lugar seguro.
  • Cómo configurar un servidor NFS

    Configurar un servidor NFS.

    Introducción.

    NFS, acrónimo de Network File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera transparente, más comúnmente utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de contraseñas como el que tiene SAMBA, solo una lista de control de acceso determinada por direcciones IP o nombres. Es por esto que es importante que el administrador de la red local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si este no es configurado apropiadamente e implementado detrás de un contrafuegos o firewall.

    Personalmente, solo recomiendo utilizar NFS dentro de una red local detrás de un contrafuegos o firewall que permita el accesos solo a las máquinas que integren la red local, nunca para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autenticación por contraseñas, es un servicio susceptible del ataque de algún cracker. SAMBA es un mucho mejor y más seguro protocolo para compartir sistemas de archivos.

    Procedimientos.

    Teniendo en cuenta los aspectos de seguridad mencionados, es importante que siga los procedimientos descritos a continuación al pie de la letra, y que posteriormente se comprometa también consultar a detalle la documentación incluida en el paquete nfs-utils, ya que este le proporcionará información adicional y completa sobre aspectos avanzados de configuración y utilización.

    Configurando el servidor NFS.

    Se requiere tener instalados nfs-utils y portmap. Preguntaremos al sistema si estos están instalados con la siguiente línea de comando:

    rpm -q nfs-utils portmap

    Lo cual debe de regresar algo como lo siguiente:

    nfs-utils-0.3.1-13.7.2.1
    portmap-4.0-38

    En caso de que falte alguno de estos paquetes, inserte el CD de instalación en la unidad correspondiente, abra una terminal o consola y ejecute lo siguiente:

    mount /mnt/cdrom/
    rpm -Uvh /mnt/cdrom/RedHat/RPMS/paquete_faltante

    Cabe mencionar que lo mejor será siempre utilizar la versiones de nfs-utils y portmap más actuales. Salvo por RedHat® Linux 7.1 o LinuxPPP 7.x, el resto de las versiones anteriores de RedHat® y LinuxPPP® incluyen paquetes de nfs-utils y portmap con serios agujeros de seguridad. Visite el servidor ftp de la distribución utilizada y descargue los paquetes actualizados, que seguramente incluirán los parches de seguridad necesarios:

                        

                           

    Configurando la seguridad.

    Lo siguiente será configurar un nivel de seguridad para portmap. Esto se consigue editando los ficheros /etc/hosts.allow y /etc/hosts.deny. Debemos especificar que direcciones IP o rango de direcciones IP pueden acceder a los servicios de portmap y quienes no pueden hacerlo. Podemos entonces determinar en /etc/hosts.allow como rango de direcciones IP permitidas los siguiente:

    portmap:192.168.1.0/255.255.255.0

    Esto corresponde a la dirección IP de la red completa y la máscara de la sub-red. Adicionalmente podemos especificar direcciones IP individuales sin necesidad de establecer una máscara. Esto es de utilidad cuando se desea compartir volúmenes con otras máquinas en otras redes a través de Internet. Ejemplo:

    portmap:192.168.1.0/255.255.255.0
    portmap:192.168.20.25
    portmap:192.168.30.2
    portmap:216.200.152.96
    portmap:148.240.28.171

    Una vez determinado que direcciones IP pueden acceder a portmap, solo resta determinar quienes no pueden hacerlo. Evidentemente nos referimos al resto del mundo, y esto se hace agregando la siguiente línea:

    portmap:ALL

    Es importante destacar que la línea anterior es INDISPENSABLE y NECESARIA si quiere tener un nivel de seguridad decente. De manera predeterminada las versiones más recientes de nfs-utils no permitirán iniciar el servicio si esta línea no se encuentra presente en /etc/hosts.deny.

    Una vez configurado portmap, debe reiniciarse el servicio de portmap:

    /sbin/service portmap restart

    Si tiene un DNS, de de alta las direcciones IP asociadas a un nombre o bien edite /etc/hosts y agregue las direcciones IP asociadas con un nombre. Esto nos servirá como listas de control de accesos. Ejemplo del fichero /etc/hosts:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea

    Compartir un volumen NFS.

    Procederemos a determinar que directorio se va a compartir. Puede crear también uno nuevo:

    mkdir -p /var/nfs/publico

    Una vez hecho esto, necesitaremos establecer que directorios en el sistema serán compartidos con el resto de las máquinas de la red, o bien a que máquinas, de acuerdo al DNS o /etc/hosts se permitirá el accesos. Esto deberemos agregarlos en /etc/exports determinado con que máquinas y en que modo lo haremos. Se puede especificar una dirección IP o bien nombre de alguna máquina, o bien un patrón común con comodín para definir que máquinas pueden acceder. De tal modo podemos utilizar el siguiente ejemplo (la separación de espacios se hace con un tabulador):

    /var/nfs/publico *.mi-red-local.org(ro,sync)

    En el ejemplo anterior se esta definiendo que se compartirá /var/nfs/publico/ a todas las máquinas cuyo nombre, de acuerdo al DNS o /etc/hosts, tiene como patrón común mi-red-local.org, en modo de lectura escritura. Se utilizó un asterisco (*) como comodín, seguido de un punto y el nombre del dominio. Esto permitirá que como_se_llame.mi-red-local.org, como_sea.mi-red-local.org, lo_que_sea.mi-red-local.org, etc., podrán acceder al volumen /var/nfs/publico/ en modo solo lectura. Si queremos que el accesos a este directorio sea en modo de lectura y escritura, cambiamos (ro) por (rw):

    /var/nfs/publico *.mi-red-local.org(rw,sync)

    Ya que se definieron los volúmenes a compartir, solo resta iniciar o reiniciar el servicio nfs. Utilice cualquiera de las dos líneas dependiendo el caso:

    /sbin/service nfs start
    /sbin/service nfs restart

    A fin de asegurarnos de que el servicio de nfs esté habilitado la siguiente vez que se encienda el equipo, debemos ejecutar lo siguiente:

    /sbin/chkconfig --level 345 nfs on

    El comando anterior hace que se habilite nfs en los niveles de corrida 3, 4 y 5.

    Como medida de seguridad adicional, si tiene un contrafuegos o firewall implementado, cierre, para todo aquello que no sea parte de su red local, los puertos tcp y udp 2049, ya que estos son utilizados por NFS para escuchar peticiones.

    Configurando las máquinas clientes.

    Para probar la configuración, es necesario que las máquinas clientes se encuentren definidas en el DNS o en el fichero /etc/hosts del servidor. Si no hay un DNS configurado en la red, deberán definirse los nombres y direcciones IP correspondientes en el fichero /etc/hosts de todas las máquinas que integran la red local.

    Como root, en el equipo cliente, ejecute el siguiente comando para consultar los volúmenes exportados (-e) a través de NFS por un servidor en particular:

    showmount -e 192.168.1.254

    Lo anterior mostrará una lista con los nombres y rutas exactas a utilizar. Ejemplo:

    Export list for 192.168.1.254:
    /var/nfs/publico 192.168.1.0/24

    A continuación creamos, como root, desde cualquier otra máquina de la red local un punto de montaje:

    mkdir /mnt/servidornfs

    Y para proceder a montar el volumen remoto, utilizaremos la siguiente línea de comando :

    mount servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs

    Si por alguna razón en el DNS de la red local, o el fichero /etc/hosts de la máquina cliente, decidió no asociar el nombre de la máquina que fingirá como servidor NFS a su correspondiente dirección IP, puede especificar ésta en lugar del nombre. Ejemplo:

    mount -t nfs 192.168.1.254:/var/nfs/publico /mnt/servidornfs

    Podremos acceder entonces a dicho volumen remoto con solo cambiar al directorio local definido como punto de montaje, del mismo modo que se haría con un disquete o una unidad de CDROM:

    cd /mnt/servidornfs

    Si queremos poder montar este volumen NFS con una simple línea de comando o bien haciendo doble clique en un icono sobre el escritorio, será necesario agregar la correspondiente línea en /etc/fstab. Ejemplo:

    servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs nfs user,exec,dev,nosuid,rw,noauto 0 0

    La línea anterior especifica que el directorio /var/nfs/publico/ de la máquina servidor.mi-red-local.org será montado en en directorio local /mnt/servidor/nfs, permitiéndole a los usuarios el poder montarlo, en modo de lectura y escritura y que este volumen no será montado durante el arranque del sistema. Esto último es de importancia, siendo que si el servidor no está encendido al momento de arrancar la máquina cliente, este se colgará durante algunos minutos.

    Una vez agregada la línea en /etc/fstab de la máquina cliente, si utiliza GNOME Midnight Commander, el administrador de archivos de GNOME-1.1 y 1.2, solo restará iniciar una sesión gráfica, hacer clique derecho sobre el escritorio y seleccionar Actualizar dispositivos o Rescan devices. Esto colocará un icono adicional sobre el escritorio que deberá ser tratado del mismo modo que se haría con un disquete o unidad de CDROM.

    Icono para volumen NFS

    Si utiliza GNOME-1.4 o superior, éste incorpora Nautilus como administrador de archivos, mismo que auto-detecta cualquier cambio en /etc/fstab. Solo debe hacerse clique derecho sobre el escritorio y debe seleccionarse el disco que se desee montar.

    Accesos a discos en Nautilus

    Instalación de GNU/Linux a través de un servidor NFS.

    Este es quizás el uso más común para un volumen NFS. Permite compartir un volumen que contenga una copia del CD de instalación de alguna distribución y realizar inclusive instalaciones simultáneas en varios equipos. Tiene como ventaja el que la instalación puede resultar más rápida que si se hiciese con un CDROM, siendo que la tasa de trasferencia de archivos será determinada por el ancho de banda de la red local, y nos permitirá instalar GNU/Linux en máquinas que no tengas unidad de CDROM.

    Una vez creado y configurado un volumen a compartir copiaremos todo el contenido del CD de instalación en éste:

    cp -r /mnt/cdrom/* /var/nfs/publico/

    En el directorio images del CD encontraremos varias imágenes para crear disquetes de arranque. Utilizaremos bootnet.img para crear el número de disquetes necesarios para cada máquina en la que realizaremos una instalación, y que nos permitirán acceder a la red. Inserte un disquete y ejecute lo siguiente:

    cd /var/nfs/publico/images/
    dd if=bootnet.img of=/dev/fd0 bs=1440k

    Añada en /etc/hosts, o bien de de alta en el DNS, las direcciones IP, que serán utilizadas por las nuevas máquinas, asociadas a un nombre con el dominio que específico como regla de control de acceso en /etc/exports -es decir *.mi-red-local.org-. Para /etc/hosts, puede quedar algo así:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea
    192.168.1.8 nueva_maquina.mi-red-local.org nueva_maquina
    192.168.1.9 otra_nueva_maquina.mi-red-local.org otra_nueva_maquina

    Utilice estos disquetes para arrancar en los equipos, ingrese una dirección IP y demás parámetros para esta máquina y cuando se le pregunte ingrese la dirección IP del servidor NFS y el directorio en éste donde se encuentra la copia del CD de instalación. El resto continuará como cualquier otra instalación.

    Autor: Joel Barrios Dueñas
    Correo electrónico: joelbarrios arroba linuxparatodos punto net
    Sitio de Red: http://www.linuxparatodos.net/

    Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

    (c) 1999-2005 Linux Para Todos. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

    Technorati Tags:
    >>

  • Cómo configurar Squid Proxy Caché PROXY-CACHE

    Squid es el servidor de proxy y cache por excelencia. Rechace imitaciones.

    Cuando navegamos a traves de un proxy, cada peticion que hace nuestro navegador se delega al servidor proxy y es este el que se descarga la pagina o el elemento web que se ha solicitado y se lo pasa a nuestro navegador. Por tanto es un intermediario entre los usuarios y la web. Al estar en medio de ese trafico puede realizar dos funciones muy importantes: controlar los accesos (permitir o denegar segun se disponga en sus normas); y ademas hacer cacheo de elementos (paginas web, imagenes, iconos que una vez se piden se guardan en la memoria del proxy), con lo que si se solicita un elemento que ya se ha pedido en lugar de volver a bajarselo de internet, lo sirve el propio proxy. Con esta tecnica de cache nos podemos ahorrar desde un 20 a un 40% de trafico de internet.

  • Debian para principiantes
    A tí que instalaste Debian te hablo. Sí, a tí. Mi intención es en este pequeño artículo darte algunas herramientas para moverte en esta distribución.
    Este artículo no cubre la instalación, eso ya está descrito en muchas partes, además si tienes suerte alguien ya te ayudó o lo hizo por tí. El tema es que después te quedas solo, en frente del teclado, pensando si hiciste bien en meterte en esto de Linux.
    Se presupone, eso sí, un conocimiento básico de cómo se usa un Unix, comandos, manipulación de archivos, etc. Este artículo está orientado a la administración.

  • Cómo utilizar los sockets en Linux
    En este artículo explicaré el funcionamiento básico de los sockets en Linux y veremos dos ejemplos prácticos de su uso. No me meteré en temas de eficiencia o temas demasiado técnicos en la explicación del protocolo IP y de TCP ni UDP. El usuario debe tener unos conocimientos básicos en la programación en Linux así como de redes.

    Para poder probar estos ejemplos necesitas un sistema Linux o Unix. Un compilador de C, yo los he probado tanto con cc como con gcc.

  • Guía de referencia de comandos Unix y Linux Guía de referencia de comandos Unix y Linux

    Este guía no es para leer de forma seguida, este guía pretende ser una referencia de comandos Unix/Linux que se pueda consultar en cualquier momento. No pretende ser una guía exhaustiva, sino una referencia que sirva como recordatorio de los comandos más utilizados.
    El shell:
    Existen distintos interpretes de comandos en el mundo Unix: csh, bash, tsh, ksh,.. pero salvo pequeñas diferencias todos son parecidos. En este documento partimos sobretodo de bash, ya que esta muy extendido a través de Linux.

21
Sep

Cómo configurar Apache como servidor WebDAV

Escrito por J. Llorente

PDFImprimir E-mail

Configuración de Apache, como servidor WebDAV

En este artículo, explicaré como convertir en Linux, nuestro servidor web Apache (que previamente habremos instalado), en un servidor WebDAV. El fin de este dossier, será el de poder publicar los calendarios que desarrollemos con la aplicación iCal de Apple, de una forma muy similar a como lo haríamos con una cuenta .mac.
Una vez publicados nuestros calendarios, podrá la gente suscribirse a ellos o consultarlos vía web.

 

¿Qué es un servidor WebDAV?.

WebDAV (Web-based Distributed Authoring and Versioning), es una serie de extensiones del protocolo HTTP que permite a los usuarios colaborar en la edición y administración de recursos web en un servidor remoto.
En definitiva, lo que nos permite WebDAV, es de una forma muy sencilla, gestionar totalmente los ficheros que hay almacenados en un servidor WebDAV. No solo consistirá en poder almacenar en dicho servidor, todos los ficheros que queramos, sino que además, podremos por ejemplo moverlos de ubicación, modificar sus propiedades, nombre o niveles de acceso/seguridad, escribir en ellos vía http, etc...
Lo que nos propone WebDAV, es ni más ni menos que trasladar el "trabajo en grupo o compartido" a la web, utilizando para ello el protocolo http. Por tanto, WebDAV nos permitirá que varios usuarios estén trabajando con los ficheros almacenados en el servidor (que podrán ser cualquier tipo de archivo: documentos, imágenes, etc...), pero no por ello deja que este trabajo entorpezca el de los demás usuarios, ya que tiene la posibilidad de crear los típicos "locks" en los ficheros, es decir, cuando un usuario este trabajando con un fichero, no dejará que ningún otro usuario trabaje en ese mismo instante con ese archivo, para así, no sobrescribir el trabajo realizado.
Además, WebDAV, al más puro estilo CVS, nos permitirá llevar un control de las versiones de un mismo fichero, pudiendo recuperar en caso de fallo, cualquiera de las versiones anteriores.

 

¿Qué es iCal?.


Para los que no conozcan el programa iCal, es una aplicación de calendario, mediante la cual podemos gestionar todas nuestras citas o tareas pendientes, de una forma similar a como lo haríamos con aplicaciones como korganizer, evolution u outlook.
La ventaja que tiene iCal frente a soluciones similares son varías:

 

  1. Mediante iCal podemos gestionar tantos calendarios como nosotros queramos, pudiendo, por ejemplo, distinguir fácilmente entre un calendario personal o laboral. Para ello, iCal se vale de unas etiquetas de colores que automáticamente le asignará a los eventos pertenecientes a ese determinado calendario.
    Además, para facilitar aún más la gestión de estos calendarios, podremos elegir, entre ver los eventos por separado o todos juntos (identificandolos por su color).
  2. Mediante iCal, podemos compartir nuestros calendarios fácilmente, con la ayuda de una cuenta .mac o de un servidor WebDAV. Será muy fácil publicar nuestros calendarios, para que la gente pueda acceder a ellos vía web o suscribiendose (ahorrandose por tanto, el tener que visitar la web de eventos).
  3. Además, será muy fácil configurar nuestra aplicación para que automáticamente actualice estas publicaciones, cuando hemos introducido algún cambio en alguno de los calendarios publicados.
  4. También muy fácilmente, podremos suscribirnos a un calendario que haya publicado alguien en internet. De esta forma, cuando arranquemos nuestra aplicación iCal, automáticamente nos actualizará los eventos o citas referentes a estos calendarios.
  5. Mediante la ayuda de aplicaciones como iSync, podremos sincronizar nuestras citas con las que tengamos apuntadas en nuestro teléfono móvil o PDA.  

 

 

Instalación del modulo mod_dav.

Como hemos dicho en la introducción de este artículo, para poner en marcha nuestro servidor WebDAV, vamos a utilizar un servidor Apache, que previamente hayamos instalado en nuestra maquina.
Por si solo, Apache no nos brinda la posibilidad de utilizarlo como servidor WebDAV, por lo que habrá que instalar una herramienta externa que si nos permita llevar a cabo esta labor. La herramienta que debemos usar, es el modulo de Apache mod_dav, que otorga las capacidades DAV a nuestro servidor web.
La instalación de este modulo, variará según la distribución que dispongamos, por lo que en este artículo veremos la forma de instalarlo en las distribuciones más usuales (distribuciones basadas en paquetes rpm, deb y mediante la compilación de su código fuente).

 

 

 

  1. Distribuciones basadas en rpm.
    Para instalar el modulo mod_dav en este tipo de distribución, lo más sencillo es hacernos con el paquete .rpm del mismo e instalarlo mediante la herramienta rpm.
    Para ello, podemos bajarnos el susodicho paquete de webs como htttp://rpmfind.net y una vez lo tengamos, ejecutar este comando (cuando se creo este artículo la versión más nueva disponible era la 1.0.3-5):
    rpm -ihv mod_dav-1.0.3-5.i386.rpm
    
    Con esto, estará perfectamente instalado en nuestro sistema.
  2. Distribuciones basadas en debian.
    Si queremos instalar mod_dav en debian (o similares), bastará con que ejecutemos un simple:
    apt-get install libapache-mod-dav
    
    Atención en esta distribución, que al instalar el modulo mod_dav, nos preguntará si queremos que configure por nosotros el servidor Apache, para que éste cargue el modulo y si le decimos que si, nos añadirá el código necesario para llevar a cabo tal acción, pero también nos comentará el código necesario para cargar el modulo de php.
  3. Compilación del código fuente.
    Si lo que queremos es instalar el modulo mod_dav desde su código fuente, lo que tenemos que hacer es bajarnos dicho código de la web oficial (http://www.webdav.org/mod_dav/). Una vez lo hayamos descargado, lo descomprimiremos:
    tar zxvf mod_dav-1.0.3-1.3.6.tar.gz
    
    y entonces, debemos decidir, si lo instalamos como modulo que se cargará dinámicamente mediante la utilidad de Apache "apxs", o bien si lo queremos instalar de forma estática en el ejecutable de Apache.
    Para la primera de las dos formas, deberemos de realizar estos pasos:
    cd mod_dav-1.0.3-1.3.6
    ./configure --with-apxs=/ruta/hacia/el/ejecutable/apxs
    make
    make install
    
    Para el segundo de los métodos, los pasos que hay que tomar son los siguientes:
    ./configure --with-apache=/directorio/del/Apache/compilado
    make
    make install
    
    En esta última manera, faltaría una cosa muy importante, recompilar de nuevo Apache, para que se active el modulo en el ejecutable del servidor web. Para ello, cuando compilemos Apache, le deberemos pasar como parámetro al configure:
    --activate-module=src/modules/dav/libdav.a
    


Con esto, ya tendríamos instalado el modulo mod_dav en nuestro sistema, faltandonos la configuración del servidor Apache.

Configuración de Apache.

Para configurar Apache, deberemos de editar el fichero httpd.conf (que según la distribución podrá estar en /etc/httpd/httpd.conf, /etc/httpd/conf/httpd.conf o /etc/apache/httpd.conf) y añadir en la parte de los DSO modules (contando que el modulo esta en la ruta /usr/lib/apache/1.3/libdav.so):

LoadModule dav_module /usr/lib/apache/1.3/libdav.so
Además, deberemos añadir al final del fichero el siguiente código:
<IfModule mod_dav.c>
DAVLockDB /var/lock/DAV/DAVLock
DAVMinTimeout 600
</IfModule>

<Location /dav/>
DAV On
AuthType Basic
AuthName "WebDAV Restringido"
AuthUserFile /home/.passw
<LimitExcept GET HEAD OPTIONS>
Require user webdav
</LimitExcept>
</Location>

Con la primera parte, lo que hacemos es si se ha cargado con éxito el modulo mod_dav, especificamos el fichero lock que creará el servidor WebDAV. El directorio donde creará tal fichero, /var/lock/DAV tiene que existir y debe tener permisos de escritura para el usuario con el que se ejecutan los procesos del Apache.
Además, de manera opcional, pero muy recomendable, especificamos el tiempo de vida en segundos de este fichero.

 

En la segunda parte, especificamos opciones del directorio que utilizaremos en el servidor para poner en marcha nuestro WebDAV Server (es el directorio donde se almacenarán los ficheros del servidor DAV y por tanto, donde se almacenarán nuestros calendarios).
En primer lugar especificamos cual va a ser este directorio, que en nuestro caso será /dav (<Location /dav/>).Este directorio, dado que empieza con la raíz "/", es relativo al DocumentRootdel dominio en donde estemos configurando el servidor, es decir, si el DocumentRoot fuese /var/www, el directorio que estaríamos indicando sería /var/www/dav.
Seguidamente, indicamos a Apache que ponga en marcha el servicio DAV para este directorio en concreto (DAV On).
Para asegurar el servicio, hacemos uso de la típica autenticación HTTP, con lo que si se conecta alguien a nuestro servidor WebDAV, le pedirá que se autentifique. Para ello, hacemos uso de las directivas (Estas directivas se podrían haber puesto en un fichero .htaccess, indicando que se va a utilizar el mismo, mediante la directiva AllowOverride AuthConfig):

AuthType Basic
AuthName "WebDAV Restringido"
AuthUserFile /home/.passw
Como puede observar, el fichero donde se almacenarán los nombres de los usuarios autorizados, será /home/.passw, por lo que posteriormente deberemos crear este fichero de contraseñas.
Finalmente ponemos limites a lo que se puede hacer con los ficheros almacenados en el directorio dav. Indicamos que salvo para las acciones GET, HEAD y OPTIONS, se requiera que se autentifique como usuario webdav (que es el que vamos a almacenar en nuestro fichero de contraseñas .passw).

Preparación de los directorios necesarios.

Ya tenemos Apache configurado, pero antes de reiniciar el servidor, vamos a crear y preparar los directorios y ficheros antes mencionados.
n primer lugar creamos y configuramos los permisos del directorio donde se almacenará el fichero lock (el usuario con el que se ejecuta el servidor Apache, variará según la distribución, pudiendo ser www-data, www o nobody):

mkdir /var/lock/DAV
chown www-data /var/lock/DAV
chmod 750 /var/lock/DAV

En segundo lugar, creamos el directorio principal, donde se van a almacenar los ficheros en el servidor WebDAV (este variará según el DocumentRoot, siendo el nuestro /var/www):

mkdir /var/www/dav
chown www-data /var/www/dav
chmod 750 /var/www/dav

Finalmente, crearemos el fichero contra el que nos validaremos a la hora de publicar nuestros calendarios. Para ello, nos valdremos de la aplicación htpasswd, que viene con cualquier instalación estándar de Apache:

httpaswd -c /home/.passw webdav
Al teclear este comando nos pedirá la contraseña que le vamos a poner al usuario webdav y al introducirla, nos generará el fichero /home/.passw con el susodicho usuario y el password que le hemos asignado.

Ahora sí, ya podemos reiniciar Apache:

/etc/init.d/apache restart (para debian) /etc/init.d/httpd restart (para las demás distribuciones).

Instalación de phpicalendar. Ahora mismo, ya tenemos en funcionamiento nuestro servidor WebDAV y por tanto, ya podríamos publicar nuestros calendarios en él. Pero antes de hacer esto, vamos a instalar una aplicación hecha en PHP en nuestro servidor web, que nos permitirá consultar dichos calendarios vía web, sin necesidad de suscribirnos a ellos. Esta aplicación, llamada phpicalendar, analiza el fichero .ics (es el estándar utilizado en muchos de los programas de calendario existentes) y lo plasma en la web de una forma similar a como se hace con una cuenta .mac. Ni que decir tiene, que al tratarse de una aplicación PHP, deberemos tener soporte en nuestro servidor web, para estas aplicaciones. Para instalarlo, en primer lugar, nos lo tendremos que descargar de la web oficial de este proyecto, http://phpicalendar.sourceforge.net/nuke. Una vez descargado, lo descomprimimos:

tar xvzf phpicalendar-1.1.tgz
Movemos el directorio que nos habrá creado a un lugar accesible vía web, es decir, a un directorio que este dentro de nuestro DocumentRoot. Nosotros, además de hacer esto, renombraremos el directorio que nos ha creado, para facilitar que la gente se acuerde del nombre del mismo (escribir en el navegador, phpicalendar, es un tanto complicado :-) ):
mv phpicalendar /var/www/calendario
Posteriormente, deberemos configurar esta aplicación, para lo cual, editaremos el fichero /var/www/calendario/config.inc.php, cambiando en el mismo, ciertos parámetros:
En $language ponemos 'Spanish';
En $week_start_day ponemos 'Monday';
En $calendar_path ponemos la ruta del servidor webdav, '/var/www/dav/';
Las demás opciones las cambiamos si nos apetece, pero no es necesario.
Con esto, ya tendríamos nuestro servidor WebDAV listo y podríamos empezar a publicar nuestros calendarios, suscribirnos a los publicados o consultarlos vía web.

 


Ejemplo de calendario con phpicalendar. Click para ampliar

 

Crear, publicar calendarios y mandar invitaciones.
 

Una vez tenemos ya en marcha el servidor DAV, solo nos falta crear un calendario y publicarlo en el susodicho servidor.
 

Para crear un calendario con iCal, debemos dirigirnos al menú Archivo y seleccionamos Nuevo calendario. Tras darle un nombre, ya podemos añadir nuevos eventos, simplemente seleccionando dicho calendario y dirigiendonos al menú Archivo - Nuevo evento.

 
Para publicar un calendario, debemos seleccionarlo y después dirigirnos al menú Calendario - Publicar.Al hacer esto, nos aparecerá una nueva pantalla, preguntandonos los datos de publicación:
En "Nombre publico" le daremos el nombre con el que queramos publicar el calendario.
Seleccionamos las opciones que queramos, como la siempre interesante "Publicar cambios automáticamente" (las demás opciones son Publicar asuntos y notas, Publicar alarmas y Publicar tareas pendientes) y en "Publicar calendario", seleccionamos "en un servidor WebDAV".
Al hacer esto, nos aparecerán tres nuevas opciones. En la primera de ellas, debemos especificar la "Dirección URL base:" (http://www.dominiowebdav.com/dav/).
En la segunda, debemos especificar el usuario que tiene acceso a publicar calendarios en ese servidor (en nuestro caso el usuario es webdav -lo creamos con httpasswd-) y en la tercera, la contraseña del mismo (la que indicamos con httpasswd).

 

 


Apretamos publicar y ya estará publicado en el servidor.

Suscribirse a un calendario.
 

Para suscribirse a un calendario mediante iCal, deberemos dirigirnos al menú Calendario - Suscribirse...
Al hacerlo, nos aparecerá una nueva pantalla, donde deberemos poner la "Dirección URL del calendario:", la cual será similar a esta (contando que el calendario fue publicado con el nombre Eventos):
webcal://www.dominiowebdav.com/dav/Eventos.ics
Seguidamente, podemos seleccionar que se actualice cada un cierto tiempo y al terminar, apretamos el boton "Suscribirse".

 
Cuando acabe este proceso, ya tendremos los eventos referentes a este calendario, en nuestra aplicación iCal.

Combinar calendarios con korganizer.
 

O es lo mismo que suscribirse a un calendario con iCal, pero podemos con la herramienta Korganizer de KDE, bajarnos los eventos referentes a un calendario publicado en un servidor WebDAV. Para ello, nos dirigimos al menú Archivo - Combinar y cuando nos pregunta la dirección del fichero .ics, deberemos poner:
http://www.dominiowebdav.com/dav/Eventos.ics

Consultar vía web, los calendarios publicados.

Gracias a que hemos instalado phpicalendar, podrán acceder a él los usuarios del servidor WebDAV, via web. Solo tienen que introducir la dirección web:

 

http://www.dominiowebdav.com/calendario/

Y ya esta, con esto llegamos al final del artículo. Si crees que hay alguna equivocación o deseas completarlo, no dudes en pasarte por el canal de sugerencias de la web.

 

Fuente: http://www.redes-linux.com/webdav.php?pag=6

 

 

 

 

 

Technorati Tags: >>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Últimos contenidos

Facebook conecta

Total visitas

3641428
38.107.179.234
UNITED STATES
US

Quien está en linea

Tenemos 58 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios

Vitales Servidor