[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cobalt-users] Admin Html pages for domains (script)



Here is the script that I cooked up for when the files under
/usr/admserv/html/.cobalt/siteManage get whacked or corrupted.  Use on a
RaQ 3 or RaQ 4.  If the domain is not showing the UI run meta-verify(1)
first, this could helpful if you need to rebuild sites by hand. *shiver*

Jeff-

(1)
RaQ3: ftp://ftp.cobaltnet.com/pub/users/duncan/raq3/meta-verify.pl
RaQ4: /usr/local/sbin/meta-verify


#!/usr/bin/perl
# genAdmservPages
# creates the admin server pages for all domains
# on a RaQ 3 or RaQ 4, except for the home site

require Cobalt::Layout;
require Cobalt::Admserv;
require Cobalt::Vsite;
require Cobalt::Meta;
use Cobalt::Product;

foreach my $vhost (Cobalt::Vsite::vsite_list()) {
    next unless ($$vhost[1]);
        my $fqdn = $$vhost[1];
        my ($group) = Cobalt::Meta::query("type"  => "vsite",
        "keys"  => ["name"],
        "where" => ["name", "<>", "default",
        "and", "fqdn", "=", "$fqdn"]);
        next if($group eq "home");
        if($group) {
                warn "creating admserver pages for group: $group site
name:
$fqdn\n"; 
                Cobalt::Layout::layout_siteManage($group, $fqdn);
               
Cobalt::Admserv::admserv_set_access(qq[$AdminPages_dir/siteManage/$group],
'require', 'group', $group);
                unlink("$AdminPages_dir/siteManage/$fqdn") if (-l
"$AdminPages_dir/siteManage/$fqdn");
        symlink("$AdminPages_dir/siteManage/$group",
        "$AdminPages_dir/siteManage/$fqdn");
        } else {
                warn "unkown fqdn: $fqdn or group: $group\n";
        }
}