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.

 

RAID am Mac erstellen

Seit vielen Jahren beherrscht OS X die Erstellung von Software-RAIDs. Mit dem Ansteigen der verfügbaren Festplatten-Kapazität und schnelleren Medien (erst recht, seitdem der Flash-basierte SSD-Speicher seinen Siegeszug angetreten hat) spielt die Technologie heute aber mehr denn je eine Rolle im professionellen Bereich, wo sie in Verbindung mit Server-Hardware eingesetzt wird. RAID ist der Zusammenschluss mehrerer physikalischer Datenträger zu einem logischen Laufwerk, das verschiedene Vorteile gegenüber einer einzelnen Festplatte hat: mehr Geschwindigkeit und mehr Speicher-Kapazität auf der einen Seite, höhere Sicherheit vor Ausfall und Datenverlust auf der anderen Seite, oder ein Kompromiss aus beiden sind mit den verschiedenen Arten von RAID möglich. Tiefer will ich das hier nicht behandeln, dafür gibt es andere Quellen zum Nachlesen.

OS X bzw. macOS, wie es jetzt wieder heißt, unterstützt also die Modi RAID0, 1 und JBOD. Sie werden mit dem Festplattendienstprogramm oder über die Befehlszeile diskutil appleRAID im Terminal angelegt und gewartet. Zwischenzeitlich war die Funktion mit OS X El Capitan mal von der grafischen Oberfläche verschwunden, nachdem Apple das Dienstprogramm mit Version 10.11 gründlich überarbeitet hatte, aber die Funktion war im Terminal weiterhin verfügbar.

Über die Menüleiste wird der RAID-Assistent aufgerufen
Über die Menüleiste wird der RAID-Assistent aufgerufen

Mit macOS Sierra ist sie nun wieder ins Festplattendienstprogramm zurückgekehrt. Das Programm befindet sich im Dienstprogramme-Ordner (/Applications/Utilities), lässt sich aber am schnellsten über Spotlight oder Siri öffnen.

RAID 0 mit externen Festplatten

Mit Xserve und dem alten Mac Pro sind zwar die letzten Macs, die mehr als ein Laufwerk beherbergen konnten, längst vom Markt genommen, aber noch vielerorts im Einsatz. Zudem sind auch Einsatzszenarien in externen Gehäusen denkbar. Zur Demonstration habe ich auf einer über USB 2.0 angeschlossenen SSD und einer über FireWire 800 angeschlossenen Festplatte jeweils eine 32 GB große Partition erstellt, die mir als Basis für mein RAID 0 dienen. Dabei wird die Kapazität der beiden Festplatten addiert und zudem eine höhere Geschwindigkeit erreicht. Sinnvoll wird dieses Feature, wenn man auf diese Weise mehrere SSDs per USB 3.0 zu einem großen, superschnellen RAID 0-Laufwerk zusammenschließt. Aber Vorsicht: RAID 0 ist nur als temporäres Arbeitsvolume zu empfehlen bzw. muss unbedingt mit einer Backup-Lösung wie Time Machine gesichert werden! Wenn eine Festplatte aus dem Verbund mit Defekt ausfällt, sind alle Daten verloren – auch die auf den anderen Laufwerken im RAID 0-Verbund. Die dauerhafte Ablage von Daten sollte daher auf einer normalen Festplatte bzw. SSD oder einem RAID 1-System erfolgen.

Mit macOS Sierra ist das Software-RAID zurück im Festplatten-Dienstprogramm
Zur Auswahl stehen RAID 0, 1 und JBOD
Im nächsten Schritt werden die Festplatten bzw. Partitionen ausgewählt, die Teil des RAID-Verbundes sein sollen
Im nächsten Schritt werden die Festplatten bzw. Partitionen ausgewählt, die Teil des RAID-Verbundes sein sollen
Danach wird die Kapazität des RAIDs angezeigt und ein Name vergeben
Danach wird die Kapazität des RAIDs angezeigt und ein Name vergeben
Das fertige RAID wird im Festplatten-Dienstprogramm angezeigt.
Das fertige RAID wird im Festplatten-Dienstprogramm angezeigt.
Performance-Vorteil RAID0: Speedtest ergibt FireWire 800-Performance, obwohl eine Hälfte des RAID per USB 2.0 angeschlossen ist.
Performance-Vorteil RAID0: Speedtest ergibt FireWire 800-Performance, obwohl eine Hälfte des RAID per USB 2.0 angeschlossen ist.

 

El Capitan und Software Update Server

Dieser Artikel ist nicht mehr aktuell, das beschriebene Problem wurde zwischenzeitlich durch ein Software-Update von Apple behoben.

Man kann noch so viel testen und mit Beta-Versionen arbeiten, manche Probleme werden einfach erst „in freier Wildbahn“ entdeckt. So geschehen mit Apples neuester Betriebssystemversion OS X 10.11 El Capitan und der neuen Server-Version 5.
Ist am Server der Caching-Dienst sowie der Software-Aktualisierungsdienst aktiviert, bekommen Clients im lokalen Netzwerk (die auf den Software-Aktualisierungsserver eingestellt sind) die verfügbaren Software-Updates zwar noch angezeigt, aber wenn diese installiert werden sollen, bricht der Ladevorgang bei 0 KB ab.

Im System-Log erscheint zeitgleich folgende Fehlermeldung:

Oct 27 20:39:24 xserve AssetCache[93595]: #7sadM4t2Eeo7 Request by "Softwareaktualisierung" for http://192.168.0.111:55399/content/downloads/43/63/zzzz031-36002/5cnamdr2ij90oyafgyjlcwcyrvzly6j71r/CoreFP.pkg?source=xserve.example.de%3A8088 denied because the source is not whitelisted

Offenbar hat Apple irgendwo eine statische Liste vertrauter Domains fest hinterlegt. Der lokale Software-Aktualisierungsserver ist dort natürlich nicht hinterlegt und deshalb wird das Update für den Client nicht freigegeben.

Man beachte, dass der Prozess AssetCache das Update nicht freigibt. Das bedeutet, dass der Caching-Server die Finger im Spiel hat. Da ich weder in den Config-Dateien noch in den Serveradmin-Settings im Terminal eine Möglichkeit gefunden habe, den Server der Whitelist hinzuzufügen, gibt es derzeit für mich nur eine Möglichkeit, den Software Update Server mit Server 5 und El Capitan zu nutzen: indem man den Caching-Dienst ausschaltet.

SUS-Server5Mit OS X 10.11.1 und Server 5.0.15 ist das Problem übrigens nicht nicht behoben. Wir warten …

Update

Mit OS X 10.11.2 gehört der Fehler der Vergangenheit an. Software Update Server und Caching Server können also wieder parallel benutzt werden.

Wer mehr über die Hintergründe und über andere Workarounds zum Problem erfahren möchte, lese hier weiter: https://onemoreadmin.wordpress.com/2015/10/21/the-evil-triangle-el-capitan-sus-and-caching/

Energiespar-Einstellungen nach Yosemite-Update

Energiesparoptionen

Apple hat einen großartigen Job geleistet, das Updates eines Mac-Servers auf OS X 10.10 Yosemite und Server 4.0 ist tatsächlich so einfach wie nie. Selbst komplexe Installationen werden auf Knopfdruck auf die neue Version aktualisiert und laufen sofort! Ich habe bei den Migrationen, die ich in den letzten Monaten durchgeführt hatte, nur noch in kleinen Details eingreifen müssen (natürlich gibt es nach wie vor unerlässliche Vorbereitungs-Maßnahmen wie Notfall-Backups, Aktualisierungen und Recherchen, ob sämtliche Anwendungssoftware vom neuen System unterstützt wird).

Ein kleines, aber wichtiges Detail, das mir bei der Migration aufgefallen ist, und das bei Server-Maschinen wichtig ist: die Funktion zum automatischen Neustart nach Stromausfall ist nach dem Update ausgeschaltet und muss erst wieder aktiviert werden, denn Server sollen üblicherweise rund um die Uhr verfügbar sein, und niemand will nachts um 3 in die Firma fahren, um einen ausgeschalteten Server manuell einzuschalten (Apples Xserve mit Lights-Out-Management ist ja leider ausgestorben).

Den wichtigen Haken also findet man in den Systemeinstellungen -> Energiesparoptionen (siehe Schaubild).

Energiesparoptionen

WordPress Cookie Hinweis von Real Cookie Banner