Marius Burkard
2015-12-14 6b15d5f4e18578acb46be3babc46b7a9d3a9299c
server/plugins-available/apache2_plugin.inc.php
@@ -1091,12 +1091,16 @@
      // Make sure we only have Unix linebreaks
      $vhost_data['apache_directives'] = str_replace("\r\n", "\n", $vhost_data['apache_directives']);
      $vhost_data['apache_directives'] = str_replace("\r", "\n", $vhost_data['apache_directives']);
      $trans = array('{DOCROOT}' => $vhost_data['web_document_root_www']);
      $trans = array(
         '{DOCROOT}' => $vhost_data['web_document_root_www'],
         '{DOCROOT_CLIENT}' => $vhost_data['web_document_root']
      );
      $vhost_data['apache_directives'] = strtr($vhost_data['apache_directives'], $trans);
      // Check if a SSL cert exists
      $ssl_dir = $data['new']['document_root'].'/ssl';
      $domain = $data['new']['ssl_domain'];
      if(!$domain) $domain = $data['new']['domain'];
      $key_file = $ssl_dir.'/'.$domain.'.key';
      $crt_file = $ssl_dir.'/'.$domain.'.crt';
      $bundle_file = $ssl_dir.'/'.$domain.'.bundle';
@@ -1113,6 +1117,12 @@
      //* Generate Let's Encrypt SSL certificat
      if($data['new']['ssl'] == 'y' && $data['new']['ssl_letsencrypt'] == 'y') {
         if(substr($domain, 0, 2) === '*.') {
            // wildcard domain not yet supported by letsencrypt!
            $app->log('Wildcard domains not yet supported by letsencrypt, so changing ' . $domain . ' to ' . substr($domain, 2), LOGLEVEL_WARN);
            $domain = substr($domain, 2);
         }
         $data['new']['ssl_domain'] = $domain;
         $vhost_data['ssl_domain'] = $domain;
@@ -1146,7 +1156,7 @@
               $app->system->chmod($webroot . "/.well-known/acme-challenge", "g+s");
               
               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 --webroot-path --email postmaster@$domain --domains $lddomain --webroot-path " . escapeshellarg($webroot));
                  $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));
               }
            };