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.
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
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
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>
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
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
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