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://

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://

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://
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