diff --git a/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php b/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php index 4767732d..677d1cbe 100644 --- a/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php +++ b/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php @@ -6,6 +6,7 @@ use Froxlor\Settings; use Froxlor\Database\Database; use Froxlor\PhpHelper; use Froxlor\Domain\Domain; +use Froxlor\FileDir; /** * This file is part of the Froxlor project. @@ -490,7 +491,7 @@ class AcmeSh extends \Froxlor\Cron\FroxlorCron private static function checkFsFilesAreNewer($domain, $cert_date = 0) { - $certificate_folder = dirname(self::$acmesh) . "/" . $domain; + $certificate_folder = self::getWorkingDirFromEnv($domain); if (Settings::Get('system.leecc') > 0) { $certificate_folder .= "_ecc"; } @@ -506,6 +507,27 @@ class AcmeSh extends \Froxlor\Cron\FroxlorCron return false; } + public static function getWorkingDirFromEnv($domain = "") + { + $env_file = FileDir::makeCorrectFile(dirname(self::$acmesh) . '/acme.sh.env'); + if (file_exists($env_file)) { + $output = []; + $cut = << 0) { $certificate_folder_noecc = \Froxlor\FileDir::makeCorrectDir($certificate_folder); diff --git a/lib/Froxlor/Domain/Domain.php b/lib/Froxlor/Domain/Domain.php index 8072019b..675b897f 100644 --- a/lib/Froxlor/Domain/Domain.php +++ b/lib/Froxlor/Domain/Domain.php @@ -329,9 +329,9 @@ class Domain public static function doLetsEncryptCleanUp($domainname = null) { // @ see \Froxlor\Cron\Http\LetsEncrypt\AcmeSh.php - $acmesh = "/root/.acme.sh/acme.sh"; + $acmesh = \Froxlor\Cron\Http\LetsEncrypt\AcmeSh::getAcmeSh(); if (file_exists($acmesh)) { - $certificate_folder = dirname($acmesh) . "/" . $domainname; + $certificate_folder = \Froxlor\Cron\Http\LetsEncrypt\AcmeSh::getWorkingDirFromEnv($domainname); if (\Froxlor\Settings::Get('system.leecc') > 0) { $certificate_folder .= "_ecc"; }