
En este paso a paso aprenderemos como instalar WebDav en Ubuntu.
WebDav (Web-based Distributed Authoring and Versioning por sus siglas en inglés) es un servicio que nos permite compartir, editar y manejar archivos por un grupo en un servidor remoto vía HTTP.
Entonces para que sirve realmente, la idea principal detrás de WebDav fue la de crear un conjunto de protocolos que sirvieran para manejar archivos a través de la Web de forma colaborativa por grupos de trabajos.
Tiempo de instalación: 20 min aproximadamente
Contenido:
Imaginen un grupo de trabajo que tiene que hacer una propuesta o un programa y que cada individuo de ese grupo de trabajo tiene que hacer un aporte sobre un documento que se va a entregar, en este caso WebDav permitiría a todos en el grupo modificar ese archivo como si lo tuvieran en su propia PC, todos los cambios que hicieran los integrantes del grupo se vería reflejado en el documento e inclusive se puede evitar que dos personas modifiquen el mismo archivo al mismo tiempo para evitar versiones disparejas o errores. Todo esto se hace a través de un servidor Web que es el que permite compartir los archivos.
Entonces vamos a ver como instalar este útil servicio paso a paso.
WebDav trabaja sobre Apache por lo que es necesario instalarlo, para esto tenemos ya hemos hecho un tutorial muy útil que puedes seguir aquí:
Como instalar un Servidor LAMP en Ubuntu Paso a PasoPara WebDav sólo necesitas Apache (Paso 2 del tutorial anterior) si vas a utilizar este servidor Web para otras cosas puedes instalar todo el servidor LAMP completo es tu decisión, una vez que termines puedes volver aquí para instalar WebDav.
Listo?, muy bien vamos a ponernos a trabajar.
WebDav está disponible como un módulo de apache por lo que tenemos que hacer es simplemente activar los módulos ejecutando en el terminal:
sudo a2enmod dav_fs
sudo a2enmod dav
sudo a2enmod dav_lock
Estos módulos son los necesarios para activar y dar soporte a WebDav.
Para que tome efecto reiniciamos el servidor Apache
sudo /etc/init.d/apache2 restart
Vamos a crear un Host Virtual donde funcionará el WebDav para esto creamos el directorio donde lo vamos a alojar ejecutando en el terminal:
sudo mkdir -p /var/www/webdav
sudo chown www-data /var/www/webdav
En el último comando le dimos propiedad de la carpeta al usuario por defecto de Apache que es www-data.
Creamos una nueva plantilla para el host virtual:
sudo nano /etc/apache2/sites-available/webdav
Nota: puede utilizar el editor de su preferencia como vim, gedit, kate, emacs, etc.
Dentro de este archivo copiamos las siguientes líneas:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/webdav
<Directory /var/www/webdav/>
Options Indexes FollowSymLinks MultiViews
AllowOverride
Order allow,deny
allow from all
</Directory>
<Location />
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/.passwd.dav
Require valid-user
DavMinTimeout 600
<LimitExcept GET PUT HEAD OPTIONS POST>
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>
Aquí estamos creando nuestro nuevo sitio virtual y diciendo que cualquier petición que venga por el puerto 80 (que es el que se usa por defecto para HTTP) lea el contenido que está en el directorio /var/www/webdav que creamos (para más en Host Virtuales puede visitar Como configurar un Host Virtual en Apache basado en Nombre). Además tenemos las siguientes directivas para la autenticación de WebDav:
Para más en las directivas del módulo WebDav puede visitar este sitio.
Por último activamos el Host Virtual y desactivamos el sitio por defecto de apache:
sudo a2ensite webdav
sudo a2dissite default
Vamos a crear el archivo de autenticación /var/www/.passwd.dav y el usuario que utilizaremos en este ejemplo es vensign (cambienlo por el nombre de usuario de su preferencia) ejecutamos:
sudo htpasswd -c /var/www/.passwd.dav vensign
La opción -c es para que cree el archivo, nos pedirá una contraseña para el usuario vensign.
Luego modificamos los permisos del archivo .passwd.dav para que sólo pueda ser modificado por root y por el grupo www-data (que es al que pertenece Apache). Ejecutamos:
sudo chown root:www-data /var/www/.passwd.dav
sudo chmod 640 /var/www/.passwd.dav
Por último reiniciamos el servidor Apache ejecutando:
sudo /etc/init.d/apache2 restart
Para esto vamos a instalar el cliente por consola para WebDav llamado cadaver ejecutamos
sudo apt-get install cadaver
Y luego ejecutamos la siguiente línea para conectarnos con WebDav
cadaver http://localhost
Debería aparecerles algo como lo siguiente:
$ cadaver http://localhost/ Authentication required for webdav on server `localhost': Username: vensign Password: dav:/>
Nota: Si no les funciona con localhost prueben 127.0.0.1
Con esto hemos comprobado que sirve el servidor WebDav
Para salir del prompt de dav:/> escriban quit y luego presionen Enter o Entrar
Para conectarse a WebDav desde un cliente Ubuntu vamos al menú de Lugares>Conectar con el Servidor...
Aparecerá una pantalla como la siguiente aquí escogemos WebDav(HTTP) y la dirección IP del servidor (en este ejemplo 192.168.1.30) deben cambiarla por la de su servidor WebDav:

Conectar al servidor WebDav Ubuntu
Y luego solicitará el usuario y contraseña que colocamos anteriormente

Solicitud Usuario y Contraseña WebDav
Una vez ingresado el usuario y contraseña aparecerá la carpeta compartida del WebDav donde podrá agregar, modificar y manejar archivos. Recuerde cambiar vensign por el usuario que escogió más arriba.
En MS Windows vaya a Mis sitios de Red y seleccione Agregar un sitio de red

WebDav Agregar sitio de Red
Luego en el cuadro que aparece seleccionamos Siguiente y en el siguiente Cuadro seleccionamos la opción Elija otra ubicación de red y hacemos click en Siguiente

WebDav Elegir otra ubicacion de red
Escribimos la dirección IP de nuestro servidor, en este ejemplo http://192.168.1.30:80 (cambiala por la dirección de tu servidor) y hacemos click en Siguiente.

WebDav Dirección Servidor
Nos pedirá el usuario y contraseña que elegimos más arriba durante la instalación, en este ejemplo vensign.

WebDav Usuario y Contraseña
Por último nos pide un nombre para el servidor coloquen el que quieran.
En el último cuadro seleccionamos Finalizar y ya nos debería aparecer la carpeta en nuestro sitio de red

WebDav Directorio
Si quiere agregar otro usuario a WebDav debe ejecutar el siguiente comando en el servidor:
sudo htpasswd /var/www/.passwd.dav prueba
Donde prueba es el usuario lo puedes cambiar por el nombre que quieras y utilizar ese usuario para conectarte a WebDav.
Eso es todo con esto tendremos WebDav instalado y configurado y nuestros clientes conectados listos para compartir archivos via remota.
Espero que les sea de utilidad este tutorial cualquier duda o pregunta dejen su comentario y con gusto les responderé.
Saludos
Olivers
Nosotros en Vensign ofrecemos servicios de soporte, instalación y configuración de Linux y Software Libre para PyMES y corporaciones, puede ver nuestros servicios aquí o Contactarnos
Si quieres recibir más artículos y noticias de diseño y desarrollo Web, Negocios, Software Libre y Linux nos puedes seguir a través de nuestro RSS, Twitter o suscribirte a nuestro Boletín de Noticias
Otros artículos que te pueden interesar
![]()
Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License
Magnífico !!
Muy bueno…realizando el tutorial!!!
listo funciona la perfecto la instalación…ahora me gustaría compartir un doc como dijiste al principio pero cuando lo trato de abrir de una pc cliente lo que me abre es el navegador… lo que quiero es que se abra el archivo con su aplicación predeterminada
Funcionando sin problemas. Desde otros Linux clientes se pueden abrir directamente los documentos en los programas deseados pero desde Windows no he podido. Con click der en el documento no aparece la opcion de abrir o abrir con en el menú.
Un detalle: En cuanto a las imágenes, he notado que ni Linux ni Windows muestran vistas en miniatura, sólo como íconos. ¿Hay forma de que se vean como vista previa en miniatura?
Gracias
Hola Irenka,
Recuerda que WebDav es un sistema muy sencillo para compartir archivos, practicamente estás compartiendo un directorio a través de un servidor Web y por lo tanto no tienes tantas funcionalidades como un directorio normal.
Si quieres tener más funcionalidades puedes probar Samba que permite compartir archivos con MS Windows de una forma más completa.
http://www.vensign.com/blog/instalando-samba-en-ubuntu-debian-para-compartir-archivos-e-impresoras-en-redes-windows.html
Muchas gracias por la respuesta; samba ha funcionado perfecto para la red local, muy buena guía.
Una consulta más sobre webdav:
¿Se puede acceder a webdav en forma remota, es decir con clientes fuera de la red local a través de Internet?
Muchas gracias desde ya
Como desactivo la opcion de webdav me la instalo en la carpeta raiz de mi servidor…
Buenas, primero que todo muy bueno el tutorial, ahora me gustaria saber si me puede ayudar para hacer esto: que existan multiples usuarion, pero digamos que el usuario prueba1 solo pueda ver la carpeta prueba1, el usuario prueba2 la carpeta prueba2, asi sucesivamente, sin que los usuarios puedan ver las carpetas de los demas.
Muchas gracias de antemano!!!
Acabo de instalar el servidor LAMP y perfecto. Muchas Gracias. Tutorial perfecto.
Ahora he instalado el servidor WebDav y al intentar probarlo, tanto con cadaver como con la interfaz gráfica me da un error 500 Internal Server Error.
…
ThinkPad-X61s:/var/www/webdav$ cadaver 127.0.0.1
Autenticación requerida para webdav en el servidor ’127.0.0.1′:
Nombre de usuario: haddock
Contraseña:
Could not open collection:
500 Internal Server Error
dav:/? quit
…
El fichero de contraseñas está y los usuarios que he dado de alta y su contraseña encriptada también como podéis ver…
ThinkPad-X61s:/var/www/webdav$ sudo cat /var/www/.passwd.dav
haddock:$apr1$oX1piVTK$63auRVBYyHZJ.d/lxWnO5.
davuser:$apr1$vnzBMURZ$LqKFpLZJGSthS5sNcbSuB/
ThinkPad-X61s:/var/www/webdav$
Podéis ayudarme, por favor? No me ha dado ningún error en la instalación de ningún producto. Gracias.