GNU/Linux >> Tutoriels Linux >  >> Linux

Un serveur HTTP Python simple pour votre boîte à outils sysadmin

Parfois, en tant qu'administrateurs, nous devons partager rapidement des fichiers entre les systèmes. Pour une raison quelconque, nous devons obtenir un seul tar ou conf fichier d'un système à un autre, ou peut-être copier un groupe de fichiers entre les systèmes. Nous constatons que nous devons installer un package ou un utilitaire pour partager les fichiers, ou nous devons peut-être activer une fonctionnalité pour partager le contenu. Quelle que soit la situation, nous pouvons utiliser le SimpleHTTPServer de Python module en tant que serveur Web rapide.

Python -m SimpleHTTPServer

Le SimpleHTTPServer module est un module Python qui permet à un développeur de jeter les bases du développement d'un serveur Web. Cependant, en tant qu'administrateurs système, nous pouvons utiliser le module pour servir des fichiers à partir d'un répertoire.

Utilisation

Python doit être installé pour utiliser le SimpleHTTPServer module. Python peut être installé en tant que dépendance d'une application ou d'un service déjà en cours d'exécution sur le système. Exécutez python -V pour vérifier sa présence. Pour utiliser le module à nos fins, exécutez la commande suivante à partir du répertoire contenant les fichiers que nous voulons partager :

python -m SimpleHTTPServer

* Remarque :Le module a été renommé http.server en python3

Le module charge et sert tous les fichiers du répertoire sur le port 8000 par défaut.

Depuis le système distant, accédez à http://<ip>:8000 à l'aide du navigateur de votre choix. Une liste de répertoires s'affichera dans laquelle vous pourrez ouvrir ou télécharger n'importe quel fichier.

Une autre option consiste à utiliser wget ou curl pour télécharger les fichiers sur le système distant.

wget http://<ip>:8000/filename
curl http://<ip>:8000/filename

Ce simple serveur HTTP local est un joli petit utilitaire à utiliser lorsque vous avez besoin de transférer rapidement des fichiers entre les systèmes.

Cas d'utilisation

Cette astuce ne remplace pas les solutions d'hébergement de fichiers réelles dans les environnements professionnels. Le SimpleHTTPServer Le module est en fait un outil de développement utilisé comme outil de cadre pour jeter les bases d'un serveur Web complet avec toutes les fonctionnalités de sécurité nécessaires incluses. Cependant, nous pouvons utiliser le module à nos fins pour :

  • Servez rapidement les fichiers de démarrage en un clin d'œil :copiez le fichier /root/anaconda-ks.cfg ou /root/original-ks.cfg dans un dossier et servir avec python -m SimpleHTTPServer . Modifiez la configuration grub au démarrage, et c'est parti.
  • Partager un fichier vers/depuis une VM :copiez un fichier dans un dossier et servez-le avec python -m SimpleHTTPServer .
  • Servir un fichier sur un port autorisé du pare-feu - Copier un fichier dans un dossier et le servir avec python -m SimpleHTTPServer port

Autres possibilités

Vous pouvez également utiliser un while boucle avec ncat ou /dev/tcp/host/port pour le transport… mais c'est un autre article. J'espère que vous trouverez cette option utile dans votre boîte à outils.

Pièges

Vous devrez peut-être ouvrir des ports dans votre pare-feu :

# firewall-cmd --add-port=portnumber/tcp

[ Télécharger maintenant :Un guide de l'administrateur système sur les scripts Bash. ]


Linux
  1. La meilleure distribution Linux pour votre prochain serveur cloud

  2. Linux - Problèmes d'autorisations pour le répertoire partagé sur un serveur ?

  3. Cryptomator - Une excellente solution de cryptage pour vos fichiers cloud

  4. PB for Desktop - Recevez des fichiers et des notifications sur votre bureau

  5. Comprendre la RAM pour votre serveur cloud

Configuration de la surveillance avancée pour votre serveur

Serveur de surveillance Graylog sur Ubuntu Linux pour la surveillance du serveur/des services

Dropbox configuré pour un serveur cloud Linux

Comment :utiliser lsof - 10 commandes essentielles pour dépanner votre serveur Linux

Comment configurer Nginx comme équilibreur de charge pour Apache ou Tomcat pour HTTP/HTTPS

20 meilleures distributions et logiciels de serveur multimédia Linux pour votre PC de cinéma maison