Skip to content

Commit b3ada52

Browse files
author
Marius Cramer
committed
Merge branch 'master' into 'master'
add option to reconfigure selected services during update See merge request !229
2 parents 35a93a7 + 418f62f commit b3ada52

File tree

2 files changed

+68
-45
lines changed

2 files changed

+68
-45
lines changed

install/lib/installer_base.lib.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,19 @@ public function force_configure_app($service, $enable_force=true) {
175175
return $force;
176176
}
177177

178+
public function reconfigure_app($service, $reconfigure_services_answer) {
179+
$reconfigure = false;
180+
if ($reconfigure_services_answer != 'selected') {
181+
$reconfigure = true;
182+
} else {
183+
if(strtolower($this->simple_query("Reconfigure $service", array('y', 'n'), 'y') ) == 'y') {
184+
$reconfigure = true;
185+
} else {
186+
swriteln("Skip reconfigure $service\n");
187+
}
188+
}
189+
return $reconfigure;
190+
}
178191

179192
/** Create the database for ISPConfig */
180193

install/update.php

Lines changed: 55 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -300,30 +300,35 @@
300300
//}
301301

302302
//** Shall the services be reconfigured during update
303-
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');
303+
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services');
304304

305-
if($reconfigure_services_answer == 'yes') {
305+
if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'selected') {
306306

307307
if($conf['services']['mail']) {
308+
308309
//** Configure postfix
309-
swriteln('Configuring Postfix');
310-
$inst->configure_postfix('dont-create-certs');
310+
if($inst->reconfigure_app('Postfix', $reconfigure_services_answer)) {
311+
swriteln('Configuring Postfix');
312+
$inst->configure_postfix('dont-create-certs');
313+
}
311314

312315
//** Configure mailman
313-
if($conf['mailman']['installed'] == true) {
316+
if($conf['mailman']['installed'] == true && $inst->reconfigure_app('Mailman', $reconfigure_services_answer)) {
314317
swriteln('Configuring Mailman');
315318
$inst->configure_mailman('update');
316319
}
317320

318321
//* Configure Jailkit
319-
swriteln('Configuring Jailkit');
320-
$inst->configure_jailkit();
322+
if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
323+
swriteln('Configuring Jailkit');
324+
$inst->configure_jailkit();
325+
}
321326

322-
if($conf['dovecot']['installed'] == true) {
327+
if($conf['dovecot']['installed'] == true && $inst->reconfigure_app('Dovecot', $reconfigure_services_answer)) {
323328
//* Configure dovecot
324329
swriteln('Configuring Dovecot');
325330
$inst->configure_dovecot();
326-
} else {
331+
} elseif ($conf['courier']['installed'] == true && $inst->reconfigure_app('Courier', $reconfigure_services_answer)) {
327332
//** Configure saslauthd
328333
swriteln('Configuring SASL');
329334
$inst->configure_saslauthd();
@@ -338,27 +343,25 @@
338343
}
339344

340345
//** Configure Spamasassin
341-
swriteln('Configuring Spamassassin');
342-
$inst->configure_spamassassin();
346+
if($inst->reconfigure_app('Spamassassin', $reconfigure_services_answer)) {
347+
swriteln('Configuring Spamassassin');
348+
$inst->configure_spamassassin();
349+
}
343350

344351
//** Configure Amavis
345-
if($conf['amavis']['installed'] == true) {
352+
if($conf['amavis']['installed'] == true && $inst->reconfigure_app('Amavisd', $reconfigure_services_answer)) {
346353
swriteln('Configuring Amavisd');
347354
$inst->configure_amavis();
348355
}
349356

350357
//** Configure Getmail
351-
swriteln('Configuring Getmail');
352-
$inst->configure_getmail();
353-
}
354-
355-
if($conf['services']['web'] && $conf['pureftpd']['installed'] == true) {
356-
//** Configure Pureftpd
357-
swriteln('Configuring Pureftpd');
358-
$inst->configure_pureftpd();
358+
if ($inst->reconfigure_app('Getmail', $reconfigure_services_answer)) {
359+
swriteln('Configuring Getmail');
360+
$inst->configure_getmail();
361+
}
359362
}
360363

361-
if($conf['services']['dns']) {
364+
if($conf['services']['dns'] && $inst->reconfigure_app('DNS', $reconfigure_services_answer)) {
362365
//* Configure DNS
363366
if($conf['powerdns']['installed'] == true) {
364367
swriteln('Configuring PowerDNS');
@@ -373,37 +376,40 @@
373376
}
374377

375378
if($conf['services']['web']) {
376-
if($conf['webserver']['server_type'] == 'apache'){
377-
//** Configure Apache
378-
swriteln('Configuring Apache');
379-
$inst->configure_apache();
380-
381-
//** Configure vlogger
382-
swriteln('Configuring vlogger');
383-
$inst->configure_vlogger();
384-
} else {
385-
//** Configure nginx
386-
swriteln('Configuring nginx');
387-
$inst->configure_nginx();
379+
380+
if($conf['pureftpd']['installed'] == true && $inst->reconfigure_app('Pureftpd', $reconfigure_services_answer)) {
381+
//** Configure Pureftpd
382+
swriteln('Configuring Pureftpd');
383+
$inst->configure_pureftpd();
388384
}
389385

390-
//** Configure apps vhost
391-
swriteln('Configuring Apps vhost');
392-
$inst->configure_apps_vhost();
393-
}
386+
if($inst->reconfigure_app('Web-Server', $reconfigure_services_answer)) {
387+
if($conf['webserver']['server_type'] == 'apache'){
388+
//** Configure Apache
389+
swriteln('Configuring Apache');
390+
$inst->configure_apache();
391+
392+
//** Configure vlogger
393+
swriteln('Configuring vlogger');
394+
$inst->configure_vlogger();
395+
} else {
396+
//** Configure nginx
397+
swriteln('Configuring nginx');
398+
$inst->configure_nginx();
399+
}
400+
401+
//** Configure apps vhost
402+
swriteln('Configuring Apps vhost');
403+
$inst->configure_apps_vhost();
404+
}
405+
}
394406

395-
if($conf['services']['xmpp']) {
407+
if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) {
396408
//** Configure Metronome XMPP
397409
$inst->configure_xmpp('dont-create-certs');
398410
}
399411

400-
401-
//* Configure DBServer
402-
swriteln('Configuring Database');
403-
$inst->configure_dbserver();
404-
405-
406-
if($conf['services']['firewall']) {
412+
if($conf['services']['firewall'] && $inst->reconfigure_app('Firewall', $reconfigure_services_answer)) {
407413
if($conf['ufw']['installed'] == true) {
408414
//* Configure Ubuntu Firewall
409415
$conf['services']['firewall'] = true;
@@ -416,6 +422,10 @@
416422
}
417423
}
418424

425+
//* Configure DBServer
426+
swriteln('Configuring Database');
427+
$inst->configure_dbserver();
428+
419429
/*
420430
if($conf['squid']['installed'] == true) {
421431
swriteln('Configuring Squid');

0 commit comments

Comments
 (0)