usinng acme.sh for issuing Let's Encrypt certificates now; please test thoroughly; fixes #651

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2019-02-17 16:17:35 +01:00
parent 39d38eea8d
commit 73a059b318
12 changed files with 206 additions and 1538 deletions

View File

@@ -644,6 +644,7 @@ opcache.interned_strings_buffer'),
('system', 'logfiles_script', ''),
('system', 'dhparams_file', ''),
('system', 'errorlog_level', 'warn'),
('system', 'leecc', '0'),
('api', 'enabled', '0'),
('2fa', 'enabled', '1'),
('panel', 'decimal_places', '4'),
@@ -679,7 +680,7 @@ opcache.interned_strings_buffer'),
('panel', 'customer_hide_options', ''),
('panel', 'is_configured', '0'),
('panel', 'version', '0.10.0'),
('panel', 'db_version', '201902120');
('panel', 'db_version', '201902170');
DROP TABLE IF EXISTS `panel_tasks`;

View File

@@ -196,3 +196,24 @@ if (\Froxlor\Froxlor::isDatabaseVersion('201812190')) {
\Froxlor\Froxlor::updateToDbVersion('201902120');
}
if (\Froxlor\Froxlor::isDatabaseVersion('201902120')) {
showUpdateStep("Adding new ECC / ECDSA setting for Let's Encrypt");
Settings::AddNew('system.leecc', '0');
Database::query("UPDATE `" . TABLE_PANEL_CRONRUNS . "` SET `cronclass` = '\\Froxlor\\Cron\\Http\\LetsEncrypt\\AcmeSh' WHERE `cronfile` = 'letsencrypt'");
lastStepStatus(0);
showUpdateStep("Removing current Let's Encrypt certificates due to new implementation of acme.sh");
$sel_result = Database::query("SELECT id FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `letsencrypt` = '1'");
$domain_ids = $sel_result->fetchAll(\PDO::FETCH_ASSOC);
$domain_in = "";
foreach ($domain_ids as $domain_id) {
$domain_in .= "'".$domain_id['id']."',";
}
$domain_in = substr($domain_in, 0, -1);
Database::query("DELETE FROM `" . TABLE_PANEL_DOMAIN_SSL_SETTINGS . "` WHERE `domainid` IN (". $domain_in . ")");
lastStepStatus(0);
\Froxlor\Froxlor::updateToDbVersion('201902170');
}