У нас есть сценарий облачной конфигурации, который позволяет выполнять некоторую работу на сервере сразу после создания. (Цифровая капля океана)
Я хочу, чтобы сценарий изменил поведение по умолчанию для apache, установив AllowOverride к Все (значение по умолчанию - Нет) для каталога / var / www.
Чтобы сделать это вручную, я бы просто изменил файл конфигурации apache (/etc/apache2/apache2.conf) на значение, указанное ниже.
<Directory /var/www/>
AllowOverride All
Однако я хочу внести изменения автоматически как-то используя cloud-config.
Есть лучший способ сделать это?
(Примечание: я не хочу использовать write_files просто перезаписать весь файл apache2.conf нашей собственной версией, опасаясь прямой несовместимости с будущими версиями apache)
Предполагая, что вы не хотите использовать полную систему управления конфигурацией, такую как chef, вы можете добавить это в runcmd:
список:
- sed -i '/<Directory \/var\/www\/>/ { N; N; s/AllowOverride None/AllowOverride All/ }' /etc/apache/sites-availabl/default
Проблема в том, что количество и сложность этих простых изменений увеличивается, и в конце концов вам следовало использовать chef.