Die apache-error log sagt mir beim anlegen eines Hosts folgendes:
Die ersten beiden Warnungen musst Du schon selbst abfangen:
Use of uninitialized value $vh_name_actdeactdest
Tja. Diese hier "Insecure dependency in PROGRAMMNAME while running setuid" sagen mir, dass wie ich mir schon dachte, etwas mit den Rechten nicht stimmt.
Lösung:
Nimm nicht den root als Eigentümer, sondern lege einen weiteren Benutzer mit eingeschränkten Rechten an.
Gib diesem mit einer ACL Rechte (rwx) an /etc/apache2/sites-enabled und /etc/apache2/sites-available.
Gib diesem in /etc/sudoers GENAU das Recht /etc/init.d/apache2 reload als root auszuführen, besser /usr/bin/service apache2 reload. Im Zweifelsfall schreibe beides in eines Schell-Skript, teste darin, was da ist und lass es nur von root ausführen (und schreiben!) - mit einem Eintrag für den angelegten Benutzer in /etc/sudoers.
Im Skript dann qx('/usr/bin/sudo /etc/init.d/apache2 reload');
Übrigens wirst Du bald qx('/usr/bin/sudo /usr/bin/service apache2 reload')
angeben müssen.
Ansonsten gilt: Was Du da treibst ist SEHR gefährlich. Du nimmst ein Perl-Skript, darin übernimmst Du - ohne Taint-Modus - Werte aus der Umgebung (hier auch noch Eingaben aus einem Webformular) und willst - als root - damit im System herumpfuschen?
Da hat man inzwischen wohl schon einiges davon verhindert.