Screenshot von macOS Monterey

Update auf macOS Monterey

Das Update auf macOS Monterey, die neue Version 12 des Apple-Betriebssystems, kann sich etwas holprig gestalten. Das gilt vor allem dann, wenn man die bisher in macOS gebündelte Software Apache2 und PHP genutzt hat, um damit auf der lokalen Maschine WordPress- oder andere Websites zu entwickeln, die PHP nutzen.

Der Apache-Webserver ist zwar nach wie vor in macOS Monterey enthalten, PHP wurde jedoch eliminiert. Das bedeutet, ein neue Web-Entwicklungsumgebung einrichten zu müssen. Die Vorgehensweise, die ich in meinem Seminar zur Einrichtung eines Mac beschreibe, funktioniert nicht mehr.

Im Folgenden gebe ich eine kurze Anleitung, wie der Umstieg gelingt. Die hier beschriebenen Schritte habe ich auf meinem eigenen Computer erfolgreich durchgeführt.

Grundlegendes Update auf macOS Monterey

Das grundlegende Prozedere ist trivial. Man führt einfach das Softwareupdate aus den Systemeinstellungen aus. Nach endlich langer Zeit, dem Download von knapp mehr als 14 Gigabyte und deren Installation, funktioniert der Rechner wieder. – So war es jedenfalls bei mir. Die Software LetterOpener, die ich verwende um Anhänge aus Microsoft Outlook vernünftig lesen zu können, musste jedoch aktualisiert werden. – Kein Problem.

Über diesen Mac
Über meinen Mac – nach dem Update auf macOS Monterey

Außerdem funktioniert XCode nach dem Update nicht mehr. Die Software besteht ebenfalls auf einem Update. Also nochmals etwa 2 GB herunterladen und installieren. Beim ersten Start werden dann noch einige fehlende Komponenten angemäkelt, die dann aber automatisch nachgeladen werden, sobald man seine Einwilligung dazu gegeben hat. – Same Procedure as Usual.

Nun aber zu den Dingen, die für die Web-Entwickklung wichtig sind. Der Apache-Webserver funktionierte sofort. Wie bei Apple-Updates üblich, wurden wichtige Konfigurationen, wie beispielsweise die Aktivierung von Benutzerverzeichnissen oder virtuellen Hosts über Bord geworfen. Das kennt man schon. Die ehemaligen Konfigurationsdateien finden sich unter /Users/Shared/Relocated Items. Hat man sie bislang mehr oder minder unverändert wieder hergestellt, so versagt dieses Verfahren beim Update auf macOS Monterey. Es fehlt nämlich eine wesentliche Zutat, die zumindest für mich essentiell ist: PHP.

Apple hat PHP den Rücken gekehrt. Nun kann man sicherlich dazu übergehen und MAMP oder ähnliches auf seinem Rechner installieren. Ich benötige aber auch einen „richtigen“, von MAMP & CO. unabhängigen, MySQL-Server. Den hatte ich bereits installiert und habe ihn auch belassen. Meine Lösung: Apache2 und PHP separat installieren.

Neue Web-Entwicklungsumgebung

Der Apache-Webserver muss nicht zwingend neu installiert werden. Ich wollte jedoch meine Web-Entwicklungsumgebung aus einem Guss. Außerdem, so meine ich, ist es für künftige Updates einfacher zu handhaben, sich diesbezüglich von Apple loszusagen.

Ich habe mich daher entschieden, den Webserver nebst PHP von MacPorts zu installieren. Ich habe schon einige Software aus diesem Repository installiert. Bevor ich jedoch zur Installation und Konfiguration schreiten konnte, galt es das bereits installierte MacPorts zu aktualisieren.

Aktualisierung von MacPorts

Ein bereits installiertes MacPorts kann nicht einfach aktualisiert werden. Man muss sich die neue Installationsroutine, passend zum Betriebssystem, herunterladen und diese installieren. Danach sind die bereits installierten Pakete zu löschen und neu zu installieren. Man sollte sich merken, welche das sind.  Die auszuführenden Schritte gestalten sich daher wie folgt:

Damit das alles funktioniert, muss dass aktuelle XCode bereits installiert sein. Bei mir hat MacPorts jedoch Warnungen ausgegeben, die bemängelten, die Version der Kommandozeilenwerkzeuge nicht erkennen zu können. Ich habe also den Wiederherstellungsvorgang abgebrochen, nochmals die bis dahin bereits installierten Pakete gelöscht und das build-Verzeichnis geleert, um mein XCode in Form zu bringen.

Danach wird das Softwareupdate aus den Systemeinstellungen ausgeführt. Sobald das beendet ist, gibt man im Terminal das folgende Kommando ein.

Das Softwareupdate-Werkzeug zeigt nun immer noch ausstehende Updates an. Einmal anklicken und (leeres) Update ausführen und die Anzeige verschwindet. Nun kann das  Update bzw. die Neu-Installation der MacPorts-Pakete durchgeführt werden.

Systemlast während der Neu-Installation von MacPorts
Systemlast während der Neu-Installation von MacPorts

Zum Glück hat mein Rechner sechs physikalische Kerne, also 12 virtuelle Prozessoren. So kann man während der Installationsarie weiter arbeiten, sofern keine Applikationen aus dem MacPorts-Reigen benötigt werden. Obgleich die Systemlast zum Teil extrem hoch ist, arbeitet macOS Monterey jederzeit einwandfrei und ohne nennenswerte Verzögerungen. Das Betriebssystem ist also trotz neuer Features nicht langsam geworden.- Ich habe während der Installation und Übersetzung der MacPorts-Pakete problemlos Datenbankskripten geschrieben und getestet.

In Abhängigkeit davon, was man alles installiert hatte, kann der Vorgang aber dennoch einige Zeit dauern.

Apache2 + PHP installieren und konfigurieren

Damit der in macOS integrierte Apache-Server und der aus dem MacPorts-Repository nicht kollidieren, habe ich den integrierten Webserver ausgeschaltet.

Die Installation der zusätzlichen Pakete ist dann, wie bei MacPorts üblich, trivial.

Was gebraucht wird, hängt von den persönlichen Belangen ab. Um das fpm-Modul nutzen zu können muss sudo port load php80-fpm ausgeführt werden. Das wird aber während dessen Installation angezeigt. Und, nicht zu vergessen: sudo port select php php80 – um mitzuteilen, welche PHP-Version genutzt werden soll.

Die Konfiguration unterscheidet sich dann nicht von der, die auch auch ehedem vorgenommen werden musste: Setzen des Servernamens in httpd.conf, Aktivieren der benötigten Module, Einrichten von Benutzerverzeichnissen, virtuellen Hosts etc.

Für die PHP-Konfiguration werden zwei ini-Dateien mitgeliefert, eine für ein Entwicklungssystem, eine andere für einen Produktivserver. Man kann sie als Vorlage benutzen. Dazu kopiert man sich die am besten geeignete Vorlage nach /opt/local/etc/php80/php.ini. Ich habe mich für die Entwicklungsversion entschieden.

Hier sind dann die Module zu aktivieren, die benötigt werden. Aber Vorsicht! – In PHP compilierte Module dürfen nicht aktiviert werden.

Damit Apache aber überhaupt mit PHP arbeiten kann, sind folgende Ergänzungen in der httpd.conf erforderlich:

Mit

kann die Apache-Konfiguration überprüft werden. Dabei wird der fehlende Servername moniert. Das ist dann auch die notwendige Minimalstanpassung, die vorzunehmen ist. In httpd.conf ist folgende Zeile einzutragen, wobei der Name den jeweiligen Gegebenheiten anzugleichen ist.

Danach kann der Server geladen werden.

Mit unload kann der Server gestoppt werden. Eine weiterer load-Befehl startet ihn dann erneut. Dann werden auch gegebenenfalls geänderte Konfigurationen gelesen.

Arbeitet der Server korrekt, gibt er, wenn man im Browser die URL localhost eingibt, die Meldung „It works!“ aus.

Jetzt kann man weitere Konfigurationen vornehmen. Alle möglichen Optionen und Änderungen, die ich vorgenommen habe, zu erläutern, wäre etwas mühselig. Daher hier kurz meine wesentlichen Konfigurationsdateien:

Fazit

Das grundlegende Update auf macOS Monterey ist kein Problem. Wer jedoch einen Webserver mit PHP benötigt, hat einige Arbeit zu leisten. Besonders Einsteigern dürfte die Konfiguration Probleme bereiten. Das war ehedem deutlich einfacher, als PHP noch Bestandteil von macOS war. Da musste mann lediglich ein paar Kommentare in den Konfigurationsdateien entfernen und sich vielleicht, so der Bedarf bestand, einer eigene Konfiguration für das persönliche Webverzeichnis und/oder virtuelle Hosts schreiben.

Meiner Meinung nach hat sich Apple keinen Gefallen getan, PHP aus dem Betriebssystem zu entfernen. Viele Webentwickler nutzen Macs und benötigen PHP für ihre tägliche Arbeit. Apple hätte gut daran getan, seine PHP-Installation zu aktualisieren und weiterhin mit auszuliefern. Jetzt hat man als Entwickler zusätzliche Arbeit für die Einrichtung und Neulinge sind mit nicht unerheblichen Hürden konfrontiert, sich eine anständige Entwicklungsumgebung einzurichten. Eine Webserver-Konfiguration ist nicht trivial, auch wenn es bei einer lokalen Installation nicht auf ausufernde Sicherheitsaspekte oder ähnliches ankommt.

Erschwerend kommt hinzu, dass die vorhandenen Installations- und Konfigurationshilfen, die man im Netz finden kann, meistens nicht komplett sind. Auch meine hier vorgestellte Konfiguration hat bestimmt den einen oder anderen Arbeitsschritt ausgelassen, den ich vorgenommen habe. Dennoch hoffe ich, der Beitrag möge dem einen oder anderen eine nützliche Hilfe sein.

Hinweis: Ich habe mir PHP in der Version 8 installiert. WordPress selbst kann damit gut umgehen. Es gibt jedoch viele Themes und Plugins, die mit dieser Version noch Probleme haben. Wer viel mit Fremd-Themes und Plugins arbeitet, die er nicht selbst entwickelt hat, sondern aus dem Netz lädt, der sollte PHP lieber in der Version 7.4 installieren.

Lange Rede, kurzer Sinn: Das Update auf macOS Monterey ist (weitestgehend) problemlos, erfordert aber, je nach persönlichen Konfigurationsbedürfnissen, Handarbeit, wenn man, so wie ich, eine lokale Web-Entwicklungsumgebung benötigt.

Nachtrag

 Am Ende war das Update nicht so glückilch. Verschiedene Anwendungen stürzten häufig ab. Erstaunlicherweise trat diese Phänomen aber nur auf meinem iMac (2019) auf. Mein Notebook (2015) hat das Update ohne Murren vertragen. Ich habe daher auf dem iMac ein Clean-Update durchgeführt. Aber auch das wollte nicht so richtig, wie ich das wollte. Es endete mit einem angeblich Update-Fehler. Ein Neustart, ohne irgendetwas zu ändern, war jedoch erfolgreich. Monterey ist wohl noch nicht ganz fehlerfrei. Allerdings war nach dem Clean-Update alles ok. Die Maschine lief sogar deutlich schneller.  Immerhin hat der iMac bis dato noch nie ein Clean-Update erfahren. Da war also eine Menge alter Schrott drauf. 

Übrigens habe ich dann doch wieder auf PHP 7.4  umgesattelt. Zu viele WordPress-Plugins mochten die Version 8 nicht, WordPress selbst lief allerdings problemlos, Das habe ich auf dem iMac und dem MacBook Pro so getan. Jetzt ist alles super. Das MacBook hatte mit dem Update kein Problem, obgleich es auch diverse Updates erfahren hat. – Na gut, so ist eben. Jetzt laufen beide Rechner jedenfalls sauber unter macOS Monterey. 

23.11.2021: Monterey ist nun rund 3 Wochen im täglichen „Hardcore“-Einsatz, was etwa 10 bis 12 Stunden Arbeit bedeutet. Das bedeutet, auf der Maschine zu programmieren, Videos aufzuzeichnen und und zu schneiden, mit MySQL und PostgreSQL zu arbeiten und, und, und…

Monterey läuft absolut problemlos. Auf meinem Notebook, hatte ich leider doch das eine oder andere Problem feststellen müssen, sodass auch dieses einem Clean-Update unterzogen wurde. Ergebnis: Auch dieses läuft seit nunmehr zwei Wochen anstandslos.

Es gibt nur ein einziges Problem. Nachdem ich auf beiden Rechnern Fotos gestartet habe, läuft die Kuratierung einfach ewig – ein Ende ist nicht abzusehen. Ich habe bereits auf beiden Rechner die Bibliothek gelöscht und neu angelegt. Ich habe etwa 5000 Fotos und 100 Videos in der Cloud. Beide Rechner sind aber bereits seit einer Woche dabei, die Kuratierung vorzunehmen. Glaube ich dem Fortschrittsbalken, haben sie ca. 30% der zu leistenden Arbeit geschafft. – Zwar ist das jeweils ein Prozess, den man nicht bemerkt, weil er absolut niedrige Priorität hat, dennoch ist das Ganze ein Witz. Ich habe auch schon nach Lösungen im Internet gesucht. Etwas mit Substanz ist dabei aber nicht herausgekommen. Also warte ich einfach mal ab und lasse die Maschinen 24/7 laufen. – Ich möchte den jeweiligen Prozess ja nicht schuldhaft Verzögern (GRiNS).

Karsten Brodmann

Karsten Brodmann

Karsten Brodmann hat an der Universität Osnabrück BWL/Wirtschaftsinformatik studiert. Er hat viele Jahre in der IT gearbeitet und dort Web- und Datenbankanwendungen entwickelt. Seit Gründung der Punkt-Akademie veröffentlicht Karsten Brodmann auch Schulungsvideos zur Datenbankentwicklung, Unix und Programmierung bei Udemy. In seiner Freizeit fotografiert Karsten Brodmann gerne. Seit vielen Jahren fotografiert er analog und digital. Dabei behält er jeweils den gesamten Workflow in der eigenen Hand, von der Aufnahme über die Dunkelkammer oder auch den Scanner sowie die Bildbearbeitung und den Ausdruck am PC.

Weitere Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.