diff options
Diffstat (limited to 'web_wizard')
-rw-r--r-- | web_wizard/scripts/Webconf.pm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/web_wizard/scripts/Webconf.pm b/web_wizard/scripts/Webconf.pm new file mode 100644 index 00000000..69f99194 --- /dev/null +++ b/web_wizard/scripts/Webconf.pm @@ -0,0 +1,62 @@ +#!/usr/bin/perl + +package Webconf; +require "__WIZ_HOME__/common/scripts/Vareqval.pm"; + +use strict; + +my $that; +my %mdk; +my $device; +my $s; + +sub finish { + my $old = "/etc/httpd/conf/commonhttpd.conf"; + my $new = "/tmp/commonhttpd.conf"; + my $bak = "/etc/httpd/conf/commonhttpd.conf.orig"; + + open(OLD, "< $old") or die "can't open $old: $!"; + open(NEW, "> $new") or die "can't open $new: $!"; + + if ($ENV{wiz_web_external} eq "1") { + $that = "all"; + } + elsif ($ENV{wiz_web_internal} eq "1") { + $device = $mdk{wiz_device}; + %mdk = Vareqval->get("/etc/sysconfig/network-scripts/ifcfg-".$device); + $that = "$mdk{IPADDR}"; + } + else { + $that = "localhost"; + } + + if ($ENV{wiz_web_external} eq "1") { + my $that = "all"; + } + elsif ($ENV{wiz_web_internal} eq "1") { + %mdk = Vareqval->get("/etc/sysconfig/mdk_serv"); + defined $mdk{wiz_device} and $device = $mdk{wiz_device} or die "wiz_device not found in mdk_serv\n"; + %mdk = Vareqval->get("/etc/sysconfig/network-scripts/ifcfg-".$device); + defined $mdk{IPADDR} and $that = $mdk{IPADDR} or die "IPADDR not found in /etc/sysconfig/network-scripts/ifcfg-xxx\n"; + } + else { + $that = "localhost"; + print "hello\n" + } + while (<OLD>) { + if( m /^[[:space:]]*<Directory \/home/s...m/^[[:space:]]*<\/Directory>/s ) { + { s /^[[:space:]]*Allow .*$/ Allow from $that\n/s;} + ;} + if( m /^[[:space:]]*<Directory \/var\/www/s...m/^[[:space:]]*<\/Directory>/s ) { + { s /^[[:space:]]*Allow .*$/ Allow from $that\n/s;} + ;} + print NEW $_ or die "can't write to $new: $!"; + } + close(OLD) or die "can't close $old: $!"; + close(NEW) or die "can't close $new: $!"; + + rename($old, $bak) or die "can't rename $old to $bak: $!"; + rename($new, $old) or die "can't rename $new to $old: $!"; +} + +1; |