Ratgeber: "Sichere Webentwicklung" Die besten Lösungen für sichere Webentwicklung
© Internet Magazin
Webentwicklung direkt auf dem Hosting-Account ist nicht nur wegen der etwas verzögerten Zugriffe nicht gerade empfehlenswert, sondern vor allem deswegen, weil sie zwangsweise Sicherheitslücken nach außen hin eröffnet.
Bevor die Skripte ausgetestet und gehärtet wurden, sollten sie niemals die Feuerprobe öffentlicher Zugriffe bestehen müssen. Als Zwischenlösung für die Entwicklungsphase empfiehlt sich daher eine Webserverinstallation in einer geschlossenen Umgebung, einem so genannten Staging-Server, auf dem sich eine vollständige Installation einrichten lässt, um die Laufzeitumgebung des Publish-Servers möglichst realitätsgetreu zu simulieren.
Wer einen Staging-Server geschickt aufsetzt, kann mehrere Konfigurationen verschiedener Auftraggeber parallel miteinander nutzen, um Websites zu entwickeln, Website-Projekte auf einem mobilen Computer für eine Präsentation mitzunehmen oder auch einfach die Lauffähigkeit seiner Skripte vor einem geplanten Server-Upgrade auszutesten.
Arbeitsumgebung mit Wamp, Mamp oder Xampp
Eine solche Arbeitsumgebung lässt sich mit völlig kostenloser Software - mit Lösungen wie Wamp, Mamp oder Xampp - und ohne große Umstände einrichten, zum Beispiel auf dem lokalen Host unter Windows (Wamp, Xampp, EasyPHP), Linux (Lamp, Xampp) oder OS X (Mamp, Xampp).
Wamp Server
Getestete Version: 2.2D in 32 oder 64 Bit (Apache 2.2.21, PHP 5.3.10, My-SQL5.5.20, XDebug 2.1.2, XDC 1.5, PhpMyadmin 3.4.10.1, SQLBuddy 1.3.3, webGrind 1.0)
Anbieter: Romain Bourdon u. a.
Kompatibilität: Windows (32 Bit oder 64 Bit)
Preis: kostenlos (GPL-Lizenz)
Support: kommerzielles Training
© Internet Magazin
Wamp Server installiert die Software MySQL Server mit dem Benutzernamen "root" ohne Passwort und eröffnet damit eine klassische Sicherheitslücke.
Wer Wamp Server außerhalb einer vertrauten Netzwerkumgebung (zum Beispiel auf einem portablen Computer, der sich in öffentlichen Netzen einloggt) betreiben möchte, sollte die Installation unbedingt absichern. Wamp Server bietet hierzu leider keinerlei Hilfe. Die Unterstützung virtueller Hosts bedarf ebenfalls einer manuellen Konfiguration.
EasyPHP.org
Getestete Version: 5.3.9 VC9 (Apache 2.2.21 VC9, MySQL 5.5.20, PHP 5.3.9 VC9, phpMyAdmin 3.4.9, XDebug 2.1.3)
Anbieter: EasyPHP.org
Kompatibilität: Windows (32 Bit oder 64 Bit)
Preis: kostenlos
Support: leider keine deutsche Lokalisierung verfügbar
EasyPHP bringt eine komfortabel zu bedienende grafische Oberfläche mit einem browserbasierten Administrationsfrontend, doch leider ohne deutsche Lokalisierung. EasyPHP unterstützt unter anderem das Anlegen von Aliasen und virtuellen Hosts mit Hilfe eines grafischen Assistenten der browserbasierten Administrationssoftware.
Die gesamte Installation von EasyPHP können Sie auf einem externen Laufwerk wie einem USB-Stick mitnehmen. Hierzu müssen Sie lediglich das Verzeichnis von EasyPHP umkopieren (sofern sich Ihre Skripte im Verzeichnis www und Ihre Datenbanken im Verzeichnis mysql/data befinden).
Mamp und Mamp Pro
Getestete Version: 2.0
Anbieter: Appsolute GmbH
Kompatibilität: Mac OS X 10.6.6 inklusive OS X 10.7 Lion
Preis: kostenlos oder 39 Euro inklusive MwSt. (Pro-Edition)
Support: kostenloses Forum
Jede Installation von OS X beinhaltet bereits Apache (derzeit in der Version 2.2.21) und PHP (derzeit 5.3.8), obwohl der PHP-Interpreter erst noch aktiviert werden muss (mit Admin-Rechten in /etc/apache2/httpd.conf).
Die Datenbank MySQL fehlt sowohl in der Desktop- als auch in der Serverversion von Mac OS X. In Mac OS X 10.7 Lion Server hat Apple die zuvor mitinstallierte Datenbank MySQL (diese ließ sich in Snow Leopard Server sowohl grafisch als auch über die Kommandozeile bedienen) durch PostgreSQL ersetzt und keinerlei grafischen Werkzeuge mitgeliefert.
Anders als Apples mitgelieferte Installation von Apache und PHP in OS X bringt Mamp unter anderem die Datenbank MySQL und phpMyAdmin. Die gesamte Mamp-Umgebung lässt sich mit rein grafischen Werkzeugen einrichten und bedienen.
Mamp interferiert nicht mit den Webdiensten des Betriebssystems. Da sich die gesamte Installation samt Daten - anders als im Falle der durch Apple nur teilweise vorinstallierten Webentwicklungsumgebung - bei Mamp und Mamp Pro in einem einzigen Verzeichnis befindet, lassen sich Sicherheitskopien vergleichsweise stressfrei anlegen und der Entwickler kann die Arbeitsumgebung bei Bedarf jederzeit mit Leichtigkeit entfernen und wiederherstellen.
Doch damit nicht genug: Mamp gibt dem Entwickler die Möglichkeit, zwischen verschiedenen Versionen des PHP-Interpreters mit Hilfe der grafischen Oberfläche umzuschalten - Grund genug, um die eingebaute Lösung des Betriebssystems außen vor zu lassen.
XamppGetestete Version: 1.7.7 (Apache 2.2.21, MySQL 5.5.16, PHP 5.3.8 u.a. je nach Plattform)
Anbieter: Kai „Oswald” Seidler/Apache Friends
Kompatibilität: Windows (2000, 2003, XP, Vista, 7), Linux (getestet unter SuSE, RedHat, Mandrake und Debian), Mac OS X, Solaris
Preis: kostenlos
Support: nicht verfügbar
Xampp installiert neben PHP und Perl unter anderem auch Tomcat, einen Webserver aus dem Jakarta-Projekt von Apache zum Ausführen von Java-Servlets und Java Server Pages.
© Internet Magazin
Die Schaltfläche Netstat gibt dem Benutzer einen Überblick über offene Sockets. Xampp bietet dem Benutzer die vollständigste Webentwicklungsumgebung mit einem komfortablen Zugriff auf Dokumentation und Logs.
Xampp Control Panel Application in der Version 2.x in Xampp unter Windows verweigert leider das Starten von Tomcat. Um das Problem zu umgehen, nutzen Sie die Betaversion des Control Panels in der Version 3.x. Hierzu ist das Beenden aller Server und das Deaktivieren der Option Svc für alle Dienste erforderlich.
Eine frühe Betaversion des Control Panels 3 wird im Archiv standardmäßig mitgeliefert und trägt den Namen Xampp-control-3-beta.exe.
Die neueste Betaversion können Sie hier herunterladen. Nach dem Extrahieren der Inhalte aus dem Verzeichnis CPv3 legen Sie diese auf der obersten Verzeichnisebene von Xampp ab (dabei werden ältere Versionen einiger Dateien gegebenenfalls ersetzt) und starten das ausführbare Programm vorzugsweise mit Administratorrechten.
Danach können Sie die benötigten Server manuell starten oder als Windows-Dienste ausführen. Ein Windows-Dienst im Sinne von Xampp wird beim Hochfahren des Betriebssystems gestartet und läuft noch, bevor sich der Benutzer einloggt. Die neue Version (XCPv3) beschert Ihnen unter anderem einen detaillierten Einblick in die Logdateien.
Mit Xampp Lite erhalten Sie im Übrigen eine Xampp-Edition, die sich dank der Verwendung relativer Pfade von einem USB-Laufwerk ausführen lässt.
Fazit
Die große Auswahl an ausgereiften Distributionen einer Staging-Server-Umgebung lässt Webdesigner aufatmen. Es gibt nun wirklich keinen triftigen Grund, eine so komplexe Installation wie die einer Webentwicklungsumgebung manuell zu pflegen, wenn sich diese Aufgabe so schnell und komfortabel wie mit den vorgestellten AMP-Tools umsetzen lässt.
| WAMP Server | EasyPHP | MAMP | MAMP Pro | XAMPP | |
| aktuelle Versionsnummer | 2.2D (32 oder 64 Bit) | 5.3.9 VC9 | 2.0.5 | 2.0.5 | 1.7.7 |
| URL-Adresse | wampserver.com | easyphp.org | mamp.info/mamp | mamp.info/mamp-pro | apachefriends.org |
| Leistungsumfang der Distribution | Apache, MySQL, PHP, phpMyAdmin, Xdebug, SQLBuddy u.a., grafisches Frontend | Apache, MySQL, PHP, PhpMyAdmin, Xdebug | Apache, MySQL, PHP, phpMyAdmin, Zend Optimizer und zusätzliche Module; grafische MAMP-Applikation mit vereinfachtem Frontend; 14-Tage Tryout von MAMP Pro | Apache, MySQL, PHP, phpMyAdmin, Zend Optimizer und zusätzliche Module; grafische MAMP-Pro-Applikation | (alle Betriebssysteme:) Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, Freetype2, FileZilla FTP Server; (alle außer Solaris:) GD, SQLite; zzgl. zusätzlicher Module |
| Systemvoraussetzungen | |||||
| unterstützte Betriebssysteme | Windows (32 und 64 Bit) | Windows (32 und 64 Bit) | Mac OS X 10.6.6 oder neuer und 10.7 oder neuer auf einem Intel-Mac | Mac OS X 10.6.6 oder neuer und 10.7 oder neuer auf einem Intel-Mac | Windows 2000/2003/XP/Vista/7; Linux (SuSE, RedHat, Mandrake, Debian), Mac OS X, Solaris |
| leistungsumfang im Detail | |||||
| Apache-Version | 2.2.21 | 2.2.21 VC9 | 2.0.63 | 2.0.63 | 2.2.21 |
| MySQL-Version | 5.5.20 | 5.5.20 | 5.1.44 | 5.1.44 | 5.5.16 |
| PHP | 5.3.10 | 5.3.9 VC9 | 5.2.13, 5.3.2 | 5.2.13, 5.3.2 | 5.3.8 |
| phpMyAdmin | 3.4.10.1 | 3.4.9 | 3.2.5 | 3.2.5 | 3.4.5 |
| Tomcat | - | - | - | - | 7.0.21 |
| zusätzliche Downloads | Apache 2.2.x/2.0.x/1.3.x; PHP 5.3.x, PHP 5.2.x, PHP 5.1.x, PHP 5.0.x, 4.4.x; MySQL 5.1.x, MySQL 5.0.x, MySQL 4.1.x | Virtual Hosts Manager für EasyPHP 1.0, WebGrind 1.0, PHP 5.4.X, PHP 5.3.X, PHP 5.2.17 | PHP 5.3.5 und 5.1.6 | PHP 5.3.5 und 5.1.6 | XAMPP USB Lite |
| Sonstiges | |||||
| virtuelle Hosts | ja (manuell) | ja (grafisch) | ja (manuell) | ja (grafisch) | ja |
| komfortables Umschalten zwischen mehreren PHP-Versionen | ja | nein | nein | ja | ja |
| integrierte Funktionen zur Sicherheitsprüfung | nein | nein | nein | ja | ja |
| deutsche Lokalisierung | ja | nein | ja | ja | ja |
| Preis | kostenlos | kostenlos | kostenlos | Vollversion 39 Euro; Upgrade 19 Euro; 14-Tage-Tryout verfügbar | kostenlos |