Wie kann ich die Apache-Konfiguration des Mac OSX-Servers von Mavericks anpassen?

Wie kann ich die Apache-Konfiguration des Mac OSX-Servers von Mavericks anpassen?

Ich habe Mac OSX Mavericks Server installiert und möchte dem Apache-Server einige Funktionen hinzufügen (Gitolite, Redmine usw.). Ich habe mit der Aktualisierung der httpd_server_app.confDatei begonnen, /Library/Server/Web/Config/apache2aber leider wurde sie vom Server auf ihre Standardeinstellung überschrieben. Vielleicht, weil ich etwas in der Benutzeroberfläche aktualisiert habe oder eine Aktualisierung stattgefunden hat ... Wie auch immer, ich würde gerne wissen, wie ich die Konfigurationsdatei dauerhaft und persistent aktualisieren und trotzdem von der Benutzeroberfläche und/oder den Aktualisierungen des OSX-Servers profitieren kann ...

Ich habe wahrscheinlich das große Etikett „Legen Sie hier Ihre eigenen Sachen ab:“ übersehen …

PS: Übrigens möchte ich einige der aktuellen Konfigurationen ändern und nicht nur Dinge hinzufügen ...

Antwort1

Aus der ReadMe.txt in diesem Ordner:

httpd_server_app.conf

Dies ist die primäre Konfigurationsdatei, die von Apache gelesen wird. Beachten Sie, dass sie sich von der mit Apache verteilten httpd.conf unterscheidet. Sie ist spezifisch für die Apache-Konfiguration des Servers und ersetzt die Desktop-Apache-Konfiguration in /etc/apache2/httpd.conf. Bestimmte Anweisungen werden aktiviert, wenn der Websites-Dienst in der Server-Anwendung eingeschaltet wird; diese werden durch die Blöcke „IfDefine WEBSERVICE_ON“ eingeklammert. Diese Datei wird vom serverresidenten Teil der Server-Anwendung und in einigen Fällen von webappctl(8) geändert.Administratoren können Änderungen direkt an dieser Datei vornehmen, im Allgemeinen ist es jedoch am sichersten, Ihre Änderungen in separaten Dateien abzulegen und sie mit der Include-Direktive einzubinden.

Ich habe das nicht ausführlich getestet, aber die Apple-Administrationstools scheinen Includedie Anweisungen in dieser Datei unverändert zu lassen. Eine andere Möglichkeit besteht darin, Ihre Einstellungen in einer Datei in /Library/Server/Web/Config/apache2/other/ abzulegen, da die Masterdatei Includealles in diesem Verzeichnis automatisch speichert. Wenn Sie Einstellungen nur zu bestimmten virtuellen Sites hinzufügen müssen, können Sie Includeden Dateien in /Library/Server/Web/Config/apache2/sites/ Anweisungen hinzufügen, und die Admin-Tools scheinen sie unverändert zu lassen.

Das Ändern von Einstellungen (anstatt nur hinzuzufügen) ist schwieriger; ich kenne keine allgemein „sichere“ Methode, dies zu tun, also müssen Sie sie von Fall zu Fall prüfen. Es gibt wahrscheinlich einige Dinge, die Siekippensicher ändern. Dies ist einer der Gründe, warum ich die Verwendung von OS X Server als Allzweck-Webserver nicht wirklich empfehlen kann: Seine Konfiguration wird umfassend geändert, um die verschiedenen webbasierten Dienste zu unterstützen, die OS X Server bietet (Profilmanager, Wiki, WebCal, WebDAV-Dateifreigabe usw.), und wenn Sie versuchen, selbst umfangreiche Änderungen vorzunehmen, ist die Wahrscheinlichkeit, dass Ihre und Apples Konfigurationen übereinander stolpern, unangenehm hoch. OS X Server ist gut für die Ausführung der integrierten webbasierten Dienste geeignet, aber ich würde etwas anderes verwenden, wenn Sie weit über die integrierten hinausgehen.

Übrigens eine kurze Anmerkung zum eher nicht standardmäßigen Speicherort von Apache-Dateien in OS X Server: Es gibt mindestens drei Apache2-Verzeichnisse voller Konfigurationsdateien:

  • /Library/Server/Web/Config/apache2/* – dies ist die Live-Konfiguration für die OS X Server-Version von Apache.
  • /Applications/Server.app/Contents/ServerRoot/etc/apache2/* (tatsächlich symbolisch verknüpft mit …/ServerRoot/private/etc/…) – Diese werden als Vorlage verwendet, wenn OS X Server zum ersten Mal eingerichtet wird.
  • /etc/apache2/* (eigentlich /private/etc, aber es ist ein symbolischer Link) – Diese Dateien werden von der Standardversion (Nicht-Server-Version) von Apache verwendet, die mit OS X mitgeliefert wird, werden aber ignoriert, wenn die Serverversion von Apache verwendet wird.

verwandte Informationen