Как настроить конфигурацию Apache для сервера Mac OSX Mavericks?

Как настроить конфигурацию Apache для сервера Mac OSX Mavericks?

Я установил Mac OSX Mavericks Server и хотел бы добавить некоторые функции в Apache Server (gitolite, redmine и т. д.). Я начал с обновления файла httpd_server_app.conf, /Library/Server/Web/Config/apache2но, к сожалению, он был перезаписан сервером на его значение по умолчанию. Возможно, потому что я что-то обновил в пользовательском интерфейсе, или произошло обновление... В любом случае, я хотел бы узнать, как я могу обновить файл конфигурации на постоянной основе и при этом получить пользу от пользовательского интерфейса и/или обновлений OSX Server...

Я, вероятно, пропустил большую надпись: «Положите сюда свои вещи:»…

PS: Кстати, я хочу изменить некоторые из текущих настроек, а не просто что-то добавить...

решение1

Из файла ReadMe.txt в этой папке:

httpd_server_app.conf

Это основной файл конфигурации, считываемый Apache. Обратите внимание, что он отличается от httpd.conf, распространяемого с Apache. Он специфичен для конфигурации Apache сервера и занимает место конфигурации Apache рабочего стола в /etc/apache2/httpd.conf. Определенные директивы активируются при включении службы веб-сайтов в приложении сервера; они заключены в блоки "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 в качестве веб-сервера общего назначения: его конфигурация значительно изменена для поддержки различных веб-сервисов, предоставляемых OS X Server (менеджер профилей, wiki, webcal, обмен файлами webDAV и т. д.), и если вы пытаетесь внести собственные существенные изменения... вероятность того, что ваши конфигурации и конфигурации Apple будут конфликтовать друг с другом, становится неприятно высокой. OS X Server хорош для запуска встроенных веб-сервисов, но я бы использовал что-то другое, если вы хотите выйти за рамки встроенного.

Кстати, небольшое замечание о довольно нестандартном расположении файлов Apache в OS X Server: есть как минимум три каталога apache2, заполненных файлами конфигурации:

  • /Library/Server/Web/Config/apache2/* — это текущая конфигурация для версии Apache для OS X Server.
  • /Applications/Server.app/Contents/ServerRoot/etc/apache2/* (на самом деле символическая ссылка на .../ServerRoot/private/etc/...) — они используются в качестве шаблона при первой настройке OS X Server.
  • /etc/apache2/* (на самом деле /private/etc, но это символическая ссылка) — эти файлы используются версией Apache по умолчанию (не серверной), которая поставляется с OS X, но игнорируются при использовании серверной версии Apache.

Связанный контент