XAMPP FAQs for Linux
Description: Instructions on how to install XAMPP for Linux distributions.

# Linux Häufig gestellte Fragen

Wie installiere ich XAMPP?

  Wählen Sie eine Variante für Ihr Linux-Betriebssystem, 32-Bit oder 64-Bit-Version.

  Ändern Sie die Berechtigungen für das Installationsprogramm

  `chmod 755 xampp-linux-*-installer.run`

  Führen Sie die Installation aus

  `sudo ./xampp-linux-*-installer.run`

  Das ist schon alles. XAMPP ist nun im Verzeichnis /opt/lampp installiert.

Does XAMPP include MySQL or MariaDB?

  Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.

Wie starte ich XAMPP?

  Um XAMPP zu starten geben Sie folgenden Befehl ein:

  `sudo /opt/lampp/lampp start`

  Sie sollten nun ähnliches auf Ihrem Bildschirm sehen:

  `Starting XAMPP 1.8.2...
  LAMPP: Starting Apache...
  LAMPP: Starting MySQL...
  LAMPP started.
  Ready. Apache and MySQL are running.`

  Wenn Sie irgendwelche Fehlermeldungen erhalten, ersuchen Sie unsere Community-Seiten zur Hilfe.

  Beachten Sie auch, dass es ein grafisches Tool gibt, mit dem Sie Ihre Server einfach verwalten können. Sie können dieses Programm mit den folgenden Befehlen starten:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

Wie kann ich XAMPP anhalten?

  Um XAMPP anzuhalten, geben Sie folgenden Befehl ein:

  `sudo /opt/lampp/lampp stop`

  Sie sollten nun ähnliches auf Ihrem Bildschirm sehen:

  `Stopping XAMPP 1.8.2...
  LAMPP: Stopping Apache...
  LAMPP: Stopping MySQL...
  LAMPP stopped.
  `

  Wenn Sie irgendwelche Fehlermeldungen erhalten, ersuchen Sie unsere Community-Seiten zur Hilfe.

  Beachten Sie auch, dass es ein grafisches Tool gibt mit dem Sie Ihre Server einfach starten und beenden können. Sie können dieses Programm mit den folgenden Befehlen starten:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

Wie kann ich testen, ob alles funktioniert?

  Geben Sie folgende URL in Ihrem Lieblings-Web-Browser ein:

  `http://localhost`

  You should see the XAMPP start page, as shown below.

Ist XAMPP zum Produktiveinsatz geeignet?

  XAMPP ist nicht für den Einsatz in Produktivumgebungen, sondern ausschließlich für den Einsatz als Entwicklungsumgebung gedacht. XAMPP ist so offen wie möglich konfiguriert, um dem Entwickler alles, was er/sie möchte, zu erlauben. Dies ist für Entwicklungsumgebungen großartig, kann aber im Produktiveinsatz fatale Auswirkungen haben.

  Hier ist eine Liste fehlender Sicherheitseinstellungen in XAMPP:

  1. Der MySQL-Administrator (root) hat kein Passwort.
  2. Der MySQL-Daemon ist übers Netzwerk erreichbar.
  3. ProFTPD nutzt das Passwort "lampp" für den Benutzer "daemon".

  Um die meisten Sicherheitsschwachstellen zu beheben, geben Sie folgenden Befehl ein:

  `sudo /opt/lampp/lampp security`

  Dieser Befehl startet einen kleinen Sicherheitscheck und macht Ihre XAMPP-Installation sicher. Zum Beispiel werden die XAMPP-Demoseiten durch eine Kombinationen aus einem Benutzernamen ('lampp') und einem Passwort geschützt.

Was bedeuten die Fehlermeldungen, welche ich beim Start von XAMPP sehe?

  Sie könnten einige Fehlermeldungen beim Start von XAMPP erhalten:

  `LAMPP-Apache is already running.
  An Apache daemon is already running.`

  Das LAMPP-Startskript startet XAMPP-Apache nicht, da eine Apache-Instanz bereits ausgeführt wird. Um XAMPP richtig starten zu können, müssen Sie zuerst diese Instanz beenden.

  `LAMPP-MySQL is already running.
  A MySQL daemon is already running.`

  Beinahe aus den gleichen Gründen wie beim Fehler oben fand das Startskript einen MySQL-Dämon, der auf Ihrem System bereits lief. Um LAMPP sauber zu starten, müssen Sie diesen Dämon erst einmal beenden.

Apache doesn't seem to start. What can I do?

  Diese Fehler kann mehrere Ursachen haben. Apache zeigt diese Fehlermeldung unter verschiedenen Umständen an. Um den genauen Grund herauszufinden, müssen wir etwas nachforschen:

  `tail -2 /opt/lampp/logs/error_log`

  Wenn Sie irgendwelche Fehlermeldungen erhalten, ersuchen Sie unsere Community-Seiten zur Hilfe.

Was muss ich machen, wenn die Fehlermeldung "Cannot restore segment prot after reloc: Permission denied" lautet?

  Einige Linuxdistributionen haben SELiniux standardmäßig aktiviert, welches den erfolgreichen Start von XAMPP verhindert. Sie sollten SELinux deaktivieren um XAMPP zu starten:

  `sudo /usr/sbin/setenforce 0`

  Nun sollte XAMPP wieder problemlos funktionieren.

Nachdem ich meine Linux-Box neu gestartet habe, läuft XAMPP nicht mehr! Wie kann ich dieses Problem beheben?

  Korrekt. Das ist das normale Verhalten von Linux (Gilt auch für jedes andere Unix-artige System). Es ist die Aufgabe des Administrators sicherzustellen, das eine bestimmte Applikation automatisch gestartet wird.

  Es gibt keinen standardmäßigen Weg, den Bootprozess eines Linux-Systems zu konfigurieren. Allerdings sollten Ihnen die folgenden Schritte erlauben, XAMPP beim Start automatisch ausführen zu lassen.

  Debian, Ubuntu.

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .`

  RedHat, Fedora, CentOS. Wenn Ihre Linux-Distribution "chkconfig" benutzt um die Dienste zu installieren, können Sie die folgenden Befehle ausführen:

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
  sudo chkconfig --add lampp`

  SUSE

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo chkconfig lampp 2345`

Wie kann ich meine XAMPP-Installation sicherer machen?

  In der Standardinstallation sichert XAMPP seine Dienste nicht mit Passwörtern. Deshalb wird empfohlen, XAMPP in dieser Konfiguration nicht für Andere zugänglich zu machen.

  Geben Sie einfach den folgenden Befehl (als root) ein, um eine einfache Sicherheitsüberprüfung durchzuführen:

  `sudo /opt/lampp/lampp security`

  Nun sollten Sie den folgenden Dialog auf Ihrem Bildschirm sehen:

  `XAMPP: Quick security check... XAMPP: MySQL is accessable via network. XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes XAMPP: Turned off. XAMPP: Stopping MySQL... XAMPP: Starting MySQL... XAMPP: The MySQL/phpMyAdmin user pma has no password set!!! XAMPP: Do you want to set a password? [yes] yes XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Setting new MySQL pma password. XAMPP: Setting phpMyAdmin's pma password to the new one. XAMPP: MySQL has no root passwort set!!! XAMPP: Do you want to set a password? [yes] yes XAMPP: Write the passworde somewhere down to make sure you won't forget it!!! XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Setting new MySQL root password. XAMPP: Setting phpMyAdmin's root password to the new one. XAMPP: The FTP password for user 'nobody' is still set to 'lampp'. XAMPP: Do you want to change the password? [yes] yes XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Reload ProFTPD... XAMPP: Done.`

  (1) 'Setting a password' wird Ihre XAMPP Demoseiten (http://localhost/xampp/) mit dem eingegebenen Passwort schützen. Der Benutzername lautet 'lampp'!

  Nachdem Sie diesen Befehl ausgeführt haben, sollte Ihre XAMPP-Installation besser gesichert sein.

Wie aktiviere ich eAccelerator?

  Um eAccelerator zu aktivieren, suchen Sie schlicht die folgenden Zeilen in Ihrer /opt/lampp/etc/php.ini:

  `;extension="eaccelerator.so" ;eaccelerator.shm_size="16" ;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator" ;eaccelerator.enable="1" ;eaccelerator.optimizer="1" ;eaccelerator.check_mtime="1" ;eaccelerator.debug="0" ;eaccelerator.filter="" ;eaccelerator.shm_max="0" ;eaccelerator.shm_ttl="0" ;eaccelerator.shm_prune_period="0" ;eaccelerator.shm_only="0" ;eaccelerator.compress="1" ;eaccelerator.compress_level="9"`

  Entfernen Sie das Semikolon am Anfang jeder Zeile und starten Sie XAMPP anschließend neu. eAccelerator ist nun aktiv. Mehr Informationen zu eAccelerator finden Sie unter http://eaccelerator.net.

Wie kann ich die OCI8/Oracle-Erweiterung für PHP aktivieren?

  Um die OCI8/Oracle-Erweiterung für PHP zu aktivieren, führen Sie bitte folgenden Befehl aus:

  `sudo /opt/lampp/lampp oci8`

  Nun startet der folgende Dialog:

  `Please enter the path to your Oracle or Instant Client installation: [/opt/lampp/lib/instantclient-11.2.0.3.0] installing symlinks... patching php.ini... OCI8 add-on activation likely successful. LAMPP: Stopping Apache with SSL... LAMPP: Starting Apache with SSL...`

  Die Erweiterung sollte nun aktiv sein.

XAMPP läuft, aber warum werden keine Bilder angezeigt?

  Das ist ein besonderes Problem mit einigen Linux-Systemen. Bitte öffnen Sie /opt/lampp/etc/httpd.conf und suchen Sie nach diesen zwei Zeilen:

  `#EnableMMAP off #EnableSendfile off`

  Entfernen Sie das '#'-Zeichen in beiden Zeilen und starten Sie Apache neu. Ihre Bilder sollten nun wieder zu sehen sein.

How do I enable access to phpMyAdmin from the outside?

  In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.

  IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.

  To enable remote access to phpMyAdmin, follow these steps:

  - Edit the etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
  - Within this file, find the lines below.

    `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Require local`

  - Then replace 'Require local' with 'Require all granted'.

  `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpMyAdmin"> AllowOverride AuthConfig Require all granted`

  - Restart the Apache server using the XAMPP control panel.
Where are the main XAMPP configuration files?

  The main XAMPP configuration files are located as follows:

  - Apache configuration file: /opt/lampp/etc/httpd.conf, /opt/lampp/etc/extra/httpd-xampp.conf
  - PHP configuration file: /opt/lampp/etc/php.ini
  - MySQL configuration file: /opt/lampp/etc/my.cnf
  - ProFTPD configuration file: /opt/lampp/etc/proftpd.conf
How do I send email with XAMPP?

  To send email with XAMPP, use the PEAR Mail and Net_SMTP packages, which allow you to send email using an external SMTP account (such as a Gmail account). Follow these steps:

  - Install the Mail and Net_SMTP PEAR modules: `pear install Net_SMTP Mail` Note that if these packages are already installed in your system you see the messages below when executing that command: `Ignoring installed package pear/Net_SMTP Ignoring installed package pear/Mail Nothing to install`
  - Create the following example script in your "htdocs" directory to send an email: `<?php require_once "Mail.php"; $from = "your-gmail-username@gmail.com"; $to = 'recipients@example.com'; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = 'your-gmail-username@gmail.com'; $password = 'your-gmail-password'; $subject = "test"; $body = "test"; $headers = array ('From' => $from, 'To' => $to,'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo($mail->getMessage()); } else { echo("Message successfully sent!\n"); } ?>`

    Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.

  - Execute the script by browsing to it using your Web browser. You should see a notification that the message was successfully sent, and the message should be delivered to the recipient email address.
Wie kann ich mein XAMPP-System sichern/wiederherstellen?

  Achtung: Die Sicherungs- und Wiederherstellungsfunktion ist noch in der Entwicklung und könnte nicht richtig arbeiten.

  Sie können das Backup erstellen, indem Sie folgenden Befehl ausführen:

  `sudo /opt/lampp/lampp backup`

  oder

  `sudo /opt/lampp/lampp backup secret`

  Wobei "secret" Ihr MySQL-root-Passwort ist. Dieser Befehl erzeugt die folgende Ausgabe:

  `Backing up databases... Backing up configuration, log and htdocs files... Calculating checksums... Building final backup file... Backup finished. Take care of /opt/lampp/backup/xampp-backup-22-01-14.sh`

  Die Datei /opt/lampp/backup/xampp-backup-22-01-14.sh (im obigen Beispiel) enthält eine Sicherungskopie. Bewahren Sie die Datei an einem sicheren Ort auf.

  Auf der neuen Maschine benötigen Sie dieselbe Version von XAMPP wie auf der originalen/ursprünglichen Maschine.

  `sudo sh xampp-backup-22-01-14.sh`

  Sie werden in etwa Folgendes sehen:

  `Checking integrity of files... Restoring configuration, log and htdocs files... Checking versions... Installed: XAMPP 1.4.2 Backup from: XAMPP 1.4.2 Restoring MySQL databases... Restoring MySQL user databases... Backup complete. Have fun! You may need to restart XAMPP to complete the restore.`

  Das ist alles. Bitte behalten Sie im Hinterkopf, dass es sich hierbei um eine Funktion in der Betaphase handelt.