From 65625c129fd95d249f0accafd039e9119c0d8866 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Tue, 08 Dec 2015 10:13:39 -0500 Subject: [PATCH] Revert "- Merged https://github.com/alexalouit/ISPConfig-letsencrypt.git" --- interface/web/sites/lib/lang/ar_web_domain.lng | 1 interface/web/sites/lib/lang/id_web_domain.lng | 1 interface/web/sites/lib/lang/bg_web_domain.lng | 1 interface/web/sites/lib/lang/se_web_domain.lng | 1 interface/web/sites/lib/lang/sk_web_domain.lng | 1 interface/web/sites/lib/lang/ja_web_domain.lng | 1 interface/web/sites/lib/lang/it_web_domain.lng | 1 server/plugins-available/apache2_plugin.inc.php | 86 --------------------- interface/web/sites/lib/lang/el_web_domain.lng | 1 interface/web/sites/lib/lang/hu_web_domain.lng | 1 server/plugins-available/nginx_plugin.inc.php | 77 ------------------- interface/web/sites/form/web_domain.tform.php | 6 - interface/web/sites/lib/lang/nl_web_domain.lng | 1 interface/web/sites/lib/lang/de_web_domain.lng | 1 interface/web/sites/lib/lang/ro_web_domain.lng | 1 interface/web/sites/lib/lang/en_web_domain.lng | 1 interface/web/sites/lib/lang/br_web_domain.lng | 1 interface/web/sites/lib/lang/hr_web_domain.lng | 1 interface/web/sites/lib/lang/ru_web_domain.lng | 1 interface/web/sites/lib/lang/fr_web_domain.lng | 1 interface/web/sites/lib/lang/pt_web_domain.lng | 1 interface/web/sites/lib/lang/pl_web_domain.lng | 1 interface/web/sites/lib/lang/fi_web_domain.lng | 1 interface/web/sites/lib/lang/cz_web_domain.lng | 1 interface/web/sites/templates/web_domain_edit.htm | 16 --- 25 files changed, 2 insertions(+), 204 deletions(-) diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index de5164d..16a0c85 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -232,12 +232,6 @@ 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), - 'ssl_letsencrypt' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n', 1 => 'y') - ), 'php' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', diff --git a/interface/web/sites/lib/lang/ar_web_domain.lng b/interface/web/sites/lib/lang/ar_web_domain.lng index a8928e2..1714b64 100644 --- a/interface/web/sites/lib/lang/ar_web_domain.lng +++ b/interface/web/sites/lib/lang/ar_web_domain.lng @@ -28,7 +28,6 @@ $wb['errordocs_txt'] = 'Own Error-Documents'; $wb['subdomain_txt'] = 'Auto-Subdomain'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Client'; diff --git a/interface/web/sites/lib/lang/bg_web_domain.lng b/interface/web/sites/lib/lang/bg_web_domain.lng index 5d6d786..594b6f2 100644 --- a/interface/web/sites/lib/lang/bg_web_domain.lng +++ b/interface/web/sites/lib/lang/bg_web_domain.lng @@ -26,7 +26,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Собствени страници за грешки'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Клиент'; diff --git a/interface/web/sites/lib/lang/br_web_domain.lng b/interface/web/sites/lib/lang/br_web_domain.lng index 9c5192e..21525c5 100644 --- a/interface/web/sites/lib/lang/br_web_domain.lng +++ b/interface/web/sites/lib/lang/br_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = 'Suas Páginas de Erro'; $wb['subdomain_txt'] = 'Auto-Subdomínio'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Cliente'; diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_domain.lng index 7c1e910..64eccd2 100644 --- a/interface/web/sites/lib/lang/cz_web_domain.lng +++ b/interface/web/sites/lib/lang/cz_web_domain.lng @@ -27,7 +27,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['subdomain_txt'] = 'Automatická subdoména'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klient'; diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng index 260aef1..b90ff9a 100644 --- a/interface/web/sites/lib/lang/de_web_domain.lng +++ b/interface/web/sites/lib/lang/de_web_domain.lng @@ -27,7 +27,6 @@ $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; diff --git a/interface/web/sites/lib/lang/el_web_domain.lng b/interface/web/sites/lib/lang/el_web_domain.lng index bb544bd..b2792ce 100644 --- a/interface/web/sites/lib/lang/el_web_domain.lng +++ b/interface/web/sites/lib/lang/el_web_domain.lng @@ -30,7 +30,6 @@ $wb['errordocs_txt'] = 'Προσωπικά έγγραφα σφάλματος'; $wb['subdomain_txt'] = 'Auto-Subdomain'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Πελάτης'; diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng index 38675dc..14b3d52 100644 --- a/interface/web/sites/lib/lang/en_web_domain.lng +++ b/interface/web/sites/lib/lang/en_web_domain.lng @@ -33,7 +33,6 @@ $wb["errordocs_txt"] = 'Own Error-Documents'; $wb["subdomain_txt"] = 'Auto-Subdomain'; $wb["ssl_txt"] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb["suexec_txt"] = 'SuEXEC'; $wb["php_txt"] = 'PHP'; $wb["client_txt"] = 'Client'; diff --git a/interface/web/sites/lib/lang/fi_web_domain.lng b/interface/web/sites/lib/lang/fi_web_domain.lng index 3070aa0..e13fb8f 100755 --- a/interface/web/sites/lib/lang/fi_web_domain.lng +++ b/interface/web/sites/lib/lang/fi_web_domain.lng @@ -25,7 +25,6 @@ $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Asiakas'; diff --git a/interface/web/sites/lib/lang/fr_web_domain.lng b/interface/web/sites/lib/lang/fr_web_domain.lng index 7dea746..7c01ca3 100644 --- a/interface/web/sites/lib/lang/fr_web_domain.lng +++ b/interface/web/sites/lib/lang/fr_web_domain.lng @@ -25,7 +25,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Pages derreurs personnalisées'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Client'; diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_domain.lng index c7b0e4a..ddcbdbc 100644 --- a/interface/web/sites/lib/lang/hr_web_domain.lng +++ b/interface/web/sites/lib/lang/hr_web_domain.lng @@ -30,7 +30,6 @@ $wb['errordocs_txt'] = 'Vlastite error stranice'; $wb['subdomain_txt'] = 'Automatska poddomena'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klijent'; diff --git a/interface/web/sites/lib/lang/hu_web_domain.lng b/interface/web/sites/lib/lang/hu_web_domain.lng index 9b3ff59..3fc994e 100644 --- a/interface/web/sites/lib/lang/hu_web_domain.lng +++ b/interface/web/sites/lib/lang/hu_web_domain.lng @@ -26,7 +26,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Saját hibaoldal'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['disabled_txt'] = 'Letiltva'; diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_domain.lng index 3506258..8ed9ad9 100644 --- a/interface/web/sites/lib/lang/id_web_domain.lng +++ b/interface/web/sites/lib/lang/id_web_domain.lng @@ -28,7 +28,6 @@ $wb['errordocs_txt'] = 'Dokumen-Kesalahan Pribadi'; $wb['subdomain_txt'] = 'Subdomain Otomatis'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klien'; diff --git a/interface/web/sites/lib/lang/it_web_domain.lng b/interface/web/sites/lib/lang/it_web_domain.lng index fcf69b4..5a2bdf5 100644 --- a/interface/web/sites/lib/lang/it_web_domain.lng +++ b/interface/web/sites/lib/lang/it_web_domain.lng @@ -26,7 +26,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Errori personalizzati'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Cliente'; diff --git a/interface/web/sites/lib/lang/ja_web_domain.lng b/interface/web/sites/lib/lang/ja_web_domain.lng index 2a34ff8..41ce471 100644 --- a/interface/web/sites/lib/lang/ja_web_domain.lng +++ b/interface/web/sites/lib/lang/ja_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = '独自のエラーページを使う'; $wb['subdomain_txt'] = '自動サブドメイン'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'クライアント'; diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_domain.lng index e1ecbf2..aa3134b 100644 --- a/interface/web/sites/lib/lang/nl_web_domain.lng +++ b/interface/web/sites/lib/lang/nl_web_domain.lng @@ -30,7 +30,6 @@ $wb['errordocs_txt'] = 'Own Error-documenten'; $wb['subdomain_txt'] = 'Auto-subdomein'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klant'; diff --git a/interface/web/sites/lib/lang/pl_web_domain.lng b/interface/web/sites/lib/lang/pl_web_domain.lng index e3f5171..858b35c 100644 --- a/interface/web/sites/lib/lang/pl_web_domain.lng +++ b/interface/web/sites/lib/lang/pl_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = 'Własne strony błędów'; $wb['subdomain_txt'] = 'Automatyczna subdomena'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klient'; diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_domain.lng index e279f8d..ac0f7f7 100644 --- a/interface/web/sites/lib/lang/pt_web_domain.lng +++ b/interface/web/sites/lib/lang/pt_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = 'Páginas de Erro'; $wb['subdomain_txt'] = 'Auto-Subdomínio'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Cliente'; diff --git a/interface/web/sites/lib/lang/ro_web_domain.lng b/interface/web/sites/lib/lang/ro_web_domain.lng index 9dbd4c1..d4667d0 100644 --- a/interface/web/sites/lib/lang/ro_web_domain.lng +++ b/interface/web/sites/lib/lang/ro_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = 'Own Error-Documents'; $wb['subdomain_txt'] = 'Auto-Subdomain'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Client'; diff --git a/interface/web/sites/lib/lang/ru_web_domain.lng b/interface/web/sites/lib/lang/ru_web_domain.lng index 8e94444..06d82c1 100644 --- a/interface/web/sites/lib/lang/ru_web_domain.lng +++ b/interface/web/sites/lib/lang/ru_web_domain.lng @@ -25,7 +25,6 @@ $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Клиент'; diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng index eb9e787..d25c8b1 100644 --- a/interface/web/sites/lib/lang/se_web_domain.lng +++ b/interface/web/sites/lib/lang/se_web_domain.lng @@ -26,7 +26,6 @@ $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Own Error-Documents'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Client'; diff --git a/interface/web/sites/lib/lang/sk_web_domain.lng b/interface/web/sites/lib/lang/sk_web_domain.lng index affc3f2..e38610d 100644 --- a/interface/web/sites/lib/lang/sk_web_domain.lng +++ b/interface/web/sites/lib/lang/sk_web_domain.lng @@ -27,7 +27,6 @@ $wb['errordocs_txt'] = 'Vlastné Error-Dokumenty'; $wb['subdomain_txt'] = 'Auto-Subdomény'; $wb['ssl_txt'] = 'SSL'; -$wb['ssl_letsencrypt_txt'] = 'Let\'s Encrypt'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Klient'; diff --git a/interface/web/sites/templates/web_domain_edit.htm b/interface/web/sites/templates/web_domain_edit.htm index 2ac3bcb..d12c3a3 100644 --- a/interface/web/sites/templates/web_domain_edit.htm +++ b/interface/web/sites/templates/web_domain_edit.htm @@ -130,12 +130,6 @@ <div class="multiField"> {tmpl_var name='ssl'} </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='ssl_letsencrypt_txt'}</p> - <div class="multiField"> - {tmpl_var name='ssl_letsencrypt'} - </div> </div></tmpl_if> <div class="ctrlHolder"> <label for="php">{tmpl_var name='php_txt'}</label> @@ -267,11 +261,5 @@ submitForm('pageForm','sites/web_domain_edit.php'); }); </tmpl_if> - - jQuery('input#ssl_letsencrypt').bind('change', function() { - if(jQuery('input#ssl_letsencrypt').is(":checked")) jQuery('input#ssl').prop('checked', true); - }); - jQuery('input#ssl').bind('change', function() { - if(jQuery('input#ssl_letsencrypt').is(":checked")) jQuery('input#ssl_letsencrypt').prop('checked', false); - }); -</script> + +</script> \ No newline at end of file diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index e6797d7..54a7712 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -950,92 +950,6 @@ } */ - //* Generate Let's Encrypt SSL certificat - if($data['new']['ssl'] == 'y' && $data['new']['ssl_letsencrypt'] == 'y') { - $data['new']['ssl_domain'] = $domain; - $vhost_data['ssl_domain'] = $domain; - - //* be sure to have good domain - $lddomain = (string) "$domain"; - if($data['new']['subdomain'] == "www" OR $data['new']['subdomain'] == "*") { - $lddomain .= (string) " --domains www." . $domain; - } - - $crt_tmp_file = "/etc/letsencrypt/live/".$domain."/cert.pem"; - $key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem"; - $bundle_tmp_file = "/etc/letsencrypt/live/".$domain."/chain.pem"; - $webroot = $data['new']['document_root']."/web"; - - //* 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/")) { - $app->log("Remove old challenge directory", LOGLEVEL_DEBUG); - $this->_exec("rm -rf " . $webroot . "/.well-known/"); - } - - $app->log("Create challenge directory", LOGLEVEL_DEBUG); - $app->system->mkdirpath($webroot . "/.well-known/"); - $app->system->chown($webroot . "/.well-known/", $data['new']['system_user']); - $app->system->chgrp($webroot . "/.well-known/", $data['new']['system_group']); - $app->system->mkdirpath($webroot . "/.well-known/acme-challenge"); - $app->system->chown($webroot . "/.well-known/acme-challenge/", $data['new']['system_user']); - $app->system->chgrp($webroot . "/.well-known/acme-challenge/", $data['new']['system_group']); - $app->system->chmod($webroot . "/.well-known/acme-challenge", "g+s"); - - $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth -a webroot --email postmaster@$domain --domains $lddomain --webroot-path $webroot"); - }; - - //* check is been correctly created - if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) { - $date = date("YmdHis"); - if(is_file($key_file)) { - $app->system->copy($key_file, $key_file.'.old'.$date); - $app->system->chmod($key_file.'.old.'.$date, 0400); - $app->system->unlink($key_file); - } - - if ($web_config["website_symlinks_rel"] == 'y') { - $this->create_relative_link(escapeshellcmd($key_tmp_file), escapeshellcmd($key_file)); - } else { - exec("ln -s ".escapeshellcmd($key_tmp_file)." ".escapeshellcmd($key_file)); - } - - if(is_file($crt_file)) { - $app->system->copy($crt_file, $crt_file.'.old.'.$date); - $app->system->chmod($crt_file.'.old.'.$date, 0400); - $app->system->unlink($crt_file); - } - - if($web_config["website_symlinks_rel"] == 'y') { - $this->create_relative_link(escapeshellcmd($crt_tmp_file), escapeshellcmd($crt_file)); - } else { - exec("ln -s ".escapeshellcmd($crt_tmp_file)." ".escapeshellcmd($crt_file)); - } - - if(is_file($bundle_file)) { - $app->system->copy($bundle_file, $bundle_file.'.old.'.$date); - $app->system->chmod($bundle_file.'.old.'.$date, 0400); - $app->system->unlink($bundle_file); - } - - if($web_config["website_symlinks_rel"] == 'y') { - $this->create_relative_link(escapeshellcmd($bundle_tmp_file), escapeshellcmd($bundle_file)); - } else { - exec("ln -s ".escapeshellcmd($bundle_tmp_file)." ".escapeshellcmd($bundle_file)); - } - - /* we don't need to store it. - /* Update the DB of the (local) Server */ - $app->db->query("UPDATE web_domain SET ssl_request = '', ssl_cert = '$ssl_cert', ssl_key = '$ssl_key' WHERE domain = '".$data['new']['domain']."'"); - $app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); - /* Update also the master-DB of the Server-Farm */ - $app->dbmaster->query("UPDATE web_domain SET ssl_request = '', ssl_cert = '$ssl_cert', ssl_key = '$ssl_key' WHERE domain = '".$data['new']['domain']."'"); - $app->dbmaster->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); - } - }; - if(@is_file($bundle_file)) $vhost_data['has_bundle_cert'] = 1; //$vhost_data['document_root'] = $data['new']['document_root'].'/' . $web_folder; diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index fb2329a..02fb427 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -1102,86 +1102,9 @@ // Check if a SSL cert exists $ssl_dir = $data['new']['document_root'].'/ssl'; - if(!isset($data['new']['ssl_domain']) OR empty($data['new']['ssl_domain'])) { $data['new']['ssl_domain'] = $data['new']['domain']; } $domain = $data['new']['ssl_domain']; - $tpl->setVar('ssl_domain', $domain); $key_file = $ssl_dir.'/'.$domain.'.key'; $crt_file = $ssl_dir.'/'.$domain.'.crt'; - - - $tpl->setVar('ssl_letsencrypt', "n"); - //* Generate Let's Encrypt SSL certificat - if($data['new']['ssl'] == 'y' && $data['new']['ssl_letsencrypt'] == 'y') { - //* be sure to have good domain - $lddomain = (string) "$domain"; - if($data['new']['subdomain'] == "www" OR $data['new']['subdomain'] == "*") { - $lddomain .= (string) " --domains www." . $domain; - } - - $tpl->setVar('ssl_letsencrypt', "y"); - //* TODO: check dns entry is correct - $crt_tmp_file = "/etc/letsencrypt/live/".$domain."/fullchain.pem"; - $key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem"; - $webroot = $data['new']['document_root']."/web"; - - //* 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/")) { - $app->log("Remove old challenge directory", LOGLEVEL_DEBUG); - $this->_exec("rm -rf " . $webroot . "/.well-known/"); - } - - $app->log("Create challenge directory", LOGLEVEL_DEBUG); - $app->system->mkdirpath($webroot . "/.well-known/"); - $app->system->chown($webroot . "/.well-known/", $$data['new']['system_user']); - $app->system->chgrp($webroot . "/.well-known/", $data['new']['system_group']); - $app->system->mkdirpath($webroot . "/.well-known/acme-challenge"); - $app->system->chown($webroot . "/.well-known/acme-challenge/", $data['new']['system_user']); - $app->system->chgrp($webroot . "/.well-known/acme-challenge/", $data['new']['system_group']); - $app->system->chmod($webroot . "/.well-known/acme-challenge", "g+s"); - - $this->_exec("/root/.local/share/letsencrypt/bin/letsencrypt auth -a webroot --email postmaster@$domain --domains $lddomain --webroot-path $webroot"); - }; - - //* check is been correctly created - if(file_exists($crt_tmp_file) OR file_exists($key_tmp_file)) { - $date = date("YmdHis"); -//* TODO: check if is a symlink, if target same keep it, either remove it - if(is_file($key_file)) { - $app->system->copy($key_file, $key_file.'.old'.$date); - $app->system->chmod($key_file.'.old.'.$date, 0400); - $app->system->unlink($key_file); - } - - if ($web_config["website_symlinks_rel"] == 'y') { - $this->create_relative_link(escapeshellcmd($key_tmp_file), escapeshellcmd($key_file)); - } else { - exec("ln -s ".escapeshellcmd($key_tmp_file)." ".escapeshellcmd($key_file)); - } - - if(is_file($crt_file)) { - $app->system->copy($crt_file, $crt_file.'.old.'.$date); - $app->system->chmod($crt_file.'.old.'.$date, 0400); - $app->system->unlink($crt_file); - } - - if($web_config["website_symlinks_rel"] == 'y') { - $this->create_relative_link(escapeshellcmd($crt_tmp_file), escapeshellcmd($crt_file)); - } else { - exec("ln -s ".escapeshellcmd($crt_tmp_file)." ".escapeshellcmd($crt_file)); - } - - /* we don't need to store it. - /* Update the DB of the (local) Server */ - $app->db->query("UPDATE web_domain SET ssl_request = '', ssl_cert = '', ssl_key = '' WHERE domain = '".$data['new']['domain']."'"); - $app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); - /* Update also the master-DB of the Server-Farm */ - $app->dbmaster->query("UPDATE web_domain SET ssl_request = '', ssl_cert = '', ssl_key = '' WHERE domain = '".$data['new']['domain']."'"); - $app->dbmaster->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); - } - }; if($domain!='' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) { $vhost_data['ssl_enabled'] = 1; -- Gitblit v1.9.1