jucarmona

Inicio » Equipos de Ecritorio » Instalación y configuración de Servidor Webdav en Linux

Instalación y configuración de Servidor Webdav en Linux

Me invitas a un café?
Te regalo 3€ de descuento en carburante Repsol!
Para conseguirlo:Descárgate la app Waylet, introduce una tarjeta de pago y canjea mi código:
5i9imv36 en Beneficios > Canjear código. Consulta condiciones pinchando en la imagen
Follow jucarmona on WordPress.com

Estadísticas del blog

  • 104.249 visitas, y subiendo...

Hoy vamos a ver un tipo de servidor no muy utilizado, pero muy práctico, y con un sencillo acceso para los clientes, Webdav, podremos compartir archivos a través del navegador, por lo que los clientes no necesitan instalar ninguna aplicación adicional.

Se puede configurar de tipo anónimo o con credenciales de acceso, veremos las dos formas.

El puerto que utilizará el servidor será el estándar para el servicio web, el puerto 80, por defecto éste puerto suele estar abierto, pero si no es así habrá que abrirlo para que funcione correctamente.

** En caso de que el servidor deba estar accesible desde Internet, también deberemos abrir el puerto 80 en el router apuntando hacia nuestra máquina. Aquí he encontrado un buen manual para ello.

Publi Amazon Increíble éste ASUS ROG G713IE-HX011 – Portátil Gaming de 17.3″ Full HD 144Hz (Ryzen 7 4800H, 16GB RAM, 1TB SSD, GeForce RTX 3050 Ti 4GB, Sin Sistema Operativo) Gris Eclipse – Teclado QWERTY español

CONFIGURAR SIN USUARIO Y CONTRASEÑA

Empezamos, instalaremos el servidor web a través del programa apache

sudo apt install apache2 apache2-utils

A continuación crearemos la carpeta desde la que vamos a compartir los archivos, la ruta habitual es dentro del directorio /var/www, en mi caso se llamará «compartir»

sudo mkdir /var/www/compartir

Le daremos la propiedad de la carpeta al usuario y grupo www-data, de forma recursiva

sudo chown -R www-data:www-data /var/www/

Debemos habilitar un par de módulos de apache:

sudo a2enmod dav

sudo a2enmod dav_fs

Tal y como nos indica la terminal, reiniciamos apache

sudo systemctl restart apache2

Pasamos a configurar el archivo de configuración de los sitios web de Apache, como siempre antes de modificarlo le haremos copia de seguridad, para tener el original guardado

sudo cp -p /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.copia

Publi Amazon Problemas de cobertura wifi en casa? Prueba éste Mercusys – HALO H50G(3-Pack), AC1900 Mesh Wi-Fi, Doble Banda, Cobertura hasta 550 m², 3× Gigabit Puerto por Unidad, MU-MIMO, Beamforming, Control Parental, Smart Connect

Ahora sí, editamos el archivo, como siempre, yo lo hago con gedit

sudo gedit /etc/apache2/sites-available/000-default.conf

De la siguiente manera es cómo debe quedar el archivo, simplemente cambiar «compartir» por el nombre de vuestra carpeta

DavLockDB /var/www/DavLock
<VirtualHost *:80>

  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /compartir /var/www/compartir

  <Directory /var/www/compartir>
    DAV On
  </Directory>

</VirtualHost>

** Lo que pongamos entre «Alias /» y «/var…» será lo que debemos poner tras la ip/dominio del servidor a la hora de acceder, yo he puesto el mismo nombre que el de la carpeta, «compartir», pero le pondremos lo que queramos.

Guardamos el archivo, cerramos y reiniciamos el servicio apache

sudo systemctl restart apache2

Publi Amazon Un Disco duro externo con estilo, USB 3.1 de alta velocidad externo, 1 TB, 2 TB, disco duro portátil para Mac, PC, portátil (2 TB, negro)

Con ésto ya tendríamos en funcionamiento nuestro servidor web, probamos el acceso en el navegador, como hemos dicho, ponemos la IP/Dominio y el alias:

** Como se puede apreciar, el navegador nos indica la versión de Apache y el puerto utilizados, si no queremos que sea así, haríamos copia y editaríamos el fichero /etc/apache2/conf-enabled/security.conf, simplemente tendríamos que descomentar la línea «ServerSignature Off» y comentar la de «ServerSignature On», tal y como se ve en la captura, guardar y reiniciar Apache2

sudo gedit /etc/apache2/conf-enabled/security.conf

——————————————————————————————————————–

CONFIGURAR CON USUARIO Y CONTRASEÑA

Para que sólo se pueda acceder con usuario y contraseña, comenzaremos por crear el usuario que queramos, en mi caso será «jucarmona», pondremos la contraseña deseada

sudo htdigest -c /etc/apache2/users.password webdav jucarmona

Daremos a Apache la propiedad del fichero users.password

sudo chown www-data:www-data /etc/apache2/users.password

Modificamos el archivo de configuración del sitio

sudo gedit /etc/apache2/sites-available/000-default.conf

En éste caso, debe quedar como se indica a continuación, por supuesto modificando el alias y la ruta de la carpeta por lo que corresponda en vuestro caso

DavLockDB /var/www/DavLock
<VirtualHost *:80>

  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /compartir /var/www/compartir

  <Directory /var/www/compartir>
    DAV On
    AuthType Digest
    AuthName "webdav"
    AuthUserFile /etc/apache2/users.password
    Require valid-user
  </Directory>

</VirtualHost>

Publi Amazon Potente Mini PC Ordenador de Sobremesa,CHUWI Corebox Windows 10 Mini Computadora con Intel Core i5-8259U CPU,16GB RAM+512GB SSD,2.4G+5G Wi-Fi de Doble Banda,BT 4.0.

Guardamos y cerramos el fichero, debemos activar el módulo digest

sudo a2enmod auth_digest

Por último, reiniciamos el servicio para que surtan efecto los cambios

sudo systemctl restart apache2

Listo, comprobamos que nos pide usuario y contraseña para poder acceder

Si te ha sido de utilidad, me invitas a una cerveza? 😊

2 comentarios

  1. Hola, sabes si este tipo de instalacion para compartir ficheros se podra hacer sobre lighttpd/1.4.45, mi maquinita es de modestos recursos, yo diria minimos y me serviria para compartir en la red del trabajo, saludos

    • diemo75 dice:

      Hola, muy buenas, pues entiendo que debe funcionar en cualquier entorno en el que funcione el servidor Apache, por lo tanto creo que sí, te animo a probarlo

Deja un comentario