diff --git a/README.md b/README.md index ada5c51a..5a24b395 100644 --- a/README.md +++ b/README.md @@ -58,3 +58,16 @@ http://files.froxlor.org/releases/froxlor-latest.tar.gz [MD5](http://files.froxl [HowTo](http://redmine.froxlor.org/projects/froxlor/wiki/Installationgentoo) http://files.froxlor.org/gentoo/repositories.xml + +## Let's encrypt support + +This version of Froxlor contains a beta - version of support for [Let's Encrypt](https://letsencrypt.org). This is (as Let's Encrypt is in itself) +still a test - version and may break your system. The way it currently works is by creating a (sub-)domain with the default system - certificate, +after which the Let's Encrypt cronjob orders the certificate for this (sub-)domain and inserts the certificates in the database. With the next run +of the default cronjob, the certificates will be updated on the disk and the webserver reloaded. + +This has 2 known side-effects at the moment: +* The ip/port combinations don't work with the Froxlor - integration of Let's Encrypt, since it needs a certificate for the very first creation +* After creating a domain, it will have the default certificate for a short time (by default 5 minutes until the cronjob runs the next time) + +It may be possible to fix these issues, but they are not a priority at the moment \ No newline at end of file diff --git a/install/froxlor.sql b/install/froxlor.sql index d968c6e7..6f526b50 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -752,7 +752,8 @@ INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, (3, 'froxlor/ticket', 'used_tickets_reset', '1 DAY', '1', 'cron_ticketsreset'), (4, 'froxlor/ticket', 'ticketarchive', '1 MONTH', '1', 'cron_ticketarchive'), (5, 'froxlor/reports', 'usage_report', '1 DAY', '1', 'cron_usage_report'), - (6, 'froxlor/core', 'mailboxsize', '6 HOUR', '1', 'cron_mailboxsize'); + (6, 'froxlor/core', 'mailboxsize', '6 HOUR', '1', 'cron_mailboxsize'), + (7, 'froxlor/letsencrypt', 'letsencrypt', '5 MINUTE', '1', 'cron_letsencrypt'); diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index f670d2f5..fef33c39 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -3032,6 +3032,17 @@ if (isFroxlorVersion('0.9.34.2')) { Database::query("ALTER TABLE `".TABLE_PANEL_DOMAINS."` ADD `letsencrypt` TINYINT(1) NOT NULL DEFAULT '0' AFTER `ismainbutsubto`;"); Settings::AddNew("system.leprivatekey", 'unset'); Settings::AddNew("system.lepublickey", 'unset'); + showUpdateStep("Adding new cron-module for web- and traffic-reporting"); + $stmt = Database::prepare(" + INSERT INTO `" . TABLE_PANEL_CRONRUNS . "` SET + `module` = 'froxlor/letsencrypt', + `cronfile` = 'letsencrypt', + `interval` = '5 MINUTE', + `desc_lng_key` = 'cron_letsencrypt', + `lastrun` = DATE_SUB(NOW(), INTERVAL 5 MINUTE), + `isactive` = 1" + ); + Database::pexecute($stmt); lastStepStatus(0); updateToVersion('0.9.35-dev1'); diff --git a/lng/english.lng.php b/lng/english.lng.php index b039eb72..e24f4f9c 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1929,4 +1929,5 @@ $lng['opcacheinfo']['false'] = 'false'; $lng['domains']['letsencrypt']['title'] = 'Use Let\'s Encrypt'; $lng['domains']['letsencrypt']['description'] = 'Get a free certificate from Let\'s Encrypt. The certificate will be created and renewed automatically.
ATTENTION:This is not possible for wildcard - domains'; $lng['error']['sslredirectonlypossiblewithsslipport'] = 'Using Let\'s Encrypt is only possible when the domain has at least one ssl-enabled IP/port combination assigned.'; -$lng['panel']['letsencrypt'] = 'Using Let\'s encrypt'; \ No newline at end of file +$lng['panel']['letsencrypt'] = 'Using Let\'s encrypt'; +$lng['crondesc']['cron_letsencrypt'] = 'updating Let\'s Encrypt certificates'; \ No newline at end of file