Serveur Web pour tester sous Linux

Je suis à la recherche d’un serveur Web simple et facile à utiliser (Linux / Ubuntu Koala) pour tester certaines applications Web.

Sous Windows, j’ai utilisé Web Savant (ce qui était plutôt facile, il suffit d’entrer dans le répertoire html et le répertoire bin et d’appuyer sur start) pour donner à certaines personnes une idée de ce que je recherche.

Mise à jour : Mes excuses. Je n’ai pas réalisé que c’était une exigence jusqu’à maintenant. Idéalement, le paquet entier serait un fichier exécutable, mais comme il s’agit d’un serveur Web, il serait compréhensible qu’une infrastructure soit créée, donc une archive contenant un exécutable. Ce serait bien si cela commençait à partir de la ligne de commande et ne nécessitait aucun privilège d’administrateur pour s’exécuter. De plus, il ne devrait pas nécessiter de fichiers de configuration ou de fichiers journaux stockés dans des zones qui sont généralement réservées aux administrateurs.

PS Ceci est une question sur un outil pour tester des programmes, pas une question sur l’administration du système. Ainsi, cette question est appropriée pour stackoverflow et non serverfault. Si vous insistez pour en discuter, alors je vous suggère de relire la question. Toujours envie de discuter? Continuez à relire la question jusqu’à ce que vous compreniez, j’attendrai. Comprenez-le maintenant? Bon maintenant partez.

Si vous utilisez uniquement des pages HTML ou CGI, le plus simple serait simplement:

 thttpd -D -C '*.cgi' -p 8080 

Et aller!

Lighttpd est très simple à configurer, mais nécessite un petit fichier de configuration.

Cette question est actuellement l’un des meilleurs résultats de Google pour “serveur web léger ubuntu”, et bien que je ne trouve pas les réponses actuelles aussi utiles, je suis tombé sur une autre solution installée par défaut sur la plupart des systèmes linux:

python -m SimpleHTTPServer

Cela exécutera un serveur Web dans le répertoire en cours (HTML, CSS, images, documents, etc.), servant les fichiers à localhost:8000 , et ne nécessitant aucune installation de logiciel supplémentaire. La documentation Python pour ce module contient plus d’informations sur les parameters, etc.

Pour ceux qui cherchent à tester rapidement un site Web, cette solution est idéale.

Si vous avez installé PHP, vous pouvez utiliser son serveur Web intégré pour diffuser rapidement un répertoire.

 cd www/ php -S localhost:1234 

et votre répertoire www/ est maintenant disponible à http://localhost:1234/

J’ai utilisé Mongoose (SHTTPD) pour des tests rapides. J’avais besoin de tester HTTP / S + CGI à la volée et je l’ai trouvé assez facile à utiliser. J’ai rencontré un problème. Chaque fois que je repoussais le processus en arrière-plan, les pages CGI cessaient de fonctionner. Ce problème a été résolu en émettant:

 nohup  & 

Quoi qu’il en soit, le lien pour Mongoose est http://code.google.com/p/mongoose/ si cela vous intéresse. Pour un si petit serveur Web, les fonctionnalités sont plutôt bonnes.

  • Crossplatform – fonctionne sur Windows, MacOS et la plupart des variantes d’UNIX
    • Autorisation CGI, SSL, SSI, Digest (MD5), reprise du téléchargement, alias
    • Méthodes ACL basées sur IP, service Windows, GET, POST, HEAD, PUT, DELETE
    • Faible encombrement: exécutable 40 Ko sur Linux 2.6 Système i386
    • Intégrable avec une API simple et propre. La source est dans un seul fichier .c pour faciliter les choses
    • Suport de langage pour: o C / C ++ (natif) o Python – depuis la version 2.6 (terminé) o C # – depuis la version 2.7 (terminé) o Ruby – depuis la version 2.9 (todo) o Lua – depuis la version 2.9 (todo)

À votre santé

Ubuntu est génial, il a une installation AMP beaucoup plus facile que Windows (en utilisant xampp). Il suffit de lancer ceci:

 sudo tasksel 

Cochez “LAMP” et il installera la stack entière pour vous. Je recommande également de faire un:

 sudo apt-get install phpmyadmin 

Il suffit d’aller à http://127.0.0.1/phpmyadmin pour installer de nouvelles bases de données.

Xampp est l’un des nombreux LAMP disponibles sur Linux, et c’est un bon.

L’installation est facile (la documentation est ici ): chargez l’archive puis:

sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C / opt

cd / opt / lampp /

début sudo ./lampp

De plus, il ne se heurte pas au système de fichiers (l’archive complète est dézippée dans le répertoire / opt).

Veuillez consulter la liste complète des dissortingbutions X-AMP dans wikipedia .

J’utilise également l’approche Python mentionnée ici par @sAlexander, mais il faut parfois que le serveur écoute sur autre chose que localhost . Dans mon cas, je teste des applications Android fonctionnant dans une VM Android VirtualBox. Par défaut, ces périphériques Android virtuels sont connectés à l’adaptateur hôte VirtualBox à 192.168.56.xx, l’adresse du serveur doit donc être 192.168.56.1. Pour ce faire, j’utilise le script python suivant que j’ai adapté à partir d’une astuce technique de Linux Journal:

 import sys import BaseHTTPServer from SimpleHTTPServer import SimpleHTTPRequestHandler HandlerClass = SimpleHTTPRequestHandler ServerClass = BaseHTTPServer.HTTPServer Protocol = "HTTP/1.0" if sys.argv[1:]: server = sys.argv[1] else: server = '127.0.0.1' if sys.argv[2:]: port = int(sys.argv[2]) else: port = 8000 server_address = (server, port) HandlerClass.protocol_version = Protocol httpd = ServerClass(server_address, HandlerClass) print "httpd on", server, ":", port httpd.serve_forever() 

Les arguments sont l’adresse du serveur (1er argument) et le port (2ème), avec les valeurs par défaut de 127.0.0.1 ( localhost ) et 8000, respectivement. Vous ne pouvez spécifier ni une adresse, ni une adresse, ni un port.