ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
WikiXAMPP

XAMPP

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

/xampp-logo.png XAMPP {de} ist eine Zusammenstellung von freier Software vorwiegend aus dem Umfeld eines LAMP-Servers. LAMP ist ein Akronym für den kombinierten Einsatz von Programmen auf Basis von Linux, um dynamische Webseiten zur Verfügung zu stellen. Die einzelnen Buchstaben des Akronyms stehen für die verwendeten Komponenten: Linux, Apache, MySQL und PHP bzw. Perl.

XAMPP ermöglicht das einfache Installieren und Konfigurieren des Webservers Apache mit der Datenbank MySQL bzw. SQLite und den Skriptsprachen Perl und PHP (mit PEAR). Das X steht hierbei für die verschiedenen Betriebssysteme, auf denen es eingesetzt werden kann. Zusätzlich enthalten sind andere nützliche Werkzeuge wie den FTP-Server ProFTPD, den Mailserver Mercury, phpMyAdmin, Webalizer und OpenSSL.

Hinweis:

Das häufig empfohlene XAMPP bereitet unter Ubuntu immer wieder Probleme. Da Ubuntu (fast) alle in XAMPP enthaltenen Serverdienste auch über die offiziellen Paketquellen bereitstellt, sollten bevorzugt die Einzelpakete genutzt werden. Konkret wird das im Artikel LAMP erläutert.

Eigenschaften und Funktionen

Ziel von XAMPP ist es, eine besonders einfache Installation zu erreichen. Mit wenigen Mausklicks erhält man eine brauchbare Vorkonfiguration, die alleine teilweise recht lange dauern würde.

Achtung!

XAMPP ist ausschließlich eine Testumgebung für Entwickler und sollte nicht als öffentlicher Webserver verwendet werden! Dies erklärt auch die bewusst in Kauf genommenen Einschränkungen in Hinblick auf die Sicherheit von XAMPP (siehe unten).

Installation

Unter Linux installiert sich XAMPP komplett in das Verzeichnis /opt.

Eventuelle Installationen von Apache, PHP und MySQL aus der Paketverwaltung werden in der Regel nach /usr/bin oder /usr/sbin installiert, so dass es ratsam ist, diese Pakete vor einer Installation von XAMPP komplett zu deinstallieren oder zumindest die Dienste abzuschalten.

Hinweis!

Fremdsoftware kann das System gefährden.


Anmerkung: Die XAMPP-Software wird als tar.gz-Archiv von apachefriends.org {de} zum Download {dl} angeboten. Aus den dort angebotenen Optionen wählt man in der Regel die erste (Komplettpaket). Finden kann man dort auch ein eventuelles Upgrade-Paket.

Entpacken

Das heruntergeladene Archiv entpackt [1] man mit dem folgenden Befehl im Terminal [2] ins Verzeichnis /opt:

sudo tar xvfz xampp-linux-*.tar.gz -C /opt 

XAMPP ist damit im Verzeichnis /opt/lampp installiert.

XAMPP starten

Eigentlich ist XAMPP nun schon einsatzbereit. Um XAMPP zu starten [3], reicht der folgende Befehl im Terminal aus:

sudo /opt/lampp/lampp start 

Auf dem Bildschirm sollten nun folgende Mitteilungen zu sehen sein (die Versionsnummer kann abweichen):

Starte XAMPP fuer Linux 1.7.3a...
XAMPP: Starte Apache mit SSL (und PHP5)...
XAMPP: Starte MySQL...
XAMPP: Starte ProFTPD...
XAMPP fuer Linux gestartet.

Damit sind XAMPP bzw. der Apache, MySQL und evtl. ProFTPD gestartet und laufen.

Hinweis:

Nutzer eines 64-bit Systems werden eine Fehlermeldung bezüglich fehlender Abhängigkeiten erhalten. Eine Lösung dafür ist unter Probleme und Fehler zu finden.

Testen - Läuft der Server?

/xampp_start.png Um zu testen, ob der Server auch wirklich läuft und einsatzbereit ist, kann man einfach auf den Apache zugreifen. Dazu gibt man in der Adresszeile des Browsers die eigene URL (siehe localhost) ein: http://localhost . Ist alles korrekt eingegeben und der Apache läuft, sieht man nun die Startseite von XAMPP (siehe Bild rechts). Auf der Startseite gibt es nun einen Link zum Testen der Installation und ein paar kleine Programmbeispiele.

Hinweis:

Hat man später diese Startseite durch seine eigene Seite ersetzt, kann man übrigens die XAMPP-Startseite immer noch unter http://localhost/xampp/ erreichen.

XAMPP stoppen

Mit einem ebenso einfachen und kurzen Befehl wird XAMPP bzw. der Apache, MySQL und evtl. ProFTPD wieder gestoppt:

sudo /opt/lampp/lampp stop 

Auf dem Bildschirm sollten nun folgende Mitteilungen zu sehen sein (die Versionsnummer kann abweichen):

Stoppe XAMPP fuer Linux 1.7.3a...
XAMPP: Stoppe Apache mit SSL...
XAMPP: Stoppe MySQL...
XAMPP: Stoppe ProFTPD...
XAMPP beendet.

Damit sind XAMPP bzw. der Apache, MySQL und evtl. ProFTPD gestoppt und wurden beendet.

XAMPP per GUI starten/stoppen

/xampp_control_panel.png Eine komfortable Möglichkeit, um XAMPP zu starten/stoppen, bietet die XAMPP-eigene GUI. Da der Ordner /opt Root-Rechte voraussetzt, startet man die folgenden Befehle mit Hilfe von gksu bzw kdesudo:

  • Bei der Nutzung von GNOME oder Xfce:

    gksu "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py" 
  • Bei der Nutzung von KDE:

    kdesudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py" 

Diese Befehle kann man auch dem Menü oder dem Panel hinzufügen [4] .

Speicherort ändern

Die vom Anwender erstellten Webseiten (z. B. HTML oder PHP) werden im Verzeichnis /opt/lampp/htdocs gespeichert. Das ist auch der Ort, den XAMPP durchsucht, um selbige im Browser darzustellen. Um die oben genannten Root-Rechte beim Editieren der Dateien im Verzeichnis /opt umgehen zu können, kann man sich diesen Ordner in das eigene Homeverzeichnis verlinken:

mkdir ~/name_des_ordners                                      ## man wählt sich hier einen passenden Namen 
sudo ln -s ~/name_des_ordners /opt/lampp/htdocs/$USER         ## name_des_ordners mit dem oben vergebenen Namen ersetzen 

Erreichbar ist das htdocs-Verzeichnis im Browser dann via http://localhost/username bzw http://127.0.0.1/username.

Erhält man eine Fehlermeldung beim Aufruf der Seite, muss man noch die Rechte des Ordners anpassen, so dass XAMPP darauf zugreifen kann:

chmod -R 755 ~/name_des_ordners 

Upgrade

Da XAMPP außerhalb der Paketverwaltung installiert wurde, muss man sich selbst um eventuell anfallende Updates/Ugrades kümmern. Zwei Gründe sprechen für das im obigen Download-Verzeichnis angebotene Upgrade-Paket:

  • Die XAMPP-Distribution ist recht umfangreich, weshalb sich bei einer schon bestehenden XAMPP-Installation das viel kleinere Upgrade-Paket empfiehlt.

  • Bei einem Upgrade werden bestehende Konfigurations- und HTML-Dateien (z. B. htdocs/index.php, siehe htdocs) nicht überschrieben, was sonst bei einer Neuinstallation der Fall wäre.

Das Upgrade startet man mit dem Download des Upgrade-Pakets und entpackt es mit dem nachfolgenden Befehl:

tar xvfz xampp-linux-upgrade-*.tar.gz 

Danach startet man das Upgrade mit dem Befehl:

sudo xampp-upgrade/start 

Auf dem Bildschirm sollten nun folgende Mitteilungen zu sehen sein (die Versionsnummer kann abweichen):

Stoppe XAMPP fuer Linux 1.7.3...
XAMPP: Stoppe Apache...
XAMPP: Stoppe MySQL...
XAMPP beendet.

Aktualisiere XAMPP fuer Linux 1.7.3 auf 1.7.3a...
Installiere neue Dateien...
Loesche ueberfluessige Dateien...
Aktualisiere bestehende Dateien...
patching file xampp/etc/httpd.conf

Akutalisierung erfolgreich abgeschlossen.

Starte XAMPP fuer Linux 1.7.3a...
XAMPP: Starte Apache...
XAMPP: Starte MySQL...
XAMPP fuer Linux gestartet.

XAMPP wurde damit erfolgreich aktualisiert. Durch das Upgrade wird ein eventuell laufender XAMPP gestoppt und anschließend wieder gestartet (XAMPP wird aber auch dann gestartet, wenn es vorher nicht lief).

Abschließend sollte man mittels Browser auf http://localhost zugreifen. Dort sieht man nun die neue XAMPP-Version. Nach dem Upgrade sollte das Verzeichnis /xampp-upgrade wieder gelöscht werden.

Deinstallation

Um XAMPP zu deinstallieren, muss man nur das Verzeichnis /opt/lampp löschen. Dazu nutzt man entweder den jeweiligen Dateimanager oder das Terminal [2] (z. B. mit Hilfe des Befehls rm). Zum Löschen sind in beiden Fällen Root-Rechte erforderlich.

Start- und Stopp-Parameter

Die Parameter, welche in der Tabelle aufgeführt sind, werden immer dem folgenden Befehl angehängt:

sudo /opt/lampp/lampp PARAMETER 

Die folgende Tabelle zeigt die verschiedenen Parameter von XAMPP.

Start- und Stopp-Parameter von XAMPP
Parameter Bedeutung
start Startet XAMPP
stop Stoppt XAMPP
restart Stoppt und startet XAMPP
reload Apache, MySQL und – wenn gestartet – ProFTPD lesen die jeweiligen Konfigurationsdateien neu ein
security Führt einen kleinen Sicherheitscheck von XAMPP durch und schließt eventuelle Lücken
startapache Startet nur den Apache
startssl Dadurch wird der Apache mit SSL-Unterstützung gestartet. Unter https://localhost kann man seinen Apache via SSL erreichen. Durch diesen Befehl wird die SSL-Unterstützung permanent aktiviert. D.h. auch beim nächsten Start des XAMPP wird SSL wieder mit gestartet.
startmysql Startet nur die MySQL-Datenbank
startftp Startet nur den ProFTPD-Server. Der FTP-Server ist so vorkonfiguriert, dass man nun mit dem Benutzer nobody und dem Passwort lampp nun z.B. die HTML-Dateien auf den XAMPP-Server hochladen kann. Achtung: Man sollte schnellstens ein anderes Passwort setzten. (siehe Abschnitt Sicherheit). Durch diesen Befehl wird der FTP-Server permanent aktiviert, das heißt auch beim nächsten Start von XAMPP wird der FTP-Server wieder gestartet.
stopapache Stoppt den Apache
stopssl Stoppt die SSL-Unterstützung des Apache. Auch beim nächsten Start von XAMPP wird die SSL-Unterstützung nicht mehr gestartet.
stopmysql Stoppt die MySQL-Datenbank
stopftp Stoppt den ProFTPD-Server. Auch beim nächsten Start von XAMPP wird der FTP-Server nicht mehr gestartet.
reloadapache Der Apache liest die Konfigurationsdatei neu ein
reloadmysql MySQL liest die Konfigurationsdatei neu ein
reloadftp ProFTPD liest die Konfigurationsdatei neu ein

Was ist wo?

Die nachfolgende Tabelle gibt einen Überblick über die Konfigurationsdateien der in XAMPP enthaltenen Software-Pakete.

Wichtige Dateien und Verzeichnise von XAMPP
Datei/Verzeichnis Bedeutung
/opt/lampp/bin/ Dort liegen die Befehle zu XAMPP. /opt/lampp/bin/mysql ruft beispielsweise den MySQL-Monitor auf
/opt/lampp/htdocs/ Das DocumentRoot-Verzeichnis des Apache-Webserver. Dort liegen die Webseiten des Apache
/opt/lampp/etc/httpd.conf Die zentrale Konfigurations-Datei für den Apache-Webserver
/opt/lampp/etc/my.cnf Die Konfigurations-Datei für den MySQL-Datenbankserver
/opt/lampp/etc/php.ini Die Konfigurations-Datei für PHP
/opt/lampp/etc/proftpd.conf Die Konfigurations-Datei für ProFTPD
/opt/lampp/phpmyadmin/config.inc.php Die Konfigurations-Datei für phpMyAdmin

Sicherheit

Wie schon an obiger Stelle erwähnt, ist XAMPP nicht für den Produktiveinsatz gedacht, sondern nur für Entwickler als Testumgebung. Das hat zur Folge, dass XAMPP absichtlich nicht restriktiv, sondern im Gegenteil sehr offen vorkonfiguriert ist. Für einen Entwickler ist das ideal, da er so keine Grenzen vom System vorgeschrieben bekommt.

Die folgende Liste {de} zeigt die Eigenschaften, die an XAMPP absichtlich (!) unsicher sind: /xampp_status.png

  • Der MySQL-Administrator (root) hat kein Passwort

  • Der MySQL-Daemon ist übers Netzwerk erreichbar

  • Der ProFTPD-Daemon benutzt das Passwort "lampp"

  • PhpMyAdmin ist übers Netzwerk erreichbar

  • Die Demoseiten sind für jeden im Netzwerk abrufbar

  • MySQL und Apache laufen unter der gleichen Benutzerkennung (nobody)

In den XAMPP-Demo-Seiten gibt es den Punkt "Sicherheitscheck": http://localhost/xampp/security.php. Dort kann man sich den aktuellen Sicherheitszustand der eigenen XAMPP-Installation anzeigen lassen (siehe Bild rechts).

XAMPP in einem Netzwerk betreiben

Will man XAMPP in einem Netzwerk betreiben, so dass der XAMPP-Server auch von anderen erreichbar ist, sollte man unbedingt den folgenden Befehl aufrufen, mit dem man diese Unsicherheiten einschränken kann:

sudo /opt/lampp/lampp security 

Dieser Befehl zeigt folgenden Dialog im Terminal an (aus Demonstrationsgünden wurde hier jeweils die Option "Nein" gewählt):

XAMPP: Schneller Sicherheits-Check...
XAMPP: Die XAMPP-Seiten sind NICHT mit einem Passwort geschuetzt.
XAMPP: Moechtest Du ein Passwort setzen? [ja] n
XAMPP: Der MySQL/phpMyAdmin-Benutzer pma hat kein Passwort gesetzt!!!
XAMPP: Moechtest Du ein Passwort setzten? [ja] n
XAMPP: MySQL hat kein root-Passwort gesetzt!!!
XAMPP: Moechtest Du ein Passwort setzten? [ja] n
XAMPP: Das FTP-Passwort fuer 'nobody' ist noch auf 'lampp' gestellt.
XAMPP: Moechtest Du das Passwort aendern? [ja] n
XAMPP: Fertig.

Mit der Option "Ja" sind dann die XAMPP-Demoseiten mit einem Benutzernamen ('lampp') und einem Passwort geschützt und auch nicht mehr für jeden „Fremden“ übers Netzwerk erreichbar. Nach diesen Aufruf kann man jedenfalls davon ausgehen, dass die XAMPP-Installation halbwegs sicher ist. Man sollte in jedem Fall den Sicherheits-Abschnitt in der Linux FAQ {de} durchlesen.

Problembehebung

Bei Problemen oder Fehlermeldungen kann man sich die XAMPP-Linux-FAQ {de} anschauen. Dort werden viele Probleme und Fehlermeldungen erklärt.

Dropbox

XAMPP hat einen Zuweisungsproblem mit Dropbox. Es hilft Dropbox auszuschalten.

/usr/bin/dropbox stop 

XAMPP auf 64-bit Systemen

Beim Versuch XAMPP auf einem 64-Bit System zu starten, werden Nutzer folgende Fehlermeldungen erhalten:

XAMPP gibt es zur Zeit nur als 32-Bit Applikation. Bitte verwende eine 32-Bit Kompatibilitaetsbibliothek fuer Dein System.
XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibility library for your system.

Die Lösung des Problems ist ganz einfach. Man installiert sich die beiden Pakete gcc-multilib und eglibc-source

  • gcc-multilib

  • eglibc-source (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gcc-multilib eglibc-source 

sudo aptitude install gcc-multilib eglibc-source 

Danach sollte man das XAMPP-Paket wie im Abschnitt Entpacken beschrieben erneut ins Verzeichnis /opt entpacken, da es sonst vorkommen kann, dass MySQL nicht startet. Anschließend verläuft der Start und Betrieb auf einem 64-Bit System problemlos.

phpMyAdmin

Erhält man die Fehlermeldung:

Neues XAMPP Sicherheitskonzept:

Der Zugriff auf das angeforderte Verzeichnis ist nur aus dem lokalen Netzwerk möglich.

Diese Einstellung kann in der Datei "httpd-xampp.conf" angepasst werden.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.

Error 403

localhost

Apache/2.4.2 (Unix) OpenSSL/1.0.1c PHP/5.4.4

ändert man die Datei /opt/lampp/etc/extra/httpd-xampp.conf entsprechend ab (Anleitung {en}).

ubuntuusers.local › WikiXAMPP