如何通过 cloud-config 配置 apache?

如何通过 cloud-config 配置 apache?

我们有一个云配置脚本,可以在创建后立即在服务器上执行一些工作。(Digital Ocean droplet)

我希望脚本修改 apache 的默认行为,设置允许覆盖全部 (默认值为无)对于 /var/www 目录。

要手动执行此操作,我只需将 apache 配置文件(/etc/apache2/apache2.conf)更改为以下值。

<Directory /var/www/>
AllowOverride All

然而,我想做出改变自动地以某种方式使用云配置。

有一个更好的方法吗?

(注意:我不想使用写入文件指令只是用我们自己的自定义版本覆盖整个 apache2.conf 文件(因为担心与未来的 apache 版本向前不兼容)

答案1

假设您不想使用像 chef 这样的完整的配置管理系统,您可以将其添加到runcmd:列表中:

- sed -i '/<Directory \/var\/www\/>/ { N; N; s/AllowOverride None/AllowOverride All/ }' /etc/apache/sites-availabl/default

问题是这些简单的变化在数量和复杂性上有所增加,最终你应该使用 chef。

相关内容