diff options
Diffstat (limited to 'bin/apache.export')
-rwxr-xr-x | bin/apache.export | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/bin/apache.export b/bin/apache.export deleted file mode 100755 index da2d73c1c..000000000 --- a/bin/apache.export +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use Getopt::Std; -#use File::Path; -use File::Rsync; -use Net::SSH qw(ssh); -use FS::UID qw(adminsuidsetup datasrc); -use FS::Record qw(qsearch qsearchs); -use FS::part_export; -use FS::cust_svc; -use FS::svc_www; - -use vars qw(%opt); -getopts("d", \%opt); - -my $user = shift or die &usage; -adminsuidsetup $user; - -#needs the export number in there somewhere too...? -my $spooldir = "/usr/local/etc/freeside/export.". datasrc. "/apache"; -mkdir $spooldir, 0700 unless -d $spooldir; - -my @exports = qsearch('part_export', { 'exporttype' => 'apache' } ); - -my $rsync = File::Rsync->new({ - rsh => 'ssh', -# dry_run => 1, -}); - -foreach my $export ( @exports ) { - - my $machine = $export->machine; - my $file = "$spooldir/$machine.conf"; - - warn "exporting apache configuration for $machine to $file\n" - if $opt{d}; - - open(HTTPD_CONF,">$file") or die "can't open $file: $!"; - - my $template = $export->option('template'); - - my @svc_www = $export->svc_x; - - foreach my $svc_www ( @svc_www ) { - use vars qw($zone $username $dir $email $config); - $zone = $svc_www->domain_record->zone; - $config = $svc_www->config; - if ( $svc_www->svc_acct ) { - $username = $svc_www->svc_acct->username; - $dir = $svc_www->svc_acct->dir; - $email = $svc_www->svc_acct->email; - } else { - $username = ''; - $dir = ''; - $email = ''; - } - - warn " adding configuration section for $zone\n" - if $opt{d}; - - print HTTPD_CONF eval(qq("$template")). "\n\n"; - } - - my $user = $export->option('user'); - my $httpd_conf = $export->option('httpd_conf'); - - warn "syncing $file to $httpd_conf on $machine\n" - if $opt{d}; - - $rsync->exec( { - src => $file, - dest => "$user\@$machine:$httpd_conf", - } ) or die "rsync to $machine failed: ". join(" / ", $rsync->err); - # warn $rsync->out; - - my $restart = $export->option('restart') || 'apachectl graceful'; - - warn "running restart command $restart on $machine\n" - if $opt{d}; - - ssh("root\@$machine", $restart); - -} - -close HTTPD_CONF; - -# ----- - -sub usage { - die "Usage:\n apache.export [ -d ] user\n"; -} - |