Du bist hier: Computerzeugs > Tutorials > WAMP-System installieren

WAMP-System installieren unter Windows

Was ist WAMP und wofür ist es gut?

WAMP ist die Abkürzung für Windows, Apache, MySQL, PHP. Quasi alles, was man für Webseiten heutzutage braucht. Da man aber nicht alle PHP Scripte immer online testen möchte und kann, ist es doch schön, wenn man diese Umgebung auch auf seinem heimischen Rechner installiert hat und alles bequem offline testen kann. Was auf den ersten Blick vielleicht kompliziert und schwierig klingt, ist aber ganz einfach! Ein WAMP System kann man mit etwas Übung in 30 Minuten auf einem normalen WindowsXP Rechner installieren. Wenn man es zum ersten mal macht, sollte man aber 1 – 2 Stunden einplanen.

Natürlich kann man auch wie bisher alles online testen. Aber es ist auf Dauer komplizierter wegen jedem kleinen Syntaxfehler die Datei neu hochzuladen, als sich einmal etwas die Zeit für diese Aktion zu nehmen. Auch lernt man dadurch eine Menge über Webserver und was dahinter steckt. Und das hilft einem auch beim Verständnis für das Programmieren in PHP mit oder ohne MySQL.

Ich versuche dieses Tutorial ab und zu auf den neusten Stand zu bringen, da sich mit den neuen Versionen der Programme auch immer wieder kleinere Sachen ändern. Dieses Tutorial habe ich zuletzt mit folgender Konfiguration installiert:

Wie man Apache2 installiert

Zuerst laden wir uns unter externer Link http://httpd.apache.org/download.cgi das Win32 Binary (MSI) herunter.

Für Win9X und ME benötigt man den MSI Installer, welchen man auf externer Link http://support.microsoft.com/default.aspx?scid=kb;de;292539 findet.

Nun führen wir das Installationsprogramm für Apache aus. Wenn das Fenster mit Server Information kommt, geben wir für Network Domain und Server Name jeweils localhost ein. Die E-Mail Adresse könnt ihr eingeben wie Ihr magt. Wenn er eh nur lokal laufen soll, kann auch webmaster@localhost rein.

Bei der Frage, ob wir automatisch oder manuell installieren wollen, sagen wir manuell und klicken dann einfach durch. Somit wird Apache komplett installiert. Das ist besser, falls man später mal ein Modul oder ähnliches braucht.

Unter Win2K und XP sollte unser Apache nun schon als Service laufen. Unter Win9X und ME muss der Webserver noch per Hand gestartet werden: C:\Programme\Apache Group\Apache2\bin\Apache.exe

Wir starten einen Webbrowser unserer Wahl und geben "localhost" ein. Eine schöne Apache Willkommensseite sollte uns begrüßen.

Wo unser Apache nun installiert ist, müssen wir ihn nur noch ein wenig konfigurieren.

Ich gehe einmal davon aus, dass wir unsere Daten auf C: ablegen wollen. Ansonsten passt Ihr Eure Pfade analog an. Wir erstellen also folgende Verzeichnisse:

C:\srv\htdocs\html

und

C:\srv\htdocs\log

Im Verzeichnis html legen wir dann noch zum Test eine Datei index.htm an mit folgendem Inhalt:

<html>
<head>
  <title>Unser Apache rennt...</title>
</head>
<body>
  <h1>Unser Apache rennt...</h1>
</body>
</html>

Die Apache-Konfigurationsdatei liegt unter C:\Programme\Apache Group\Apache2\conf\httpd.conf

Da passen wir nun einige Parameter an:

Lage der HTML Dateien

DocumentRoot "C:/Programme/Apache Group/Apache2/htdocs"

DocumentRoot gibt den Pfad für das Verzeichnis an, wo unsere HTML Dateien alle liegen. Dies ersetzen wir also durch

DocumentRoot "C:/srv/htdocs/html"

HTML Verzeichnis Rechte

Dann suchen wir nach folgendem:

<Directory "C:/Programme/Apache Group/Apache2/htdocs">
...
</Director>

Ab hier bis zu </Directory> werden die Konfigurationswerte für das Dokumentenverzeichnis festgelegt. Da unsere Dokumente aber in C:/srv/htdocs/html liegen ersetzen wir die erste Zeile durch

<Directory "C:/srv/htdocs/html">

Standartdateien bei Verzeichnissen

Wenn eine Url mit einem Verzeichnis und ohne eine Datei am Ende aufgerufen wird, wird trotzdem etwas angezeigt. Dies liegt daran, dass Apache dann automatisch versucht die index.html anzuzeigen. Man kann jedoch auch einstellen, dass er nach weiteren Dateien suchen soll. Zum Beispiel nach einer index.php, wenn es keine index.htm gibt.

DirectoryIndex index.html index.html.var

erstzen wir als durch

DirectoryIndex index.php index.html index.htm index.html.var

Logfiles

Apache loggt alle Seitenabrufe mit. Ebenso werden Fehler des Webservers, von PHP oder MySQL mitgeloggt. Normalerweise werden diese Dateien in einem Unterverzeichnis von Apache abgelegt. Da diese dort jedoch umständlich zu erreichen sind, legen wir sie dahin, wo wir sie schneller finden...

ErrorLog logs/error.log

erstzen wir durch

ErrorLog C:/srv/htdocs/log/error.log
CustomLog logs/access.log common

erstzen wir durch

CustomLog C:/srv/htdocs/log/access.log common

Herzlichen Glückwunsch unser Apache ist eingerichtet und läuft!

Es gibt natürlich noch viele weitere Einstellungen, aber auf die wollen wir hier erst einmal nicht eingehen. Eine ausführliche Dokumentation dazu findet sich unter: externer Link http://httpd.apache.org/docs-2.0/

Wie man PHP5 installiert

Die Aktuelle 5.1 Distributaion für Windows ist Fehlerhaft, so dass sie nur mit Apache 2.1 und nicht mit dem Aktuellen Apache 2.2 läuft! Um dies zu umgehen hier folgender Workaround: Unter externer Link http://snaps.php.net/ die Datei externer Link php5.2-win32-latest.zip herunterladen und nach c:\Programme\PHP entpacken. Der folgende Part ist damit teilweise hinfällig. Um zu sehen, ob Eure php.ini korrekt ist, einfach mal auf die php.exe klicken. Wenn nur ein schwarzes Dos-Fenster erscheint und wartet ist alles OK. Ansonsten seht Ihr Fehler, welche Euch weitere Hinweise geben.

Zuerst laden wir uns unter externer Link http://www.php.net/downloads.php PHP5 herunter. Der Download für PHP 5 ist unter dem von PHP 4. Wir wählen aus den Windows Binaries die Windows Installer Version. Zusätzlich laden wir uns noch die ZIP Version herunter, da die .exe Version nur PHP als cgi-Version anbietet und nicht als Apache2 Modul.

Wir installieren PHP 5 mit dem Installer und folgen den Anweisungen. Wir wählen den Advanced Installationsmodus. Der Pfad C:\PHP ist an sich OK, aber wir mögen etwas mehr Ordnung, also C:\Programme\PHP. Ja wir machen gerne ein Backup der ersetzten Dateien. Danach bestätigen wir alle Fenster. Wenn die Frage kommt, welchen Fehlerlevel wir möchten, geben wir an, dass wir alle Fehlermeldungen sehen möchten. Das hat zwar zur Folge, dass einige PHP Scripte, wie Foren oder ähnliche Fehlermeldungen anzeigen, die im Internet so nicht erscheinen, aber für eigene Scripte ist es unerlässlich, dass man alle Fehler erkennt, da sonst unvorhergesehene Probleme entstehen könnten, nur weil man dachte alles wäre OK. Und bei einem sauberen Programmierstil gibt es auch keine Fehlermeldungen.

Wir wählen Apache als Webserver aus. Als Endung sollte man nur .php zulassen. Dann bestätigen wir weiter und es wird installiert. Am Ende erscheint eine Fehlermeldung, die uns besagt, dass die Apache Konfigurationsdatei nicht angepasst werden konnte. Das ist OK so. PHP 5.0.4 ist noch nicht in der Lage Apache2 selber zu konfigurieren. Aber das machen wir selber. Gar kein Problem!

Zuerst legen wir jedoch in unserem HTML Verzeichnis (C:\srv\htdocs\html) eine Datei test.php an. Damit wollen wir dann sehen, ob PHP funktioniert. Die Datei test.php enthält nur folgenden Text:

<?php
  echo phpinfo();
?>

Nun kopieren wir den Inhalt des PHP Zip Archives nach C:\Programme\PHP, wobei wir existierende Dateien gnadenlos überschreiben. Smiley glücklich

Jetzt öffnen wir die Apache Konfigurationsdatei (C:\Programme\Apache Group\Apache2\conf\httpd.conf) mit einem Texteditor und fügen folgende Zeilen ein:

# PHP Stuff
#
#
# For PHP 5 do something like this:
LoadModule php5_module "C:/Programme/PHP/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/Programme/PHP"

Dies können wir ganz am Anfang machen oder die jeweiligen Zeilen da wo sie hingehören hinkopieren. Also in der httpd.conf suchen, wo alle LoadModule Zeilen stehen und dann unsere LoadModule Zeile hinten dran. Ebenso verfährt man mit der AddType Zeile. Davon gibt es bisher nur eine ausdokumentierte (# AddType...), auch einfach hinter diese Zeile.

Das wars auch schon! Wir starten unseren Apache neu und nun sollte wenn wir http://localhost/test.php eingeben eine blaue Seite mit allen Infos über unsere PHP Installation erscheinen! Den Neustart machen wir, indem wir rechts unten auf das Apache Icon in der Taskleiste neben der Uhr klicken und dann auf restart. Smiley glücklich

Die Konfigurationsdatei für PHP liegt noch unter c:\Windows\php.ini . Diese verschieben wir zuerst einmal nach C:/Programme/PHP. Diese werden wir danach auch noch kurz anpassen müssen, da die Standarteinstellungen sehr straff und auf Sicherheit ausgerichtet sind. Wir öffnen also die php.ini im Texteditor.

php.ini Parameter

register_globals = Off

Dieser Parameter sagt, wie mit Parametern umgegangen werden soll, welche PHP Scripten übergeben werden. Wenn der Wert auf On steht, stehen alle übergebenen Variablen auch als entsprechende Variable in PHP zur Verfügung. Wenn der Wert parameter=wert übergeben wird, gibt es in PHP eine Variable $parameter mit dem Inhalt "wert". Allerdings stellt dies ein Sicherheitsrisiko dar. Übergebene Werte sollten nur über $_REQUEST['parameter'] angesprochen werden. Einige ältere PHP Scripte benötigen jedoch register_globals = On, damit sie funktionieren.

Nähere Infos dazu auch auf externer Link http://de3.php.net/register_globals

safe_mode=Off

Wir schauen, dass dieser Wert auf Off steht, ansonsten setzen wir ihn auf Off Smiley glücklich Er funktioniert eh nur unter Linux richtig, da er die Dateirechte prüft, die es so unter Windows gar nicht gibt.

Noch einmal Apache neustarten, damit auch die aktuelle php.ini geladen wird und nun sind wir aber wirklich fertig. Herzlichen Glückwunsch PHP ist fertig installiert! Smiley glücklich

MySQL installieren

Wir gehen auf die Seite externer Link http://dev.mysql.com/downloads/mysql/5.0.html und scrollen runter bis wir bei "Windows Downloads" angekommen sind und klicken auf "pick a mirror". Wir müssen uns nicht registrieren: "No thanks, just take me to the downloads".

Dann wählen wir einen FTP Mirror in Deutschland aus. Die Datei (41,8 MB bei Version 5.0.7-beta) wird herunter geladen.

Danach entpacken wir das ZIP file und starten die setup.exe. Wir installieren wieder nach C:\Programme\MySQL\MySQL Server 5.0 da wir ja etwas Ordnung halten wollen. Bei der Frage nach der Art der Installation wählen wir Custom (Benutzerdefiniert). Alles ist aufgewählt, fein, also installieren wir alles. Smiley glücklich

Wir wollen kein MySQL.com Konto eröffnen, also wählen wir "Skip". Nun können wir den Server einrichten. Wir wählen "Detailed Configuration". Damit der MySQL Server möglichst unauffällig im Hintergrund arbeitet und wenig Speicher verwendet wählen wir "Developer Machine". Da wir den Server nur als kleine Spielmaschine wollen und keine hochperformanten Anwendungen laufen lassen reicht die "Non-Transactual Database only". Bei der Anzahl der Benutzer reicht auch hier "Decision Support (DSS)/OLAP", da wir in der Regel alleine auf der Datenbank arbeiten und 20 gleichzeitige Zugriffe als Maximum reichen sollten. Den Haken bei "Enable TCP/IP Networking" sollten wir lassen, da es sonst Probleme mit phpMyAdmin gibt. Das "Standard Character Set" reicht uns auch. Der Dienst soll als Windows Dienst laufen und automatisch starten, also lassen wir die Seite wie sie ist. Wer mag kann das Verzeichnis auch in den Windows Pfad aufnehmen, aber das kostet aus meiner Sicht im normalen Windows Betrieb nur unnötig Zeit und Performance. Dann geben wir dem root, also Administrator noch ein Passwort. Einen anonymen Account anlegen kann man zwar, aber da wir für unsere Anwendungen später im Netz auch keinen anonymen Zugang haben werden ist es sinnvoll auch lokal darauf zu verzichten und sauber zu programmieren. Danach wählen wir den "Execute"-Button. Danach sollten überall blaue Häkchen erscheinen.

Falls bei Start service ein Fehler kommt, haben wir eventuell noch eine alte MySQL Installation auf dem Computer. Dann brechen wir ab und deinstallieren die alte Version. Danach löschen wir das alte MySQL Verzeichnis und starten zur Sicherheit den Computer neu. Nun installieren wir die neue Version nocheinmal von vorn. Smiley glücklich

Ansonsten klicken wir auf "Finish". Herzlichen Glückwunsch, wir haben MySQL installiert!

Um Datenbanken und Tabellen am einfachsten zu erstellen und zu verwalten ist phpMyAdmin (externer Link http://www.phpmyadmin.net/home_page/) empfehlenswert. Wir laden es uns herunter und entpacken es nach C:\srv\htdocs\html\phpMyAdmin

Damit MySQL auch im PHP aktiviert wird, öffnen wir die php.ini (C:\Programme\PHP) und suchen die Zeile

extension_dir = "./"

und ersetzen sie durch

extension_dir = "C:\Programme\PHP\ext\"

Danach gehen wir zur Zeile

;extension=extensions\php_mysql.dll

und entfernen das Semikolon. Da diese Erweiterung noch zwei weitere Dateien läd und damit der Apache diese finde kopieren wir die Dateien libmysql.dll und msql.dll von C:\Programme\PHP in das Verzeichnis C:\Programme\Apache Group\Apache2\bin. Nun starten wir Apache neu. Dies machen wir, indem wir rechts unten auf das Apache Icon in der Taskleiste neben der Uhr klicken und dann auf restart.

In der Datei C:\srv\htdocs\html\phpMyAdmin\config.inc.php suchen wir nach der Zeile

$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed

Und tragen dort unser root Passwort ein, welches wir bei der Installation des MySQL Servers angegeben hatten.

Dann rufen wir im Browser http://localhost/phpMyAdmin/ auf und die Administrationsoberfläche sollte uns begrüßen. Viel Spaß bei der Verwaltung Deiner Datenbank!

Unser WAMP System ist fertig und Einsatzbereit!