fixes to install (mostly CLI)

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2022-06-02 20:33:27 +02:00
parent bbd754c198
commit fca80de995
3 changed files with 20 additions and 10 deletions

View File

@@ -57,6 +57,8 @@ final class InstallCommand extends Command
return self::INVALID;
}
session_start();
require __DIR__ . '/install.functions.php';
$this->io = new SymfonyStyle($input, $output);
@@ -133,6 +135,12 @@ final class InstallCommand extends Command
$this->io->note($section['description']);
foreach ($section['fields'] as $fieldname => $fielddata) {
if ($extended == false && isset($fielddata['advanced']) && $fielddata['advanced'] == true) {
if ($fieldname == 'httpuser' || $fieldname == 'httpgroup') {
// overwrite posix_getgrgid(posix_getgid())['name'] as it would result in 'root'
$this->formfielddata[$fieldname] = 'www-data';
} else {
$this->formfielddata[$fieldname] = $fielddata['value'];
}
continue;
}
$fielddata['value'] = $this->formfielddata[$fieldname] ?? ($fielddata['value'] ?? null);
@@ -160,23 +168,24 @@ final class InstallCommand extends Command
try {
if ($step == 1) {
// $inst->checkDatabase($this->formfielddata);
$inst->checkDatabase($this->formfielddata);
} elseif ($step == 2) {
// $inst->checkAdminUser($this->formfielddata);
$inst->checkAdminUser($this->formfielddata);
} elseif ($step == 3) {
// $inst->checkSystem($this->formfielddata);
$inst->checkSystem($this->formfielddata);
}
}
catch (Exception $e) {
} catch (Exception $e) {
$this->io->error($e->getMessage());
return $this->showStep($step, $extended);
}
if ($step == 3) {
// do actual install with data from $this->formfielddata
$core = new Core($this->formfielddata);
$core->doInstall();
}
return $this->showStep(++$step, $extended);
break;
case 4:
// do actual install with data from $this->formfielddata
// $core = new Core($this->formfielddata);
// $core->doInstall();
$section = $inst->formfield['install']['sections']['step' . $step] ?? [];
$this->io->section($section['title']);
$this->io->note($section['description']);

View File

@@ -298,9 +298,9 @@ class Install
if (empty($serveripv4) && empty($serveripv6)) {
throw new Exception(lng('install.errors.nov4andnov6ip'));
} elseif (!Validate::validate_ip2($serveripv4, true, '', false, true) || IPTools::is_ipv6($serveripv4)) {
} elseif (!empty($serveripv4) && (!Validate::validate_ip2($serveripv4, true, '', false, true) || IPTools::is_ipv6($serveripv4))) {
throw new Exception(lng('error.invalidip', [$serveripv4]));
} elseif (!Validate::validate_ip2($serveripv6, true, '', false, true) || IPTools::is_ipv6($serveripv6) == false) {
} elseif (!empty($serveripv6) && (!Validate::validate_ip2($serveripv6, true, '', false, true) || IPTools::is_ipv6($serveripv6) == false)) {
throw new Exception(lng('error.invalidip', [$serveripv6]));
} elseif (!Validate::validateDomain($servername) && !Validate::validateLocalHostname($servername)) {
throw new Exception(lng('install.errors.servernameneedstobevalid'));

View File

@@ -497,6 +497,7 @@ class Core
`ssl` = :ssl
");
$nvh = $this->validatedData['webserver'] == 'apache2' ? '1' : '0';
$defaultip = false;
if (!empty($this->validatedData['serveripv6'])) {
$stmt->execute([
'nvh' => $nvh,