Estoy tratando de automatizar el aprovisionamiento de un cuadro Ubuntu Vagrant con un script Bash. Todo está bien, pero estoy teniendo dificultades para configurar Apache para permitir anulaciones de .htaccess
archivos. En mi archivo de configuración, hay el siguiente bloque:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Todo lo que necesito hacer es reemplazar AllowOverride None
con AllowOverride all
. Esto parece ser una tarea para sed
, pero hay otros <Directory>
bloques en este archivo de configuración donde no quiero permitir la anulación.
¿Cómo puedo usar sed para reemplazar una cadena específica con una nueva cadena, cuando esa cadena específica se produce entre otras dos cadenas específicas?
En otras palabras, ¿cómo puedo reemplazar AllowOverride None
solo cuando aparece entre <Directory /var/www/>
y </Directory>
?
Puedo usar el siguiente comando para obtener el bloque que me interesa:
sed -n '/<Directory \/var\/www\/>/,/<\/Directory>/p' 000-default