Mongoose – Kleiner Webserver, ganz groß

Vor gut einer Woche war ich mal wieder auf der Suche nach einem kleinen, schlanken Webserver, der mit PHP klar kommt und einfach zu handhaben ist. Fündig geworden bin ich dann bei Google Code und dem Mongoose-Projekt.

Bei Mongoose handelt es sich um die Open Source-Variante des yaSSL Embedded Web Server. Der Webserver ist plattformunabhängig, d.h. er läuft unter Windows, Linux, Mac & BSD und wird über eine einfache Konfigurationsdatei gesteuert.

Das erfreuliche ist, das der Webserver auf meinen bisher getesteten Windows-Systemen nur ca. 1.5 MB Arbeitsspeicher belegt und dadurch auch für schwache Systeme geeignet ist.

Unter Windows muss Mongoose nicht zwingend installiert werden. Die EXE-Datei ist direkt ausführbar. Natürlich lässt sich der Webserver auch als Systemdienst einrichten. Dazu einfach Mongoose starten, mit der rechten Maustaste auf das Tray Icon klicken und auf „Install“ klicken. Der Dienst muss dann noch gestartet werden.

Um die initiale Konfigurationsdatei zu erstellen, muss man mit der rechten Maustaste auf das Tray Icon von Mongoose klicken und „Edit config file“ anklicken. Daraufhin erzeugt Mongoose in dem Ordner, wo die EXE-Datei liegt eine Datei namens „mongoose.conf“.

Anbei mal eine Beispiel-Konfiguration für PHP:

cgi_extensions .cgi,.pl,.php
# cgi_environment <value>
# put_delete_passwords_file <value>
cgi_interpreter C:\WMMP\PHP\php-cgi.exe
# protect_uri <value>
# authentication_domain mydomain.com
# ssi_extensions .shtml,.shtm
access_log_file C:\WMMP\Mongoose\access.log
# ssl_chain_file <value>
enable_directory_listing no
error_log_file C:\WMMP\Mongoose\error.log
# global_passwords_file <value>
index_files index.html,index.htm,index.cgi,index.php
# enable_keep_alive no
# access_control_list <value>
# max_request_size 16384
# extra_mime_types <value>
listening_ports 80
document_root C:\WMMP\WWW
# ssl_certificate <value>
# num_threads 10
# run_as_user <value>

Meine Ordnerstruktur sieht dabei wie folgt aus:

C:\WMMP\Mongoose <- Hier liegt die mongoose.exe und die mongoose.cfg.

C:\WMMP\PHP <- Hier liegt PHP 5.3.5 VC9 Thread Safe drin, nicht installiert, sondern entpackt aus dem ZIP-Archiv, nicht vergessen die php.ini zu konfigurieren 😉

Falls man auf einem Windows Server 2008 R2 Probleme mit PHP hat (Event ID 33, SideBySide), dann sollte man die PHP 5.3.5 VC6 Thread Safe verwenden.

C:\WMMP\WWW <- Hier liegen die eigentlichen HTML- und PHP-Dateien.

C:\WMMP\MySQL <- Hier habe ich einen MySQL-Server installiert.

Wie man sieht, habe ich mit Mongoose einen vollständigen WAMP gebaut, nur eben ohne Apache. Daher auch der Ordnername „WMMP“ (Windows, Mongoose, MySQL, PHP).

Testweise habe ich unter anderem mal SQL Buddy und Tine 2.0 installiert. Beides läuft soweit ohne Probleme.

Kleiner Tipp am Rande:

Die Dokumentation vom yaSSL Embedded Webserver passt auch zu Mongoose. Hier findet man das Handbuch als PDF.

5 Kommentare

  • Auch wenn ich wahrscheinlich gleich etwas anderes hören werde, aber Windows + Server, das geht doch nicht!

  • *Gähn* Solche Glaubenskriege führ‘ ich nicht.

  • Jepp, das habe ich mir gedacht 😉

  • Klasse Tipp und zum entwickeln eigener Scripte ist ein kleiner schmaler Webserver auch unter Win zu gebrauchen 😉

  • Herzlichen Dank für die Tipps!
    Ab PHP 5.5 wird Wndoofs XP nicht mehr unterstützt, aber mit dem „Bundle.Zip“ (noch PHP 5.4.7) ging es auf Anhieb.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.