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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.