GNU/Linux >> Linux Esercitazione >  >> Linux

Come servire rapidamente file e cartelle su HTTP in Linux

Oggi mi sono imbattuto in un sacco di metodi per servire un singolo file o un'intera directory con altri sistemi nella nostra rete locale tramite un browser web. Ho testato un paio di metodi nella mia macchina di prova Ubuntu e tutti hanno funzionato perfettamente come descritto di seguito. Se ti sei mai chiesto come servire facilmente e rapidamente file e cartelle su HTTP in Linux, uno dei seguenti metodi ti sarà sicuramente d'aiuto.

Servire file e cartelle su HTTP in Linux

Disclaimer: Tutti i metodi qui forniti sono pensati per essere utilizzati all'interno di una rete locale sicura. Poiché questi metodi non dispongono di alcun meccanismo di sicurezza, non è consigliabile utilizzarli in produzione . Sei stato avvisato!

Metodo 1:utilizzo di simpleHTTPserver (Python)

Abbiamo già scritto una breve guida per configurare un semplice server http per condividere file e directory istantaneamente nel seguente link. Se hai un sistema con Python installato, questo metodo è abbastanza utile.

  • Come configurare un file server di base utilizzando simpleHTTPserver

Metodo 2:utilizzo di Quickserve (Python)

Questo metodo è specifico per Arch Linux e le sue varianti. Controlla il seguente link per maggiori dettagli.

  • Come condividere istantaneamente file e cartelle in Arch Linux

Metodo 3 - Utilizzo di Ruby

In questo metodo, utilizziamo Ruby per servire file e cartelle su HTTP in sistemi simili a Unix. Installa Ruby e Rails come descritto nel seguente link.

  • Installa Ruby on Rails in CentOS e Ubuntu

Una volta installato Ruby, vai alla directory, ad esempio ostechnix, che vuoi condividere in rete:

$ cd ostechnix

E, esegui il seguente 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

Assicurati che la porta 8000 sia aperta nel tuo router o firewall. Se la porta è già stata utilizzata da altri servizi, usa una porta diversa.

Ora puoi accedere al contenuto di questa cartella da qualsiasi sistema remoto utilizzando l'URL - http://:8000/ .

server http ruby

Per interrompere la condivisione, premi CTRL+C .

Metodo 4:utilizzo del server HTTP (NodeJS)

Server HTTP è un semplice server http da riga di comando pronto per la produzione scritto in NodeJS. Non richiede alcuna configurazione e può essere utilizzato per condividere istantaneamente file e directory tramite browser web.

Installa NodeJS come descritto di seguito.

  • Come installare NodeJS su Linux

Una volta installato NodeJS, eseguire il comando seguente per installare http-server.

$ npm install -g http-server

Ora vai in qualsiasi directory e condividi il suo contenuto su HTTP come mostrato di seguito.

$ 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

Ora puoi accedere ai contenuti di questa directory da sistemi locali o remoti nella rete utilizzando l'URL - http:// :8000 .

nodejs http-server

Per interrompere la condivisione, premi CTRL+C .

Metodo 5:utilizzo di Miniserve (ruggine)

Miniserva è un'altra utility della riga di comando che ti consente di servire rapidamente file su HTTP. È un'utilità multipiattaforma molto veloce, facile da usare e scritta in Rust linguaggio di programmazione. A differenza delle utilità/metodi di cui sopra, fornisce supporto per l'autenticazione, quindi puoi impostare nome utente e password per le condivisioni.

Installa Rust nel tuo sistema Linux come descritto nel seguente link.

  • Installa il linguaggio di programmazione Rust in Linux

Dopo aver installato Rust, eseguire il comando seguente per installare miniserve:

$ cargo install miniserve

In alternativa, puoi scaricare i binari dalla pagina delle versioni e rendilo eseguibile.

$ chmod +x miniserve-linux

E, quindi, puoi eseguirlo usando il comando (supponendo che il file binario miniserve sia scaricato nella directory di lavoro corrente):

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

Utilizzo

Per servire una directory:

$ miniserve <path-to-directory>

Esempio:

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

Ora puoi accedere alla condivisione dal sistema locale stesso utilizzando l'URL - http://localhost:8080 e/o da sistema remoto con URL - http:// :8080 .

Per servire un singolo file:

$ miniserve <path-to-file>

Esempio:

$ miniserve ostechnix/file.txt

Servi file/cartella con nome utente e password:

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

Associa a più interfacce:

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

Come puoi vedere, ho fornito solo 5 metodi. Ma ci sono alcuni altri metodi forniti nel collegamento allegato alla fine di questa guida. Vai e prova anche loro. Inoltre, aggiungi un segnalibro e rivisitalo di tanto in tanto per verificare se ci sono nuove aggiunte all'elenco in futuro.

Riferimento:

  • Elenco di battute di server statici http

Linux
  1. Come installare e testare Ansible su Linux

  2. Come installare e utilizzare Flatpak in Linux

  3. Come trasferire rapidamente file di grandi dimensioni in rete in Linux e Unix

  4. Come installare e configurare Nginx dal sorgente su Linux

  5. Come posso rinominare tutte le cartelle e i file in minuscolo su Linux?

Come installare LFTP per scaricare e caricare file in Linux

Come comprimere file e cartelle in Linux [Suggerimento per principianti]

Come aprire file e cartelle come amministratore in Nautilus File Manager in Linux

Come comprimere file e cartelle in Linux

Come installare TestDisk su Linux e recuperare i file eliminati

Come installare e utilizzare Pigz per comprimere i file più velocemente in Linux