如何自訂 Mavericks 的 mac osx 伺服器 apache 設定?

如何自訂 Mavericks 的 mac osx 伺服器 apache 設定?

我已經安裝了 Mac OSX Mavericks Server,我想為 Apache Server 添加一些功能(gitolite、redmine 等httpd_server_app.conf/Library/Server/Web/Config/apache2。也許是因為我更新了 UI 中的某些內容,或者發生了更新...無論如何,我想知道如何以永久和持久的方式更新配置文件,並且仍然有利於 OSX Server UI 和/或更新.. .

我可能錯過了重要的:「把你自己的東西放在這裡:」標籤...

PS:順便說一句,我想修改一些目前的配置,而不僅僅是添加東西...

答案1

從該資料夾中的 ReadMe.txt 中:

httpd_server_app.conf

這是 Apache 讀取的主要設定檔。請注意,它與隨 Apache 一起分發的 httpd.conf 不同。它特定於伺服器的 Apache 配置,並取代 /etc/apache2/httpd.conf 中的桌面 Apache 配置。當伺服器應用程式中開啟網站服務時,某些指令將被啟動;這些由“IfDefine WEBSERVICE_ON”區塊括起來。該檔案由伺服器應用程式的伺服器駐留部分修改,在某些情況下,由 webappctl(8) 修改。管理員可以直接對此文件進行更改,但通常最安全的做法是將更改放在單獨的文件中並使用 Include 指令合併它們。

我還沒有對此進行廣泛的測試,但 Apple 管理工具似乎Include單獨保留了此文件中的指令。另一個選擇是將您的設定放入 /Library/Server/Web/Config/apache2/other/ 中的檔案中,因為主檔案Include自動包含該目錄中的所有內容。另外,如果您只需要在特定虛擬網站上新增設置,您可以Include為 /Library/Server/Web/Config/apache2/sites/ 中的檔案新增指令,管理工具似乎不會打擾它們。

更改設定(而不僅僅是添加)比較棘手;我不知道執行此操作的通用“安全”方法,因此您必須根據具體情況進行處理。或許有一些事情你不能安全地改變。這也是我不真正推薦使用 OS X Server 作為通用 Web 伺服器的原因之一:它的配置經過廣泛修改以支援 OS X Server 提供的各種基於 Web 的服務(設定檔管理器、wiki、webcal、webDAV)檔案共享等),如果您嘗試自己進行大量修改…您和Apple 的配置相互衝突的可能性會變得非常高。 OS X Server 非常適合運行內建的基於 Web 的服務,但如果您的功能遠遠超出了內建的範圍,我會使用其他東西。

順便說一句,關於 apache 檔案在 OS X Server 中相當不標準的位置的快速說明:至少有三個充滿設定檔的 apache2 目錄:

  • /Library/Server/Web/Config/apache2/* ——這是 OS X Server 版本的 apache 的即時設定。
  • /Applications/Server.app/Contents/ServerRoot/etc/apache2/* (實際上符號連結到 .../ServerRoot/private/etc/...) -- 這些在首次設定 OS X Server 時用作模板。
  • /etc/apache2/*(實際上是/private/etc,但它是符號連結的)——這些檔案由 OS X 附帶的預設(非伺服器)版本的 apache 使用,但當 apache 的伺服器版本是用過的。

相關內容