XAMPP – Entwicklungsumgebung für Apache, MySQL, PHP auf Windows – Tutorial

XAMPP ist eine Distribution von Apache, MySQL, PHP und Perl, die sich (fast) per Knopfdruck installieren und wenig Wünsche übrig lässt.

Ich zeige hier eine kleine Anleitung, die ich selbst auch nutze bei Neuinstalationen. Den Abschluss bildet eine Sammlung von Links Hinweisen zu nützlichen Ergänzungen.

Schritt 1 – Installation

Xampp-Home Xammp-Windows

Ich empfehle die EXE-Datei. Wir können beruhigt nach c:\programme\xampp installieren. Es ist nicht notwendig, dass C-Verzeichnis vollzumüllen. Alle Programme und zusätzliche »Addons« laufen dort problemlos: Eine Fehlermeldung (»xampp component status check failure«) beim Aufruf des XAMPP Control Panel kann ignoriert werden. Wen diese Meldung nervt, kann Folgendes tun:

  1. Registry Editor starten und den Schlüssel
  2. HKEY_LOCAL_MACHINE\SOFTWARE\xampp\Install_Dir aufrufen
  3. Den dort eingetragenen Wert ändern zu: »C:\xampp«. Damit sollte die unglückselige Fehlermeldung nicht mehr auftauchen.

Die Meldungen der Firewall sollten sie akzeptieren, sonst tauchen Sie immer wieder auf. Warum die Firewall von Microsoft Zugriffe auf den eigenen Rechner unterbindet, kann wohl nur Bill Gates selbst erklären.

Schritt 2 – Es geht los

Wir starten das XAMPP Control Panel. Die Funktionen dort sollten selbsterklärend sein. Wenn man die wichtigsten Komponenten Apache und MySQL gestartet hat, kann man das Control Panel in den Hintergrund bzw. in die Systray wegklicken.

Die Konfiguration von XAMPP und seinen Komponenten erfolgt in verschiedenen Konfigurationsdateien. Eine Auflistung findet sich weiter unten.

Wir prüfen jetzt, ob alles erstmal geklappt hat. Dazu starten wir Apache, MySQL und Mercury. Mercury ist ein Mailserver, den man nicht unbedingt braucht, aber die Funktionsfähigkeit sollte wenigstens einmal getestet werden.

Nehmen Sie ihren Browser und laden Sie die URL »http://localhost«. »Localhost« ist eine Abkürzung für ihren eigenen Rechner bzw. für die Adresse ihres eigenen Rechners. Sie können auch »http://127.0.0.1« eingeben.

Wenn der erste Aufruf erfolgreich war, dann würde ich jetzt einige Änderungen in der php.ini (der Konfigurationsdatei für den PHP-Interpreter) vornehmen. Die Datei befindet sich unter »C:\Programme\xampp\php\php.ini«.

Passen Sie dort an bzw. entkommentieren folgendes:

  • short_open_tag = On
  • extension=php_curl.dll
  • variables_order = „EGPCS“
  • error_reporting = E_ALL

Damit die Änderungen Wirkung zeigen, muss Apache natürlich neu gestartet werden. Das erledigen Sie über das Control Panel.

Sie sollten auch nicht vergessen, den Sicherheitscheck auszuführen. Die Punkte dort sind selbsterklärend. Im Allgemeinen sollte es aber reichen, wenn Sie für MySQL einen root-Nutzer anlegen.

Schritt 3 – Warm werden mit XAMPP

Einige wichtige Standardprogramme bzw. Webapplikationen werden schon mitgeliefert. Am Anfang dürfte das wichtigste wohl phpMyAdmin sein. Hierbei handelt es sich um den am weitesten verbreiteten Web-Client zur Verwaltung von MySQL-Servern. Bei XAMPP wird er gleich mit ausgeliefert http://localhost/phpmyadmin/.

Den »root«-Nutzer sollte man tunlichst nur nehmen, um Datenbanken oder neue Nutzer anzulegen. Für neue Projekte, bspw. WordPress, erzeugt man einen Nutzer und wählt die Option »Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte«.

Schritt 4 – Einrichtung des Mailserver Mercury

Diesen Mailserver kann man nutzen, wenn man Applikationen schreibt, die Mails verschicken, z.B. Newsletter. Allerdings ist dieser Server – wie das gesamte XAMPP-Projekt auf Windows – nur für Entwicklungsumgebungen ausgelegt. Auf Produktivsystemen sollte man m.M. nach lieber auf Linux bzw. LAMPP zurückgreifen.

Bei richtiger Programmierung sollte man ohne Probleme alle Skripte in PHP auf allen System, egal ob Windows mit Internet Information Server (IIS) oder Linux mit Apache nutzen können.

Den Admin-Bereich von Mercury erreicht man über den Admin-Button in XAMPP Control Panel. Hier gehen wir folgende Schritte durch:

  1. Mercury-Webserver deaktivieren: Mercury|Configuration|Protocol Modules|MercuryB HTTP Haken entfernen und Mercury Neu starten
  2. Configuration|Mercury Core Modul|General Internetname for this system: localhost
  3. local mailbox directory path: C:\PROGRAMME\XAMPP\MERCURYMAIL\MAIL\~N
  4. Username of Postmaster: Admin
  5. Configuration|Mercury Core Modul local domains: localhost, localhost.net, localhost.com, localhost.org
  6. Configuration|Mercury Core Modul|General: Suppress validation of »FROM« field (Haken setzen)
  7. Configuration|MercuryS SMTP Server|General: Listen on TCP/IP Port:25
  8. IP-Interface to Use: 127.0.0.1
  9. Configuration|MercuryS SMTP Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)
  10. Configuration|MercuryS POP Server|General: Listen on TCP/IP Port:110
  11. IP-Interface to Use: 127.0.0.1
  12. Configuration|MercuryS POP Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)
  13. Configuration|MercuryI IMAP4 Server|General: Listen on TCP/IP Port:143
  14. IP-Interface to Use: 127.0.0.1
  15. Configuration|MercuryI MAP4 Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)

Auch wenn Mercury nicht danach verlangt, sollte man nach Änderungen in der Konfiguration den Server nochmal neu starten.

Damit nun über XAMPP auch tatsächlich Mails verschickt werden können, muss man in der php.ini noch etwas nachtragen.

Suchen Sie nach »[mail function]« und ergänzen folgendes:

  • SMTP=localhost
  • smtp_port=25
  • sendmail_from = admin@localhost

Schritt 5 – Wohin mit den Dateien?

Wenn Sie ein neues Web-Projekt starten, dann legen Sie einen neuen Ordner in »c:\Programme\xampp\htdocs\« an und kopieren dorthin alle ihre Dateien.

Anhang

Wichtige Programme

  • Notepad++ – Ein sehr guter  Gratis-Editor mit Projektverwaltung
  • HeidiSQL – Ein Desktop-Client der ein schnelleres Arbeiten mit MySQL-Datenbanken ermöglichkeit als phpMyAdmin
  • mysqldumper – Skriptsammlung zum Sichern und Einspielen kompletten MySQL-Datenbanken

Die wichtigsten Konfigurationsdateien

Den genauen Standort der einzelnen Dateien finden Sie auch unter http://localhost/xampp/phpinfo.php

  • \xampp\apache\conf\httpd.conf – Apache Konfiguration
  • \xampp\MercuryMail\mercury.ini – Mercury Konfiguration
  • \mysql\bin\my.ini – MySQL Konfiguration
  • \xampp\php\php.ini – PHP Konfiguration
  • \xampp\phpMyAdmin\config.inc.php – phpMyAdmin Konfiguration
  • \xampp\sendmail\sendmail.ini – Sendmail, als alternative zu Mercury

Die wichtigsten Pfade

  • \xampp\htdocs
  • \xampp\MercuryMail\MAIL
  • \xampp\mysql\data

Fehlersuche

Es empfiehlt sich – wie überall – die Logfiles zu checken. Nützlich ist dabei eine Software wie mtail, die Logfiles beobachtet und nur die Änderungen in Echtzeit anzeigt.

Die wichtigsten Logfiles

  • \xampp\apache\logs\error.log
  • \xampp\FileZillaFTP\Logs
  • \xampp\MercuryMail\LOGS\
  • \xampp\mysql\data\mysql.err
  • \xampp\sendmail\sendmail.log

Wenn es noch Fragen gibt, immer her damit.

Backup beim Herunterfahren des Rechners

Es gibt viele Programme, die ein Backup des Rechners erlauben, aber ich kenne keine, die erst beim Herunterfahren des Rechners anlaufen, ohne dass bereits irgendwelche Programme oder Programmteile (bspw. Scheduler) geladen sein müssen.

Ich möchte nicht für jede Aktion ein Programm, und sei es noch so klein, ständig am laufen haben.

Also habe ich mich dazu entschlossen, mit Hilfe der Windows-Bordmittel und dem besten zur Zeit verfügbaren Backup-Programm im deutschen Raum (Personal Backup) mir ein laufendes und stabiles Backup-System herzustellen.

Wir benötigen dazu:

  1. Personal Backup, lauffähig und eingerichtet
  2. mindestens zwei Backup-Sets: Vollbackup und Differentiellbackup
  3. Verschiedene Skripte (Download)

Anleitung:

Schritt 1 – Personal Backup installieren und einrichten:

Hier kann alles per Default installiert werden

Schritt 2 – Backup-Sets einrichten:

Wir benötigen mindestens zwei Backup-Sets: für ein Vollback und für ein Diffbackup. Das Vollbackup – wie der Name schon sagt – sichert alle ausgewählten Dateien, das Diffbackup sichert nur die Dateien, die sich seit der letzten Sicherung (egal ob Voll oder Differentiell) geändert haben.

Zum Rekonstruieren verlorener Dateien braucht man also maximal ein Vollbackup und ein Diffbackup.

Ich selbst lasse Sonntag Abends beim Herunterfahren immer ein Vollbackup laufen und an den übrigen Wochentagen jeweils ein Diffbackup. Aber das kann sich jeder selbst aussuchen

Schritt 3 – Maximale Ausführungszeit aller Skripte festlegen:

Normalerweise bricht Windows beim Herunterfahren alle Skripte ab, die länger als 30 Sekunden laufen. Bei Backups dürften es aber meist mehrere Minuten dauern.

Daher benutzen wir die Datei registry.reg.  Per Doppelklick wird damit die maximale Ausführungszeit auf 0 (=unendlich) gesetzt. Das dürfte reichen.

Schritt 4 – Einrichten der Skripte:

Wir kopieren die Dateien backupAtShutdown.cmd und GetAllDateTimeInfos.bat nach C:\WINDOWS\System32\GroupPolicy\User\Scripts\Logoff.  Eventuell muss dieses Verzeichnis vorher angelegt werden.

Dann öffnen wir dem dem Befehl GPEDIT.MSC (unter Startmenü->Ausführen) die Benutzerkonfiguration und gehen zu Windows-Einstellungen->Abmelden. Dort fügen wir wie auf den Screenshots zu sehen, das Skript backupAtShutdown.cmd hinzu, damit es beim Herunterfahren ausgeführt wird. Zusatzparameter müssen keine angegeben werden.

Schritt 5 – Anpassen der Skripte:

Das Skript backupAtShutdown.cmd lädt GetAllDateTimeInfos.bat nach und sollte sich dank der Kommentare selbst erklären.

Ich habe es so für mich hergerichtet, dass es nur startet, wenn der Rechner zwischen 21:00 und 05:00 am nächsten Tag herunterfährt, damit nicht bei einem frühzeitigeren Herunterfahren oder Neustart bereits ein Backup startet

Je nach Wochentag wird dann das Vollbackup oder das Diffbackup gestartet.

Ich empfehle, in Personal Backup auch das automatische Überprüfen der erzeugten Backups zu aktivieren, das kostet nur wenige Minuten mehr. Aber dafür haben Sie die Gewissheit, dass auch wirklich das Richtige richtig gesichert wurde.

Bei Fragen, können Sie sich gerne melden.

Erfahrungsbericht: Android 2.1, Vodafone 845 und Navigation

Kurz: Gut!

Da ich jetzt endlich das Rein-Roll-Ladekabel für meinen Zigarettenanzünder und meine 9,95 € Callmobile Vodafone Flat (UMTS) habe, wollte ich mal das Navigieren testen.

Bin selbst erstaunt, wie gut es ging.

Ich nutze nur Google-Produkte dafür: Google Maps und Sprachsuche.

Vorgehen: Google Maps aufrufen, Adresse einsprechen (hat immer geklappt, sogar mit „Douglas“), dann wählen, ob man mit dem Auto fahren oder zu Fuß gehen will und schon kann es losgehen.

Die Frauenstimme ist ein klein wenig blechern aber sonst sehr gut verständlich.

Vorteile: Im Gegensatz zu manchen billigeren Stand-Alone-Navigationslösungen werden die Straßennamen ausgesprochen. Es heiß also nicht „die nächste Straße rechts“, sondern „rechts abbiegen in Hannibal-Lecter-Straße“

Die Anzeige ist auch voll ausreichend, wurde von mir aber nicht benötigt.

Neuberechnungen erfolgten zügig.

Nett: Im Fußgängermodus wird automatisch Google Earth benutzt und die Neigung und die Ausrichtung des Geräts berücksichtigt.

Nachteil: Bei abrupten Wechseln erfolgte die Neuansage manchmal einen gefühlten Tick zu spät. Aber vielleicht bilde ich mir das nur ein.

Positiv: geringer Verbrauch, 10 min. Innenstadt fahren < 500 KB

Fazit: Ich werde mir mit Sicherheit kein Stand-Alone-Navi mehr holen. Und ob ich mir fürs Ausland eine Software mit festem Datenbestand auf SD-Karte zulege, muss ich erstmal durchkalkulieren.

[youtube _NvJPZ88tDc]

Wer fragen hat, nur raus damit.