GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar WebDAV con Lighttpd en Debian 8 (Jessie)

Esta guía explica cómo configurar WebDAV con Lighttpd en un servidor Debian 8 (Jessie). WebDAV significa Creación y control de versiones distribuidas basadas en la web y es un conjunto de extensiones del protocolo HTTP que permite a los usuarios editar archivos directamente en el servidor Lighttpdd para que no sea necesario descargarlos/cargarlos a través de FTP. Por supuesto, WebDAV también se puede utilizar para cargar y descargar archivos.

1 nota preliminar

Estoy usando un servidor Debian 8 con la dirección IP 192.168.1.100 aquí. Mi configuración se basa en el tutorial del servidor mínimo de Debian, pero cualquier sistema Debian que aún no ejecute un servidor web debería estar bien.

2 Instalación de WebDAV

Puede instalar lighttpd (si aún no está instalado), el módulo lighttpd WebDAV y el paquete apache2-utils (que contiene la herramienta htpasswd que necesitaremos más adelante para generar un archivo de contraseña para compartir WebDAV) de la siguiente manera:

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

Posteriormente, debemos asegurarnos de que el directorio /var/run/lighttpd sea propiedad del usuario y grupo www-data. Este directorio contendrá una base de datos SQLite necesaria para WebDAV:

chown www-data:www-data /var/run/lighttpd/

A continuación, habilitamos los módulos mod_auth y mod_webdav:

lighty-enable-mod auth
lighty-enable-mod webdav

Vuelva a cargar Lighttpd después:

service lighttpd force-reload

3 Creando un host virtual

Ahora crearé un vhost de Lighttpd (www.example.com) en el directorio /var/www/web1/web. Si ya tiene un host virtual para el que le gustaría habilitar WebDAV, debe adaptar este tutorial a su situación.

Primero, creamos el directorio /var/www/web1/web y hacemos que el usuario lighttpd (www-data) sea el propietario de ese directorio:

mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/web

Luego abrimos /etc/lighttpd/lighttpd.conf y agregamos el siguiente vhost al final del archivo:

nano /etc/lighttpd/lighttpd.conf
[...]
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
}

Luego reiniciamos lighttpd:

service lighttpd restart

4 Configure el host virtual para WebDAV

Ahora creamos el archivo de contraseña de WebDAV /var/www/web1/passwd.dav con la prueba de usuario (el modificador -c crea el archivo si no existe):

htpasswd -c /var/www/web1/passwd.dav test

Se le pedirá que escriba una contraseña para la prueba de usuario.

(No use el interruptor -c si /var/www/web1/passwd.dav ya existe porque esto recreará el archivo desde cero, lo que significa que perderá todos los usuarios en ese archivo).

Ahora cambiamos los permisos del archivo /var/www/web1/passwd.dav para que solo root y los miembros del grupo www-data puedan acceder a él:

chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav

Ahora modificamos nuestro vhost en /etc/lighttpd/lighttpd.conf para que quede de la siguiente manera:

nano /etc/lighttpd/lighttpd.conf
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"
dir-listing.activate = "enable" webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db" auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav" auth.require = ( "" => ( "method" => "basic", "realm" => "webdav", "require" => "valid-user" ) ) } }

La directiva alias.url hace (junto con $HTTP["url"] =~ "^/webdav($|/)") que cuando llama a /webdav, se invoca WebDAV, pero aún puede acceder a la raíz del documento completo de el vhost. Todas las demás URL de ese vhost siguen siendo HTTP "normal".

Reinicie Lighttpd después:

service lighttpd restart

5 Probando WebDAV

Ahora instalaremos cadaver, un cliente WebDAV de línea de comandos:

apt-get -y install cadaver

Para probar si WebDAV funciona, escriba:

cadaver http://www.example.com/webdav/

Se le debe solicitar el nombre de usuario. Escriba prueba y luego la contraseña para la prueba de usuario. Si todo va bien, se le debe otorgar acceso, lo que significa que WebDAV funciona correctamente. Escriba quit para salir del shell de WebDAV:

[email protected]:/home/administrator# cadaver http://www.example.com/webdav/
Authentication required for webdav on server `www.example.com':
Username: test
Password:
dav:/webdav/> quit
Connection to `www.example.com' closed.
[email protected]:/home/administrator#

6 Enlaces

  • WebDAV:http://www.webdav.org/
  • Lighttpd:http://www.lighttpd.net/
  • Debian:http://www.debian.org/

Debian
  1. Cómo instalar R en Debian 9

  2. Cómo instalar Proxmox VE 4 en Debian 8 (Jessie)

  3. Cómo instalar Nginx en Debian 8 (Jessie)

  4. Cómo instalar Lighttpd en Debian 9

  5. Cómo instalar WonderCMS con Nginx en Debian 11

Cómo instalar Magento en Debian 8 Jessie

Cómo instalar Drupal en Debian 8 Jessie

Cómo instalar TeamViewer en Debian 8 Jessie

Cómo instalar Docker en Debian 8 Jessie

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar Lighttpd en Debian 10