~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to debian/vhost-base/add.d/apache2

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/perl -w
2
 
 
3
 
# Get vhost-base stuff.
4
 
use Debian::Vhosts;
5
 
use File::Copy;
6
 
 
7
 
$vhostname = shift;
8
 
my $ports;
9
 
 
10
 
open(PORTS, "/etc/apache2/ports.conf") || die "Couldn't open port config: $!";
11
 
while (<PORTS>) { 
12
 
       if ($ports == "") { /Listen (\d+)/; $ports = $1; }
13
 
       else { /Listen (\d+)/; $ports = $ports . ", " . $1; }
14
 
}
15
 
close(PORTS);
16
 
 
17
 
open(OLDTEMPLATES, "/etc/vhosts/templates.d/apache2.in") || die "Couldn't open old templates: $!";
18
 
open(NEWTEMPLATES, ">/etc/vhosts/templates.d/apache2") || die "Couldn't open new templates: $!";
19
 
while (<OLDTEMPLATES>) { s/::PORTS::/$ports/; print NEWTEMPLATES; }
20
 
close(OLDTEMPLATES);
21
 
close(NEWTEMPLATES);
22
 
 
23
 
vb_input("critical", "apache2/servername");
24
 
vb_input("critical", "apache2/aliases");
25
 
vb_input("critical", "apache2/serveradmin");
26
 
vb_input("critical", "apache2/ssl");
27
 
vb_input("critical", "apache2/port");
28
 
vb_input("critical", "apache2/default");
29
 
 
30
 
my @ret = vb_go();
31
 
 
32
 
if (!(($ret[0] == 0) || ($ret[0] == 10))) {
33
 
        print(STDERR "db_go failed! Return code: @ret\n");
34
 
}
35
 
 
36
 
my $servername = vb_get("apache2/servername");
37
 
if ($servername eq "") { $servername = `hostname -f`; }
38
 
my $aliases = vb_get("apache2/aliases");
39
 
my $admin = vb_get("apache2/serveradmin");
40
 
my $ssl = vb_get("apache2/ssl");
41
 
my $port = vb_get("apache2/port");
42
 
my $default = vb_get("apache2/default");
43
 
 
44
 
vb_fset("apache2/servername", "seen", "false");
45
 
vb_fset("apache2/aliases", "seen", "false");
46
 
vb_fset("apache2/serveradmin", "seen", "false");
47
 
vb_fset("apache2/ssl", "seen", "false");
48
 
vb_fset("apache2/port", "seen", "false");
49
 
vb_fset("apache2/default", "seen", "false");
50
 
 
51
 
open(CONFIG, ">/var/lib/vhost-base/$vhostname/conf/apache2.conf") || die "Couldn't open vhost config: $!";
52
 
print(CONFIG "[apache2]\n  server=$servername\n  aliases=$aliases\n");
53
 
print(CONFIG "  admin=$admin\n  ssl=$ssl\n  port=$port\n  default=$default\n");
54
 
 
55
 
open(DEFSITE, "/usr/share/apache2/config/default") || die "Couldn't open default config; $!";
56
 
open(NEWCONF, ">/etc/apache2/sites-available/$vhostname-$port") || die "Couldn't open new config: $!";
57
 
while (<DEFSITE>) {
58
 
        s/::SERVERADMIN::/$admin/;
59
 
        s/::SERVERNAME::/$servername/;
60
 
        s/::PORT::/$port/;
61
 
        s/::VHOSTNAME::/$vhostname/;
62
 
        print NEWCONF;
63
 
}
64
 
close(DEFSITE);
65
 
close(NEWCONF);
66
 
 
67
 
if($ssl eq "true") {
68
 
        open(DEFSITESSL, "/usr/share/apache2/config/default-443") || die "Couldn't open default SSL config: $!";
69
 
        open(NEWCONFSSL, ">/etc/apache2/sites-available/$vhostname-443") || die "Couldn't open new SSL config: $!";
70
 
        while (<DEFSITESSL>) {
71
 
                s/::SERVERADMIN::/$admin/;
72
 
                s/::SERVERNAME::/$servername/;
73
 
                s/::PORT::/$port/;
74
 
                s/::VHOSTNAME::/$vhostname/;
75
 
                print NEWCONFSSL;
76
 
        }
77
 
        close(DEFSITESSL);
78
 
        close(NEWCONFSSL);
79
 
}
80
 
 
81
 
if (!(-d "/var/lib/vhost-base/$vhostname/logs")) { mkdir("/var/lib/vhost-base/$vhostname/logs"); }
82
 
system("cp -R /usr/share/apache2/default-site/* /var/lib/vhost-base/$vhostname");
83
 
move("/var/lib/vhost-base/$vhostname/htdocs", "/var/lib/vhost-base/$vhostname/htdocs-$port");
84
 
 
85
 
if ($ssl eq "true") { system("cp -R /var/lib/vhost-base/$vhostname/htdocs-$port /var/lib/vhost-base/$vhostname/htdocs-443"); }
86
 
 
87
 
unlink("/etc/vhosts/templates.d/apache2") || die "Couldn't remove new templates: $!";