From 6844de8422ad2ffcd1f5c864ea967c8321ac07b7 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Fri, 22 Jan 2016 04:57:06 -0500 Subject: [PATCH] - don't delete .well-known dir if it existed prior to run --- server/plugins-available/apache2_plugin.inc.php | 13 ++++++++++--- server/plugins-available/nginx_plugin.inc.php | 13 ++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 4386a01..e12cb27 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -1166,13 +1166,15 @@ $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 @@ 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 a8ecc74..5ffe771 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -1286,13 +1286,15 @@ $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 @@ 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)) { -- Gitblit v1.9.1