54 votes

Comment configurer le serveur local HTTP le plus simple ?

J'utilise le R Studio IDE pour faire beaucoup de choses, l'une d'entre elles étant de servir les sites web locaux utilisant le paquet de blogues qui est une bifurcation de hugo . J'écris le code en R Studio et prévisualiser le site en utilisant le blogdown::serve_site() commande. C'est le moyen le plus simple que je connaisse pour prévisualiser les sites HTML statiques. Utilisation de hugo R Studio contraint mon navigateur à aller sur le 127.0.0.1:XXXX et mon site local s'affiche sous mes yeux.

Puis-je servir des sites locaux en mode natif avec Ubuntu 18.04 ? Comment ? J'imagine que cela devrait être très simple. En cherchant sur Internet, je n'ai pas trouvé de moyen simple de le faire. Si j'ouvre simplement les fichiers HTML statiques directement dans mon navigateur, ils s'affichent de façon bizarre. Tous les liens vers les images sont immédiatement rompus. Le formatage des titres, des hyperliens, etc. n'est pas le même que lorsque je sers la page localement avec le logiciel hugo .

EDIT - Je n'ai pas vraiment défini mon terme "simplicité". Il y a deux approches différentes (jusqu'à présent) dans les réponses, une qui est la plus simple pour l'utilisateur final, et une qui est simple en ce qui concerne les opérations effectuées par mon ordinateur. J'aime les deux approches et j'accueillerai avec plaisir les réponses utilisant n'importe quelle approche au fur et à mesure que je les testerai. Merci.

106voto

j-money Points 2102

Ubuntu utilise python3 par défaut, et ils se sont donné beaucoup de mal pour nous rendre la tâche extrêmement facile :D

Pour démarrer le serveur http sur le port port simplement le type

python -m http.server port

Si vous voulez partager des fichiers et des répertoires, accédez au répertoire que vous voulez servir.

cd /my/html/files
python -m http.server 8080

Si vous souhaitez utiliser une adresse autre que celle par défaut 0.0.0.0 vous pouvez utiliser --bind

Ex : python -m http.server 8080 --bind 127.0.0.1 les servira à l'adresse 127.0.0.1:8080 :)

Edit : Si oui ou non c'était vraiment de grandes longueurs, je laisse cela au lecteur.

Pour vous faciliter la tâche, voici également un lien vers les documents. https://docs.Python.org/3/library/http.server.html

53voto

Scott B Points 2224

Ici est une liste de serveurs HTTP en une ligne. Je suis sûr qu'il y en a une qui correspondra à vos besoins/outils existants.

Voici un sous-ensemble de liens, qui contient à mon avis les plus pratiques.

Python :

python -m http.server 8000

Ruby :

ruby -run -ehttpd . -p8000

Nœud :

npm install -g http-server
http-server -p 8000

Php :

php -S 127.0.0.1:8000

7voto

solsTiCe Points 8656

Une façon simple de mettre en place un site statique http est d'utiliser darkhttpd

Il n'y a pas de paquet dans ubuntu pour cela mais le logiciel est juste un seul fichier source que vous pouvez télécharger avec un tarball sur le site ou avec git :

git clone https://unix4lyfe.org/git/darkhttpd
cd darkhttpd

Ensuite, exécutez make et vous avez votre darkhttpd exécutable. (Placez-le dans /usr/local/bin pour le rendre disponible à chaque utilisateur)

Exécuter

./darkhttpd /path/to/wwwroot

ou

./darkhttpd --help

pour obtenir de l'aide sur la commande

On peut spécifier le répertoire ou le port à utiliser et de nombreuses autres options.

4voto

Minty Points 1128

sudo apt install apache2 installera le serveur web apache2. Par défaut, il fournit un accès à index.html dans le /var/www/html ; remplacer ce fichier par ce que vous voulez héberger est la façon la plus simple de faire les choses, puis vous pouvez naviguer dans le dossier http://127.0.0.1 sur votre machine locale, ou à l'adresse IP de votre machine sur votre réseau et il servira les pages.

4voto

Edheldil Points 161

Si vous ne voulez pas vous souvenir des arguments de la commande Python, utilisez woof :

Description: share files through HTTP protocol
 Woof (Web Offer One File) is a tool to copy files among hosts. It can serve a
 specified file on HTTP, just for a given number of times, and then exits.

Features include:
 * it can share stuff "one shot" and exit just after he served that file.
 * it can share things among different operating system or different devices
   (e.g.: a smartphone), and allows one to upload files easily.
 * it can also show a simple html form in order to upload file (useful if the
   client hasn't a way to serve the file).

Vous pouvez l'installer sur Debian/Ubuntu avec

apt install woof

Et utiliser comme

woof kittens.png

Il imprimera une URL à placer dans un navigateur à l'autre extrémité.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X