
In Apache Konfigurationsdateien mehrzeilig Kommentarblöcke auskommentieren
Apache .conf-Dateien unterstützen nur einzeilige Kommentare, beginnend jeweils mit einem Hash (#) Zeichen. Sollen mehrere Zeilen als zusammenhängende Kommentarblöcke kommentiert werden, um beispielsweise eine VirtualHost-Konfiguration vorübergehend zu deaktivieren, bietet sich hierzu eine nicht vorhandene Laufzeitvariable anzuwenden, mit einer erfundenen IfDefine-Direktive umschliesst man den Codeblock der ignoriert werden soll, wie in folgendem Beispiel IfDefine-Direktive :
<IfDefine IgnoreLines>
<VirtualHost *:80>
ServerAdmin hostmaster@foo.com
ServerName foo.com
ServerAlias www.foo.com
DocumentRoot /home/www/foo.com/web/html
ErrorLog /var/www/foo.com/web/logs/error_log
CustomLog /var/www/foo.com/web/logs/access_log common
Options ExecCgi IncludesNOEXEC
<Directory "/var/www/foo.com/web/html">
AllowOverride ALL
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
</IfDefine>
Die VirtualHost-Direktive wird ignoriert, da IgnoreLines ein erfundener Parameter ist, der niemals auf true getestet wird. Wenn man die VirtualHost-Direktive wieder ausführen möchte, entfernt man einfach IfDefine wieder.
Apache VirtualHost bei RHEL
Um zu verifiziren welche VirtualHost ausgeführt werden, führt man bei RHEL und CentOS das httpd control command aus.
$ httpd -S
Apache VirtualHost bei Debian/Ubuntu
Bei Debian und Ubuntu gibt es das apachectl server control command.
$ apachectl -S
Bei einigen ist es der Befehl apache2ctl, häufig auch liegen beide vor.
$ apache2ctl -S
Fazit
In diesem Beitrag wird beschrieben, wie Apache Konfigurationsdateien mehrzeilig als Kommentarblöcke auskommentiert und editiert werden können. Dort wo mehrere Zeilen als zusammenhängende Kommentarblöcke kommentiert werden sollen, um beispielsweise eine VirtualHost-Konfiguration vorübergehend zu deaktivieren. Es bietet sich hierzu die nicht vorhandene Laufzeitvariable anzuwenden. Mit erfundener IfDefine-Direktive umschliesst man die Zeilen und Blöcke diese temporär nicht genutzt werden. Oder etwa um ein Abschnitt auf seine Funktion bzw. nicht Funktion zu testen.