我们有一个云配置脚本,可以在创建后立即在服务器上执行一些工作。(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。