--- a/debian/littlebird-tc-core.postinst Fri Sep 02 11:10:36 2011 +0200
+++ b/debian/littlebird-tc-core.postinst Fri Sep 02 12:57:40 2011 +0200
@@ -67,6 +67,7 @@
# apache configuration
db_get littlebird-tc/web/servername && servername="$RET" || true
+ db_get littlebird-tc/web/serverport && serverport="$RET" || true
db_get littlebird-tc/web/serveradmin && serveradmin="$RET" || true
db_get littlebird-tc/web/crt && crt="$RET" || true
db_get littlebird-tc/web/key && key="$RET" || true
@@ -94,23 +95,28 @@
db_go || true
fi
fi
- # permissions for the cert
- test "$key" && {
- chown root: "$key"
- chmod -v go= "$key"
- }
# tweak the config file, but just the lines following a magical
# debconf line
- perl - serveradmin="$serveradmin" servername="$servername" \
+ perl - serveradmin="$serveradmin" servername="$servername" serverport="$serverport" \
crt="$crt" key="$key" <<'_'
use strict;
use warnings;
my $mark = '# debconf:';
my %o;
- foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v; }
+ foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v }
+ if ($o{serverport} eq "443") {
+ $o{serverurl} = "https://$o{servername}/";
+ $o{listen} = "# Listen 443";
+ }
+ else {
+ $o{serverurl} = "https://$o{servername}:$o{serverport}/";
+ $o{listen} = "Listen $o{serverport}";
+ }
+
+
open(F, "+</etc/apache2/conf.d/littlebird-tc") or die;
- $_ = join "", <F>;
+ $_ = join "" => <F>;
s|^(([ \t]*?)# debconf: (.*?){{(.*?)}}(.*?)\n).*?\n|$1$2$3$o{$4}$5\n|migs;
seek(F, 0, 0);
print(F $_);
@@ -128,6 +134,38 @@
mkdir -p "$dir"
)
+ # fix application_ini, there should be a cleaner approach
+
+ db_get littlebird-tc/db/name && dbname="$RET" || true
+ db_get littlebird-tc/db/host && dbhost="$RET" || true
+ db_get littlebird-tc/db/user && dbuser="$RET" || true
+ db_get littlebird-tc/db/pass && dbpass="$RET" || true
+ perl - dbname="$dbname" dbhost="$dbhost" dbuser="$dbuser" dbpass="$dbpass" \
+ servername="$servername" serverport="$serverport" \
+ <<'_'
+ use strict;
+ use warnings;
+ my %o; foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v }
+
+ if ($o{serverport} eq "443") { $o{serverurl} = "https://$o{servername}" }
+ else { $o{serverurl} = "https://$o{servername}:$o{serverport}" }
+
+ open(F, "+</srv/www/littlebird/TrustCenter/application/configs/application_installation.ini")
+ or die;
+ $_ = join "" => <F>;
+ s|^(\Qresources.db.params.dbname\E\s*=).*|$1 $o{dbname}|mig;
+ s|^(\Qresources.db.params.host\E\s*=).*|$1 $o{dbhost}|mig;
+ s|^(\Qresources.db.params.username\E\s*=).*|$1 $o{dbuser}|mig;
+ s|^(\Qresources.db.params.password\E\s*=).*|$1 $o{dbpass}|mig;
+ s|^(\Qlittlebird.trustcenter.url\E\s*=).*|$1 $o{serverurl}|mig;
+ s|/opt/LittleBird/LittleBird(?:-Test)?|/srv/www/littlebird|mig;
+ seek(F, 0, 0);
+ print(F $_);
+ truncate(F, tell F);
+ close(F);
+_
+
+
db_stop || true
a2enmod ssl