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