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