summaryrefslogtreecommitdiff
path: root/bin/apache.export
diff options
context:
space:
mode:
Diffstat (limited to 'bin/apache.export')
-rwxr-xr-xbin/apache.export93
1 files changed, 0 insertions, 93 deletions
diff --git a/bin/apache.export b/bin/apache.export
deleted file mode 100755
index da2d73c..0000000
--- 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";
-}
-