Empfehle den Wechsel zu Docker
Ich bin endlich dazu übergegangen, Docker für die lokale Entwicklung auf macOS zu verwenden. Das folgende Tutorial funktioniert zwar für macOS Catalina, hat aber seine Grenzen. Ich empfehle, meinem letzten Tutorial zur Installation von Apache, MySQL und PHP auf macOS mit Docker zu folgen.
Hinweis: Dieser Beitrag ist für neue Installationen. Wenn Sie Apache, PHP und MySQL für Mac OS Mojave installiert haben, lesen Sie meinen Beitrag zur Aktualisierung von Apache, PHP und MySQL für macOS Catalina.
Ich kenne die für macOS verfügbare Webserver-Software, insbesondere MAMP, sowie Paketmanager wie brew
. Mit diesen kann man schnell loslegen. Aber sie verzichten auf die Lernerfahrung und können, wie die meisten Entwickler berichten, schwierig zu verwalten sein.
macOS läuft auf UNIX. Die meiste UNIX-Software lässt sich problemlos auf macOS installieren. Außerdem sind Apache und PHP auf macOS vorinstalliert. Um einen lokalen Webserver zu erstellen, müssen Sie also nur Apache konfigurieren und MySQL installieren.
Befehle ausführen
Öffnen Sie zunächst die Terminal-App und wechseln Sie zum Benutzer root
, damit Sie die Befehle in diesem Beitrag ohne Rechteprobleme ausführen können:
sudo su -
Apache auf macOS aktivieren
apachectl start
Überprüfen Sie, dass es funktioniert! durch Zugriff auf http://localhost
PHP für Apache aktivieren
Erst einmal ein Backup der Standard-Apache-Konfiguration erstellen. Dies ist eine gute Praxis und dient als Vergleich für zukünftige Versionen von macOS.
cd /etc/apache2/cp httpd.conf httpd.conf.Catalina
Nun bearbeiten Sie die Apache-Konfiguration. Sie können einen anderen Editor verwenden, wenn Sie mit vi nicht vertraut sind.
vi httpd.conf
Kommentieren Sie die folgende Zeile (entfernen Sie #
):
LoadModule php7_module libexec/apache2/libphp7.so
Starten Sie Apache neu:
apachectl restart
Sie können überprüfen, ob PHP aktiviert ist, indem Sie eine phpinfo()
Seite in Ihrem DocumentRoot
erstellen.
Der Standardwert DocumentRoot
für macOS Catalina ist /Library/WebServer/Documents
. Sie können dies anhand Ihrer Apache-Konfiguration überprüfen.
grep DocumentRoot httpd.conf
Erstellen Sie nun die phpinfo()
-Seite in Ihrem DocumentRoot
:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Überprüfen Sie PHP, indem Sie auf http://localhost/phpinfo.php
Installieren Sie MySQL auf macOS Catalina
Laden Sie das neueste allgemein verfügbare MySQL DMG für macOS herunter und installieren Sie es. MySQL 8 ist die aktuellste Version. Aber ältere Versionen sind verfügbar, wenn Sie ältere Anwendungen unterstützen müssen.
Wenn die Installation abgeschlossen ist, erhalten Sie ein temporäres Passwort. Kopieren Sie dieses Passwort, bevor Sie das Installationsprogramm schließen. Sie werden es in einigen Schritten wieder verwenden.
In der README wird vorgeschlagen, Aliase für mysql
und mysqladmin
zu erstellen. Es gibt jedoch auch andere Befehle, die hilfreich sind, wie mysqldump
. Stattdessen können Sie Ihren Pfad aktualisieren, um /usr/local/mysql/bin
einzuschließen.
export PATH=/usr/local/mysql/bin:$PATH
Hinweis: Sie müssen ein neues Terminal-Fenster öffnen oder den obigen Befehl ausführen, um Ihren Pfad zu aktualisieren.
Schließlich sollten Sie mysql_secure_installation
ausführen. Dies ist zwar nicht notwendig, aber eine gute Praxis, um Ihre Datenbank zu sichern. Hier können Sie auch das unangenehme temporäre Passwort in etwas ändern, das für die lokale Entwicklung besser geeignet ist.
Verbinden Sie PHP und MySQL
Sie müssen sicherstellen, dass PHP und MySQL miteinander kommunizieren können. Hierfür gibt es mehrere Möglichkeiten. Mir gefällt die folgende, da sie nicht viele Konfigurationsänderungen erfordert:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Zusätzliche Konfiguration (optional)
Die Standardkonfiguration für Apache 2.4 unter macOS scheint ziemlich mager. Zum Beispiel waren gängige Module wie mod_rewrite
deaktiviert. Sie können in Erwägung ziehen, dies jetzt zu aktivieren, um zu vermeiden, dass Sie in Zukunft vergessen, sie zu deaktivieren.
Ich habe meine Apache-Konfiguration bearbeitet:
vi /etc/apache2/httpd.conf
Ich habe die folgenden Zeilen auskommentiert (entfernen Sie #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Wenn Sie mehrere Projekte entwickeln und möchten, dass jedes eine eigene URL hat, können Sie Apache VirtualHosts für macOS konfigurieren.
Wenn Sie PHPMyAdmin installieren möchten, kehren Sie zu meinem ursprünglichen Beitrag über die Installation von Apache, PHP und MySQL unter macOS zurück.
Findest du das interessant? Lassen Sie uns die Unterhaltung auf Twitter fortsetzen.