3
# Get vhost-base stuff.
10
open(PORTS, "/etc/apache2/ports.conf") || die "Couldn't open port config: $!";
12
if ($ports == "") { /Listen (\d+)/; $ports = $1; }
13
else { /Listen (\d+)/; $ports = $ports . ", " . $1; }
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; }
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");
32
if (!(($ret[0] == 0) || ($ret[0] == 10))) {
33
print(STDERR "db_go failed! Return code: @ret\n");
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");
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");
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");
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: $!";
58
s/::SERVERADMIN::/$admin/;
59
s/::SERVERNAME::/$servername/;
61
s/::VHOSTNAME::/$vhostname/;
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/;
74
s/::VHOSTNAME::/$vhostname/;
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");
85
if ($ssl eq "true") { system("cp -R /var/lib/vhost-base/$vhostname/htdocs-$port /var/lib/vhost-base/$vhostname/htdocs-443"); }
87
unlink("/etc/vhosts/templates.d/apache2") || die "Couldn't remove new templates: $!";