GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo servir rápidamente archivos y carpetas a través de HTTP en Linux

Hoy, me encontré con un montón de métodos para servir un solo archivo o un directorio completo con otros sistemas en nuestra red de área local a través de un navegador web. Probé un par de métodos en mi máquina de prueba de Ubuntu y todos funcionaron bien como se describe a continuación. Si alguna vez se preguntó cómo servir archivos y carpetas de manera fácil y rápida a través de HTTP en Linux, uno de los siguientes métodos definitivamente lo ayudará.

Servir archivos y carpetas a través de HTTP en Linux

Descargo de responsabilidad: Todos los métodos proporcionados aquí están destinados a ser utilizados dentro de una red de área local segura. Dado que estos métodos no tienen ningún mecanismo de seguridad, no se recomienda usarlos en producción . ¡Has sido advertido!

Método 1:uso del servidor HTTP simple (Python)

Ya hemos escrito una breve guía para configurar un servidor http simple para compartir archivos y directorios al instante en el siguiente enlace. Si tiene un sistema con Python instalado, este método es muy útil.

  • Cómo configurar un servidor de archivos básico usando simpleHTTPserver

Método 2:uso de Quickserve (Python)

Este método es específico para Arch Linux y sus variantes. Consulte el siguiente enlace para obtener más detalles.

  • Cómo compartir archivos y carpetas al instante en Arch Linux

Método 3:uso de Ruby

En este método, usamos Ruby para servir archivos y carpetas a través de HTTP en sistemas similares a Unix. Instale Ruby y Rails como se describe en el siguiente enlace.

  • Instalar Ruby on Rails en CentOS y Ubuntu

Una vez instalado Ruby, vaya al directorio, por ejemplo ostechnix, que desea compartir a través de la red:

$ cd ostechnix

Y ejecuta el siguiente comando:

$ ruby -run -ehttpd . -p8000
[2018-08-10 16:02:55] INFO WEBrick 1.4.2
[2018-08-10 16:02:55] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux]
[2018-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000

Asegúrese de que el puerto 8000 esté abierto en su enrutador o firewall. Si el puerto ya ha sido utilizado por otros servicios, utilice un puerto diferente.

Ahora puede acceder al contenido de esta carpeta desde cualquier sistema remoto utilizando la URL - http://:8000/ .

servidor http rubí

Para dejar de compartir, presione CTRL+C .

Método 4:uso del servidor Http (NodeJS)

servidor HTTP es un servidor http de línea de comando simple y listo para producción escrito en NodeJS. No requiere configuración y se puede usar para compartir archivos y directorios al instante a través del navegador web.

Instale NodeJS como se describe a continuación.

  • Cómo instalar NodeJS en Linux

Una vez instalado NodeJS, ejecute el siguiente comando para instalar el servidor http.

$ npm install -g http-server

Ahora, vaya a cualquier directorio y comparta su contenido a través de HTTP como se muestra a continuación.

$ cd ostechnix
$ http-server -p 8000
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8000
  http://192.168.225.24:8000
  http://192.168.225.20:8000
Hit CTRL-C to stop the server

Ahora, puede acceder al contenido de este directorio desde sistemas locales o remotos en la red usando URL - http://:8000 .

nodejs http-servidor

Para dejar de compartir, presiona CTRL+C .

Método 5:uso de Miniserve (Rust)

Miniservido es otra utilidad de línea de comandos que le permite servir archivos rápidamente a través de HTTP. Es una utilidad muy rápida, fácil de usar y multiplataforma escrita en Rust lenguaje de programación. A diferencia de las utilidades/métodos anteriores, proporciona soporte de autenticación, por lo que puede configurar el nombre de usuario y la contraseña para los recursos compartidos.

Instale Rust en su sistema Linux como se describe en el siguiente enlace.

  • Instalar el lenguaje de programación Rust en Linux

Después de instalar Rust, ejecute el siguiente comando para instalar miniserve:

$ cargo install miniserve

Alternativamente, puede descargar los archivos binarios desde la página de lanzamientos y hacerlo ejecutable.

$ chmod +x miniserve-linux

Y luego puede ejecutarlo usando el comando (suponiendo que el archivo binario miniserve se descargue en el directorio de trabajo actual):

$ ./miniserve-linux <path-to-share>

Uso

Para servir un directorio:

$ miniserve <path-to-directory>

Ejemplo:

$ miniserve /home/sk/ostechnix/
miniserve v0.2.0
Serving path /home/sk/ostechnix at http://[::]:8080, http://localhost:8080
Quit by pressing CTRL-C

Ahora, puede acceder al recurso compartido desde el propio sistema local utilizando la URL - http://localhost:8080 y/o desde un sistema remoto con URL - http://:8080 .

Para servir un solo archivo:

$ miniserve <path-to-file>

Ejemplo:

$ miniserve ostechnix/file.txt

Servir archivo/carpeta con nombre de usuario y contraseña:

$ miniserve --auth joe:123 <path-to-share>

Enlace a varias interfaces:

$ miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>

Como puede ver, he dado solo 5 métodos. Pero, hay algunos métodos más que se dan en el enlace adjunto al final de esta guía. Ve y pruébalos también. Además, márquelo como favorito y vuelva a visitarlo de vez en cuando para comprobar si hay nuevas incorporaciones a la lista en el futuro.

Referencia:

  • Lista de comentarios de servidor estático http

Linux
  1. Cómo instalar y probar Ansible en Linux

  2. Cómo instalar y usar Flatpak en Linux

  3. Cómo transferir rápidamente archivos grandes a través de la red en Linux y Unix

  4. Cómo instalar y configurar Nginx desde el origen en Linux

  5. ¿Cómo cambio el nombre de todas las carpetas y archivos a minúsculas en Linux?

Cómo instalar LFTP para descargar y cargar archivos en Linux

Cómo comprimir archivos y carpetas en Linux [Consejo para principiantes]

Cómo abrir archivos y carpetas como administrador en Nautilus File Manager en Linux

Cómo comprimir archivos y carpetas en Linux

Cómo instalar TestDisk en Linux y recuperar archivos eliminados

Cómo instalar y usar Pigz para comprimir archivos más rápido en Linux