OS X Häufig gestellte Fragen

What is the difference between XAMPP for OS X and XAMPP-VM?

  • XAMPP for OS X is a native installer for OS X. It installs Apache, PHP and other XAMPP components directly on your OS X system, in the /Applications/XAMPP folder.
  • XAMPP-VM is a virtual machine for OS X. It includes Apache, PHP and other XAMPP components and runs them in a Linux-based virtual machine on your OS X system.

For more information, refer to the blog post at https://www.apachefriends.org/blog/new_xampp_20170628.html.

.
Wie installiere ich XAMPP auf Mac OS X?

Um XAMPP zu installieren folgen Sie diesen Anweisungen:

  • Öffnen Sie das DMG-Image.
  • Klicken Sie doppelt auf das Bild, um die Installation zu starten.

Das wars schon. XAMPP ist jetzt im Ordner /Applications/XAMPP 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, öffnen Sie das XAMPP-Control-Panel und starten Sie Apache, MySQL und ProFTPD. Der Name des XAMPP-Control-Panels lautet "manager-osx".

Wie kann ich XAMPP anhalten?

Um XAMPP zu beenden, öffnen Sie das XAMPP-Control-Panel und halten Sie die Server an. Der Name von des XAMPP-Control-Panels lautet "manager-osx".

Wie kann ich testen, ob alles funktioniert?

Öffnen Sie die folgende URL in einem Web-Browser:

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 /Applications/XAMPP/xamppfiles/xampp security

Es wirft einen kleinen Sicherheitscheck an, um Ihre XAMPP-Installation abzusichern.

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.

Das liegt meist an den gleichen Gründen wie der obige Fehler. Das LAMPP-Startskript hat einen MySQL-Daemon gefunden, der bereits ausgeführt wird. Um XAMPP richtig starten zu können, müssen Sie diesen Daemon zuerst 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 /Applications/XAMPP/logs/error_log

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

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 /Applications/XAMPP/xamppfiles/xampp 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 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 /Applications/XAMPP/xamppfiles/lampp oci8

Nun startet der folgende Dialog:

Please enter the path to your Oracle or Instant Client installation:
[/Applications/XAMPP/xamppfiles/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.

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 xamppfiles/etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
  • Within this file, find the lines below.

    Alias /phpmyadmin "/Applications/XAMPP/xamppfiles/phpmyadmin" <Directory "/Applications/XAMPP/xamppfiles/phpmyadmin"> AllowOverride AuthConfig Require local

  • Then replace 'Require local' with 'Require all granted'.
  • Alias /phpmyadmin "/Applications/XAMPP/xamppfiles/phpmyadmin" <Directory "/Applications/XAMPP/xamppfiles/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: /Applications/XAMPP/xamppfiles/etc/httpd.conf, /Applications/XAMPP/xamppfiles/etc/extra/httpd-xampp.conf
  • PHP configuration file: /Applications/XAMPP/xamppfiles/etc/php.ini
  • MySQL configuration file: /Applications/XAMPP/xamppfiles/etc/my.cnf
  • ProFTPD configuration file: /Applications/XAMPP/xamppfiles/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 /Applications/XAMPP/xamppfiles/xampp backup

oder

sudo /Applications/XAMPP/xamppfiles/xampp 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 /Applications/XAMPP/xamppfiles/backup/xampp-backup-22-01-14.sh

Die Datei /Applications/XAMPP/xamppfiles/backup/xampp-backup-22-01-14.sh (aus obigem Beispiel) enthält Ihre gesicherten Daten. Kopieren Sie diese Datei an einen sicheren Ort.

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.