diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 4386a01a46e434c11a5f4a44ab946db46a453b78..e12cb2737dc0664e411ac8f1cadd4da800cc0b0e 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -1166,13 +1166,15 @@ class apache2_plugin { $bundle_tmp_file = "/etc/letsencrypt/live/".$domain."/chain.pem"; $webroot = $data['new']['document_root']."/web"; + $wk_dir_existed = false; + if(is_dir($webroot . '/.well-known')) $wk_dir_existed = true; //* check if we have already a Let's Encrypt cert if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { $app->log("Create Let's Encrypt SSL Cert for: $domain", LOGLEVEL_DEBUG); - if(is_dir($webroot . "/.well-known/")) { + if(is_dir($webroot . "/.well-known/acme-challenge/")) { $app->log("Remove old challenge directory", LOGLEVEL_DEBUG); - $this->_exec("rm -rf " . $webroot . "/.well-known/"); + $this->_exec("rm -rf " . $webroot . "/.well-known/acme-challenge/"); } $app->log("Create challenge directory", LOGLEVEL_DEBUG); @@ -1187,7 +1189,12 @@ class apache2_plugin { if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) { $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path " . escapeshellarg($webroot)); } - }; + } + if($wk_dir_existed == false && is_dir($webroot . '/.well-known')) { + $this->_exec("rm -rf " . $webroot . "/.well-known"); + } elseif(is_dir($webroot . "/.well-known/acme-challenge/")) { + $this->_exec("rm -rf " . $webroot . "/.well-known/acme-challenge/"); + } //* check is been correctly created if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) { diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index a8ecc74329d35b8836e8d8b2e588e7f5fc1f550e..5ffe7719e143885554a71f07e298dea6b9eed669 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -1286,13 +1286,15 @@ class nginx_plugin { $key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem"; $webroot = $data['new']['document_root']."/web"; + $wk_dir_existed = false; + if(is_dir($webroot . '/.well-known')) $wk_dir_existed = true; //* check if we have already a Let's Encrypt cert if(!file_exists($crt_tmp_file) && !file_exists($key_tmp_file)) { $app->log("Create Let's Encrypt SSL Cert for: $domain", LOGLEVEL_DEBUG); - if(is_dir($webroot . "/.well-known/")) { + if(is_dir($webroot . "/.well-known/acme-challenge/")) { $app->log("Remove old challenge directory", LOGLEVEL_DEBUG); - $this->_exec("rm -rf " . $webroot . "/.well-known/"); + $this->_exec("rm -rf " . $webroot . "/.well-known/acme-challenge/"); } $app->log("Create challenge directory", LOGLEVEL_DEBUG); @@ -1307,7 +1309,12 @@ class nginx_plugin { if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt")) { $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth --text --agree-tos --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@$domain --domains $lddomain --webroot-path " . escapeshellarg($webroot)); } - }; + } + if($wk_dir_existed == false && is_dir($webroot . '/.well-known')) { + $this->_exec("rm -rf " . $webroot . "/.well-known"); + } elseif(is_dir($webroot . "/.well-known/acme-challenge/")) { + $this->_exec("rm -rf " . $webroot . "/.well-known/acme-challenge/"); + } //* check is been correctly created if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) {