XAMPP ist eine Distribution bestehend aus dem Apache-Webserver, MySQL Datenbankserver, PHP und Perl, die es ermöglicht diese Programme auf sehr einfache Weise zu installieren.
Nachfolgende Beschreibung soll bei der Konfiguration des XAMPP-Paketes für eine Drupal-Entwicklungsumgebung helfen. Auch wenn sich diese Anleitung primär mit einer Installation unter Windows beschäftigt, sollte sich alles 1:1 auf Linux, Mac OS X oder Solaris übertragen lassen. Für Windows gibt es auch ein XAMPP Lite das alle für Drupal notwendigen Softwarebestandteile mitbringt und weniger Komplexität mit sich bringt. Diese Dokumentation wurde mit XAMPP Lite erstellt.
Wichtig: Die letzte mit Drupal 5.x, 6.x und 7.x zuverlässig funktionierende XAMPP Version scheint
v1.6.8 zu sein!
Ab XAMPP 1.7.0 ist MySQL 5.1.x (nicht empfohlen) und in XAMPP 1.7.2 ist MySQL 5.1.37 und PHP 5.3 enthalten. MySQL 5.1.x scheint sehr instabil zu sein und PHP 5.3 wird erst ab Drupal 6.14 und 7.x unterstützt. Ein sehr treffender Artikel zu
Beware MySQL 5.1 my son besagt zwar das es ab MySQL 5.1.32 besser werden soll - aber nach persönlichen Erfahrungen kann auch von MySQL 5.1.33 nur abgeraten werden.
- Zur Installation wird ein XAMPP Paket für Windows benötigt.
- Das XAMPP-Archive auf C:\ oder ein anderes Laufwerk entpacken (USB-Laufwerke sind auch möglich). Das selbstentpackende XAMPP-Paket erstellt ein Verzeichnis \xampplite bzw. \xampp mit allen Unterverzeichnissen.
- Das YAML für Drupal 5 - Komplettpaket in xampplite\htdocs\drupal5 bzw. YAML für Drupal 6 - Komplettpaket in xampplite\htdocs\drupal6 entpacken.
- Das XAMPP-Setup im Basisverzeichnis mit setup_xampp.bat ausführen.
- Mit der XAMPP Control Panel Application (\xampplite\xampp-control.exe) den MySQL und Apache starten.
- phpMyAdmin im Browser über die URL http://localhost/phpmyadmin/ aufrufen.
-
Dort die leeren Drupal-Datenbanken drupal5 bzw. drupal6 über Neue Datenbank anlegen erstellen.
-
XAMPP hat standardmäßig ein PHP-Memory-Limit von 16MB. Dies ist ausreichend für eine normale Installation, wird aber möglicherweise bei der Installation von einigen Modulen nicht ausreichend sein. Dieses Limit sollte auf 32MB erhöht werden. Weitere Information befinden sich im Handbuch zu den Drupal-Systemanforderungen.
\xampplite\apache\bin\php.ini
\xampplite\php\php.ini
[PHP]
; Maximum amount of memory a script may consume
memory_limit = 32M
[Session]
session.save_handler = user
-
Damit lesbare URLs funktionieren, muss das mod_rewrite-Modul von Apache durch Entfernen der # aktiviert werden. Diese empfohlene Konfigurationsänderung ist für die grundsätzliche Funktionalität von Drupal aber nicht zwingend erforderlich.
xampplite\apache\conf\httpd.conf
#
# Dynamic Shared Object (DSO) Support
#
LoadModule rewrite_module modules/mod_rewrite.so
- Apache neu starten damit alle Konfigurationsänderungen wirksam werden.
- Die Drupal-Installation über die URL http://localhost/drupal5/ bzw. http://localhost/drupal6/ starten.
- Als Datenbank-Treiber sollte MySQLi ausgewählt werden. Der XAMPP-Standard-Benutzer in MySQL ist root und hat kein Kennwort.
Weiterführende Information zu XAMPP finden Sie in der \xampplite\readme_de.txt und auf der XAMPP-Website.
Mögliche Probleme
Sollte eine PHP-Installation für den Microsoft IIS auf dem gleichen Rechner installiert worden sein, arbeitet PHP in Apache fehlerhaft. PHP sucht sich standardmäßig seine Konfigurationsdatei selbst und ließt dann die falsche Datei C:\Programme\PHP\php.ini ein. Damit dies nicht passiert, gibt es für PHP5 die Möglichkeit den Konfigurationsparameter PHPIniDir anzugeben. Nachfolgend wird der von der Konfiguration betroffene Ausschnitt mit der Änderung aufgeführt.
\xampplite\apache\conf\extra\httpd-xampp.conf
# xampplite settings
#
<IfModule alias_module>
<IfModule mime_module>
#ScriptAlias /php/ "/xampplite/php/"
#Action application/x-httpd-php "/php/php-cgi.exe"
LoadModule php5_module "/xampplite/apache/bin/php5apache2.dll"
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml
PHPIniDir "/xampplite/php"
<Directory "/xampplite/htdocs/xampp">
Manchmal stößt man auf Fehlermeldungen wie MySQL server has gone away. Der standardmäßige MySQL Konfigurationswert max_allowed_packet = 1M reicht für Drupal 5 aus, sollte unter Drupal 6 aber mindestens 16M betragen.
\xampplite\mysql\bin\my.cnf
[mysqld]
max_allowed_packet = 16M