Ich versuche, die Bereitstellung einer Ubuntu Vagrant-Box mit einem Bash-Skript zu automatisieren. Alles ist gut, aber ich habe Schwierigkeiten, Apache so zu konfigurieren, dass Überschreibungen von .htaccess
Dateien möglich sind. In meiner Konfigurationsdatei gibt es den folgenden Block:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alles , was ich tun muß , ist ersetzen AllowOverride None
mit AllowOverride all
. Dies scheint eine Aufgabe zu sein sed
, aber es gibt andere <Directory>
Blöcke in dieser Konfigurationsdatei, in denen ich das Überschreiben nicht zulassen möchte.
Wie kann ich sed verwenden, um eine bestimmte Zeichenfolge durch eine neue Zeichenfolge zu ersetzen, wenn diese bestimmte Zeichenfolge zwischen zwei anderen bestimmten Zeichenfolgen auftritt?
Mit anderen Worten, wie kann ich AllowOverride None
nur ersetzen , wenn es zwischen <Directory /var/www/>
und erscheint </Directory>
?
Ich kann den folgenden Befehl verwenden, um den Block zu erhalten, an dem ich interessiert bin:
sed -n '/<Directory \/var\/www\/>/,/<\/Directory>/p' 000-default