macOS Sierra als virtuelle Maschine in VMware Fusion installieren

In diesem Artikel zeige ich die Installation von macOS Sierra als virtuelle Maschine auf VMware, einer lang bewährten Virtualisierungslösung (im Oktober 2016 in Version 8.5 vorliegend).

Virtualisierung ist in den letzten Jahren durch die steigende Leistungsfähigkeit von Computerhardware immer populärer geworden. Seitdem Apple seine Computer auf Intel umgestellt hat, erfreuen sich auch am Mac Virtualisierungsprodukte von Parallels, Virtualbox oder VMWare großer Beliebtheit, weil man damit problemlos ein Windows-Betriebssystem auf dem Mac installieren kann.

In diesem Kurzvideo gehe ich aber auf die Virtualisierung von macOS ein, denn auch das ist möglich und für Entwickler und Admins, die z.B. Software in einer Sandbox testen wollen, gleichermaßen interessant.

Fusion benötigt als Host einen 64-bit fähigen Mac (ab Intel Core 2 Duo-Prozessor) mit OS X 10.9 Mavericks oder neuer.

In der aktuellen Version unterstützt Fusion neben macOS Sierra und Windows 10 den Betrieb von ca. 200 Gastbetriebssystemen, darunter viele Linux-Distributionen.

Bevor man die ca. 80 Euro ausgibt und am Ende nicht zufrieden ist, bietet VMware eine 30 Tage lauffähige Testversion an, man ist also auch da auf der sicheren Seite. Hat man sich für den Kauf entschieden, genügt es, die Lizenzinformationen einzugeben und man kann nahtlos mit seinem Testsystem weiterarbeiten, muss also nach Ablauf des Testzeitraums nicht sein Gastbetriebssystem von neuem einrichten.

Link und weitere Infos zu VMware Fusion: http://www.vmware.com/de/products/fusion

 

php Gettext in macOS Sierra installieren

Dieser Artikel bezieht sich auf OS X El Capitan 10.11.6 bzw. macOS Sierra 10.12 mit Server 5.2 und ist ein Update zu meinem Artikel zum selben Thema, den ich schon einmal für OS X Yosemite geschrieben hatte. Seitdem hat Apple mit El Capitan ein neues Sicherheits-Feature namens System Integrity Protection (SIP) eingeführt, das den Zugriff selbst für root auf Systemverzeichnisse einschränkt und die Installation von (Webserver-) Erweiterungen stärker reglementiert als bisher. Daher macht eine überarbeitete Dokumentation zur Vorgehensweise Sinn.

Die PHP-Installation von macOS Sierra bzw. Server 5.2 kommt in Version 5.5.24 daher und ist wie üblich recht umfangreich. Die gettext-Erweiterung gehört jedoch nach wie vor nicht zum Lieferumfang. So wird sie installiert und als PHP-Erweiterung zum Webserver hinzugefügt:

Es ist hierfür nicht erforderlich, die System Integrity Protection von El Capitan bzw. macOS Sierra auszuschalten!

  1. Aktuelle Version der Xcode Command Line Tools installieren, denn diese bringt u.a. die PHP-Quelldateien mit, die zum Erstellen der gettext-Erweiterung erforderlich sind. Im Terminal xcode-select –install eingeben.
  2. Aktuelle gettext-Version herunterladen (siehe http://ftp.gnu.org/pub/gnu/gettext/ – aktuelle Version im Oktober 2016: 0.19.8) – dafür habe ich den Ordner /SourceCache angelegt – und entpacken.
  3. Ins gettext-Verzeichnis wechseln und ./Configure, make und sudo make install durchführen.
  4. Von OS X verwendete PHP-Version von http://php.net/releases/ herunterladen und entpacken; hier: PHP 5.6.24
  5. Im entpackten PHP-Ordner zu ext/gettext wechseln und dort die Befehle phpize, ./Configure, make und sudo make install eingeben (nacheinander, wenn der jeweils vorhergehende Prozess abgeschlossen ist).
    An dieser Stelle wirft der Installationsprozess eine Fehlermeldung aus, denn er möchte die Erweiterung eigentlich in /usr/libexec/php/extensions ablegen, worauf er aber durch SIP keinen Zugriff mehr hat. Die Erweiterung wird aber trotzdem erstellt und vom Installer im PHP-Verzeichnis in ext/gettext/modules abgelegt. Dort können wir sie uns gleich holen.
  6. Wir legen den Extension-Ordner einfach in /usr/local an, z.B. mit mkdir -p /usr/local/macoperator/lib/php/extensions
  7. Die frischgebackene Extension gettext.so von /SourceCache/php-5.6.24/ext/gettext/modules in /usr/local/macoperator/lib/php/extensions kopieren.
  8. Diesen Ordner muss man noch in der /etc/php.ini referenzieren. Dazu folgende Zeilen am Ende der Datei hinzufügen:
    extension_dir = "/usr/local/macoperator/lib/php/extensions"
    [gettext]
    extension=gettext.so
  9. Apache mit sudo apachectl graceful bzw. durch Aus- und Einschalten des Web-Dienstes in der Server-App neu starten und fertig.