65 fi |
65 fi |
66 |
66 |
67 |
67 |
68 # apache configuration |
68 # apache configuration |
69 db_get littlebird-tc/web/servername && servername="$RET" || true |
69 db_get littlebird-tc/web/servername && servername="$RET" || true |
|
70 db_get littlebird-tc/web/serverport && serverport="$RET" || true |
70 db_get littlebird-tc/web/serveradmin && serveradmin="$RET" || true |
71 db_get littlebird-tc/web/serveradmin && serveradmin="$RET" || true |
71 db_get littlebird-tc/web/crt && crt="$RET" || true |
72 db_get littlebird-tc/web/crt && crt="$RET" || true |
72 db_get littlebird-tc/web/key && key="$RET" || true |
73 db_get littlebird-tc/web/key && key="$RET" || true |
73 |
74 |
74 # snakeoil certificate |
75 # snakeoil certificate |
92 cat $tmp >&2 |
93 cat $tmp >&2 |
93 db_input critical littlebird-tc/web/cert-failed || true |
94 db_input critical littlebird-tc/web/cert-failed || true |
94 db_go || true |
95 db_go || true |
95 fi |
96 fi |
96 fi |
97 fi |
97 # permissions for the cert |
|
98 test "$key" && { |
|
99 chown root: "$key" |
|
100 chmod -v go= "$key" |
|
101 } |
|
102 |
98 |
103 # tweak the config file, but just the lines following a magical |
99 # tweak the config file, but just the lines following a magical |
104 # debconf line |
100 # debconf line |
105 perl - serveradmin="$serveradmin" servername="$servername" \ |
101 perl - serveradmin="$serveradmin" servername="$servername" serverport="$serverport" \ |
106 crt="$crt" key="$key" <<'_' |
102 crt="$crt" key="$key" <<'_' |
107 use strict; |
103 use strict; |
108 use warnings; |
104 use warnings; |
109 my $mark = '# debconf:'; |
105 my $mark = '# debconf:'; |
110 my %o; |
106 my %o; |
111 foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v; } |
107 foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v } |
|
108 if ($o{serverport} eq "443") { |
|
109 $o{serverurl} = "https://$o{servername}/"; |
|
110 $o{listen} = "# Listen 443"; |
|
111 } |
|
112 else { |
|
113 $o{serverurl} = "https://$o{servername}:$o{serverport}/"; |
|
114 $o{listen} = "Listen $o{serverport}"; |
|
115 } |
|
116 |
|
117 |
112 open(F, "+</etc/apache2/conf.d/littlebird-tc") or die; |
118 open(F, "+</etc/apache2/conf.d/littlebird-tc") or die; |
113 $_ = join "", <F>; |
119 $_ = join "" => <F>; |
114 s|^(([ \t]*?)# debconf: (.*?){{(.*?)}}(.*?)\n).*?\n|$1$2$3$o{$4}$5\n|migs; |
120 s|^(([ \t]*?)# debconf: (.*?){{(.*?)}}(.*?)\n).*?\n|$1$2$3$o{$4}$5\n|migs; |
115 seek(F, 0, 0); |
121 seek(F, 0, 0); |
116 print(F $_); |
122 print(F $_); |
117 truncate(F, tell F); |
123 truncate(F, tell F); |
118 close(F); |
124 close(F); |
125 mkdir -p "$dir" |
131 mkdir -p "$dir" |
126 file=`perl -ne '/^\s*customlog\s+(\S+)/i&&print "$1\n"' /etc/apache2/conf.d/littlebird-tc` |
132 file=`perl -ne '/^\s*customlog\s+(\S+)/i&&print "$1\n"' /etc/apache2/conf.d/littlebird-tc` |
127 dir=`eval dirname "$file"` |
133 dir=`eval dirname "$file"` |
128 mkdir -p "$dir" |
134 mkdir -p "$dir" |
129 ) |
135 ) |
|
136 |
|
137 # fix application_ini, there should be a cleaner approach |
|
138 |
|
139 db_get littlebird-tc/db/name && dbname="$RET" || true |
|
140 db_get littlebird-tc/db/host && dbhost="$RET" || true |
|
141 db_get littlebird-tc/db/user && dbuser="$RET" || true |
|
142 db_get littlebird-tc/db/pass && dbpass="$RET" || true |
|
143 perl - dbname="$dbname" dbhost="$dbhost" dbuser="$dbuser" dbpass="$dbpass" \ |
|
144 servername="$servername" serverport="$serverport" \ |
|
145 <<'_' |
|
146 use strict; |
|
147 use warnings; |
|
148 my %o; foreach (@ARGV) { my ($k, $v) = split /=/, $_, 2; $o{$k} = $v } |
|
149 |
|
150 if ($o{serverport} eq "443") { $o{serverurl} = "https://$o{servername}" } |
|
151 else { $o{serverurl} = "https://$o{servername}:$o{serverport}" } |
|
152 |
|
153 open(F, "+</srv/www/littlebird/TrustCenter/application/configs/application_installation.ini") |
|
154 or die; |
|
155 $_ = join "" => <F>; |
|
156 s|^(\Qresources.db.params.dbname\E\s*=).*|$1 $o{dbname}|mig; |
|
157 s|^(\Qresources.db.params.host\E\s*=).*|$1 $o{dbhost}|mig; |
|
158 s|^(\Qresources.db.params.username\E\s*=).*|$1 $o{dbuser}|mig; |
|
159 s|^(\Qresources.db.params.password\E\s*=).*|$1 $o{dbpass}|mig; |
|
160 s|^(\Qlittlebird.trustcenter.url\E\s*=).*|$1 $o{serverurl}|mig; |
|
161 s|/opt/LittleBird/LittleBird(?:-Test)?|/srv/www/littlebird|mig; |
|
162 seek(F, 0, 0); |
|
163 print(F $_); |
|
164 truncate(F, tell F); |
|
165 close(F); |
|
166 _ |
|
167 |
130 |
168 |
131 |
169 |
132 db_stop || true |
170 db_stop || true |
133 a2enmod ssl |
171 a2enmod ssl |
134 invoke-rc.d apache2 reload >&2 |
172 invoke-rc.d apache2 reload >&2 |