GNU/Linux >> Tutoriels Linux >  >> Linux

Comment servir rapidement des fichiers et des dossiers via HTTP sous Linux

Aujourd'hui, je suis tombé sur tout un tas de méthodes pour servir un seul fichier ou un répertoire entier avec d'autres systèmes de notre réseau local via un navigateur Web. J'ai testé quelques méthodes dans ma machine de test Ubuntu et toutes ont très bien fonctionné, comme décrit ci-dessous. Si vous vous êtes déjà demandé comment servir facilement et rapidement des fichiers et des dossiers via HTTP sous Linux, l'une des méthodes suivantes vous aidera certainement.

Servir des fichiers et des dossiers via HTTP sous Linux

Avis de non-responsabilité : Toutes les méthodes indiquées ici sont destinées à être utilisées dans un réseau local sécurisé. Étant donné que ces méthodes ne disposent d'aucun mécanisme de sécurité, il est déconseillé de les utiliser en production . Vous êtes prévenu !

Méthode 1 - Utilisation de simpleHTTPserver (Python)

Nous avons déjà écrit un bref guide pour configurer un serveur http simple pour partager instantanément des fichiers et des répertoires dans le lien suivant. Si vous avez un système avec Python installé, cette méthode est très pratique.

  • Comment configurer un serveur de fichiers de base à l'aide de simpleHTTPserver

Méthode 2 - Utilisation de Quickserve (Python)

Cette méthode est spécifiquement pour Arch Linux et ses variantes. Consultez le lien suivant pour plus de détails.

  • Comment partager instantanément des fichiers et des dossiers dans Arch Linux

Méthode 3 - Utilisation de Ruby

Dans cette méthode, nous utilisons Ruby pour servir des fichiers et des dossiers via HTTP dans des systèmes de type Unix. Installez Ruby et Rails comme décrit dans le lien suivant.

  • Installer Ruby on Rails dans CentOS et Ubuntu

Une fois Ruby installé, allez dans le répertoire, par exemple ostechnix, que vous souhaitez partager sur le réseau :

$ cd ostechnix

Et lancez la commande suivante :

$ 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

Assurez-vous que le port 8000 est ouvert dans votre routeur ou pare-feu. Si le port a déjà été utilisé par d'autres services, utilisez un port différent.

Vous pouvez maintenant accéder au contenu de ce dossier à partir de n'importe quel système distant en utilisant l'URL - http://:8000/ .

serveur http ruby

Pour arrêter le partage, appuyez sur CTRL+C .

Méthode 4 - Utilisation du serveur Http (NodeJS)

Serveur HTTP est un serveur http en ligne de commande simple, prêt pour la production, écrit en NodeJS. Il ne nécessite aucune configuration et peut être utilisé pour partager instantanément des fichiers et des répertoires via un navigateur Web.

Installez NodeJS comme décrit ci-dessous.

  • Comment installer NodeJS sur Linux

Une fois NodeJS installé, exécutez la commande suivante pour installer http-server.

$ npm install -g http-server

Maintenant, allez dans n'importe quel répertoire et partagez son contenu via HTTP comme indiqué ci-dessous.

$ 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

Désormais, vous pouvez accéder au contenu de ce répertoire à partir de systèmes locaux ou distants du réseau à l'aide de l'URL - http://:8000 .

nodejs http-serveur

Pour arrêter le partage, appuyez sur CTRL+C .

Méthode 5 - Utilisation de Miniserve (Rust)

Miniserve est encore un autre utilitaire de ligne de commande qui vous permet de servir rapidement des fichiers via HTTP. C'est un utilitaire très rapide, facile à utiliser et multiplateforme écrit en Rust langage de programmation. Contrairement aux utilitaires/méthodes ci-dessus, il fournit une prise en charge de l'authentification, de sorte que vous pouvez configurer le nom d'utilisateur et le mot de passe pour les partages.

Installez Rust dans votre système Linux comme décrit dans le lien suivant.

  • Installer le langage de programmation Rust sous Linux

Après avoir installé Rust, exécutez la commande suivante pour installer miniserve :

$ cargo install miniserve

Alternativement, vous pouvez télécharger les binaires depuis la page des versions et rendez-le exécutable.

$ chmod +x miniserve-linux

Ensuite, vous pouvez l'exécuter à l'aide de la commande (en supposant que le fichier binaire miniserve est téléchargé dans le répertoire de travail actuel) :

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

Utilisation

Pour servir un répertoire :

$ miniserve <path-to-directory>

Exemple :

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

Maintenant, vous pouvez accéder au partage à partir du système local lui-même en utilisant l'URL - http://localhost:8080 et/ou depuis un système distant avec URL - http://:8080 .

Pour servir un seul fichier :

$ miniserve <path-to-file>

Exemple :

$ miniserve ostechnix/file.txt

Servir le fichier/dossier avec nom d'utilisateur et mot de passe :

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

Liaison à plusieurs interfaces :

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

Comme vous pouvez le voir, je n'ai donné que 5 méthodes. Mais, il y a quelques autres méthodes données dans le lien joint à la fin de ce guide. Allez les tester également. Aussi, mettez-le en signet et revisitez-le de temps en temps pour vérifier s'il y a de nouveaux ajouts à la liste à l'avenir.

Référence :

  • Liste des one-liners de serveur statique http

Linux
  1. Comment installer et tester Ansible sur Linux

  2. Comment installer et utiliser Flatpak sous Linux

  3. Comment transférer rapidement des fichiers volumineux sur le réseau sous Linux et Unix

  4. Comment installer et configurer Nginx à partir de la source sous Linux

  5. Comment renommer tous les dossiers et fichiers en minuscules sous Linux ?

Comment installer LFTP pour télécharger et télécharger des fichiers sous Linux

Comment compresser des fichiers et des dossiers sous Linux [Astuce pour débutant]

Comment ouvrir des fichiers et des dossiers en tant qu'administrateur dans Nautilus File Manager sous Linux

Comment compresser des fichiers et des dossiers sous Linux

Comment installer TestDisk sur Linux et récupérer des fichiers supprimés

Comment installer et utiliser Pigz pour compresser des fichiers plus rapidement sous Linux