Giter Site home page Giter Site logo

plesk / letsencrypt-plesk Goto Github PK

View Code? Open in Web Editor NEW
180.0 49.0 25.0 5.67 MB

Let’s Encrypt extension for Plesk gives all Plesk users the power to get a free Let’s Encrypt certificate with just a couple of clicks.

Home Page: https://www.plesk.com/extensions/letsencrypt/

letsencrypt-plesk's Introduction

Let's Encrypt Extension for Plesk

This repository is used only for reporting and tracking issues and feature requests. The extension code itself is not available for viewing or editing in this repository.

If you want to learn more about the extension and read the latest changelog, open the extension overview page in Plesk or visit Plesk Extension Catalog.

If you have a support inquiry or you'd like to discuss this extension, start a thread in the Plesk Community forum.

letsencrypt-plesk's People

Contributors

alex avatar bkreisel avatar bmw avatar ddworken avatar dnozay avatar erinzm avatar ewust avatar fmarier avatar garrettr avatar hainish avatar hepplerdotnet avatar hlieberman avatar jdkasten avatar jmhodges avatar jsha avatar jsoref avatar kevinlondon avatar kuba avatar lf- avatar lucer avatar martijnbastiaan avatar paravoid avatar pde avatar schoen avatar skorokithakis avatar thomaswaldmann avatar tyll avatar willnewby avatar willoller avatar xgin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

letsencrypt-plesk's Issues

Support for htaccess secured domains

Hello,

the process fails when trying to install or to renew a certificate on a domain which needs authorization (.htaccess username - password).

Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-05 12:13:32,772:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
Failed authorization procedure. example.tld (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://example.tld/.well-known/acme-challenge/....[xxx.xxx.xxx.xxx]: 401
IMPORTANT NOTES:

  • The following 'urn:acme:error:unauthorized' errors were reported by
    the server:

Domains: example.tld
Error: The client lacks sufficient authorization

I would suggest, that the extension can add a rule in htacces-file, so that the token under "example.tld/.well-known/acme-challenge/...." can be read automatically. After installation/renewal, the rule could be removed autmatically.

Saving the previously used e-mail adress

Hi,
At the moment, wehn renewing the Cert manually, the previously used E-mail is overwritten by the profile mail address.
I suggest, that the previously used E-Mail Address is saved.

I don't know what happens when the Cert is renewed automatically, but i hope, that the previously used mail address is used again.

Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution:

I notice the SSL Cert install fails on occasion and I typically get the following error.

Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution (etc...)

Here's a use case.
VPS 02 hosts domain.com and the site is live with the DNS pointing at it.

I copy the site to VPS 02 for testing and am using the PLESK preview URL.
The DNS is not switched over because I am testing.
Is there any way to get around this? The full error is below.

Apart from the Python error which I think is separate, there is an error about not finding
".well-known/acme-challenge" etc on the domain.

Error: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: /usr/local/psa/var/modules/letsencrypt/venv.FVUDD/lib/python2.6/site-packages/cryptography/init.py:25: DeprecationWarning: Python 2.6 is no longer supported by the > > Python core team, please upgrade your Python.
DeprecationWarning
2015-12-06 15:56:31,977:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
/usr/local/psa/var/modules/letsencrypt/venv.FVUDD/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:789: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
InsecureRequestWarning)
Failed authorization procedure. edenstudios.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://domain.com/.well-known/acme-challenge/-l2tp0lISSfUh-zbQjSZa6sw6_l02WEnSmN8in6JD0o [XXX.78.0.XXX]: 403
IMPORTANT NOTES:

  • The following 'urn:acme:error:unauthorized' errors were reported by
    the server:

Domains: domain.com
Error: The client lacks sufficient authorization

Installation fails on post-install.php with an Permission denied error

When I try to install the Let's Encrypt on my Plesk 12.5.30 on Ubuntu 12.04.1 LTS‬ I get the following error:

Executing /opt/psa/admin/plib/modules/letsencrypt/scripts/post-install.php failed: sh: 1: /opt/psa/admin/bin/modules/letsencrypt/le-installer: Permission denied

What to do to correct the permission issues?

Subdomain support

Let's say, the domain in Plesk is domain.com, will there be an option to have the certificate include subdomains like www.domain.com?

Are you aware of a workaround to create a certificate for www.domain.com through this plugin?

Segmentation fault while creating a new certificate

When I try to create a new certificate I get:

Error: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: /usr/local/psa/var/modules/letsencrypt/venv.BADTz/lib/python2.6/site-packages/cryptography/init.py:25: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python.
DeprecationWarning
/usr/local/psa/admin/plib/modules/letsencrypt/scripts/le-run: line 23: 14371 Segmentation fault "$LE_HOME/venv/bin/letsencrypt" $config --renew-by-default --no-redirect --agree-tos --text --config-dir "${LE_HOME}/etc" --work-dir "${LE_HOME}/lib" --logs-dir "${LE_HOME}/logs" --authenticator letsencrypt-plesk:plesk --installer letsencrypt-plesk:plesk $@

I am using:
OS ‪CentOS 6.7 (Final)‬
Plesk version 12.5.30 Update #17
Let's Encrypt 1.2-1

Thanks for your help.

Location of Certificates

Normally the certificates are saved to /etc/letsencrypt. Where do you save them? Or are they only stored in the database?

Get certificate for Plesk domain

Is it possible to use this extension to get a certificate for the Plesk main domain?

Also being able to install these certificates for Mail, FTP and Webmail... would be very useful.

Certificate for subdomain

If i want to get an certificate for an subdomain e.g. mysubdomain.domain.tld the extension wants to renew the certificate for domain.tld and not create a new certificate for the subdomain.

Create certificate for the panel

Hello,
please add the option to create an cerfiticate for the panel itself. So wen can connect to it with an trused and secure connection.

Error: The component __perl_unix_support was not installed

I was able to install a couple of certificates without problems. Suddenly I got this error.

Error: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 
2015-12-04 22:08:44,921:WARNING:letsencrypt.cli:Root (sudo) is required to run most of
letsencrypt functionality.
Assign certificate failure: Error: The component __perl_unix_support was not installed
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at /opt
/psa/var/modules/letsencrypt/etc/live/domain.net/fullchain.pem
. Your cert will expire on 2016-03-03. To obtain a new version of
the certificate in the future, simply run Let's Encrypt again.

So the certs seem to be generated but couldn't be installed for some reason.

Multiple subscriptions per 1 client - same domain "path" - Unable to set certificate name

OS: Debian 8.2‬
Plesk version: 12.5.30 Update #18, last updated at Dec 31, 2015 06:26 AM
Let's Encrypt: 1.2, release 1

How to reproduce:

  • create customer and subscription with existing root-domain, eg. example.com
  • create additional subscription for the same customer, but with sub-domain for the same root-domain, eg. s0.example.com (I need this because I've set different shared IP address for this sub-domain - cannot set different shared IP addresses per domain/subdomain on a single subscription)
  • try to create/renew certificate for root-domain or sub-domain (doesn't care which one) - result: you get errors below - seems like bug in ioncube-encoded Plesk extension in this reproducable situation...
  • if I delete one of the subscriptions - everything is ok, seems like extension can't get list of domains correctly or something like that.
[31-Dec-2015 11:56:04 Europe/Helsinki] PHP Warning: Invalid argument supplied for foreach(); File: /opt/psa/admin/plib/modules/letsencrypt/library/Helper/DomainManipulator.php, Line: 26
[2015-12-31 11:56:04] ERR [1] PHP Warning: Invalid argument supplied for foreach(); File: /opt/psa/admin/plib/modules/letsencrypt/library/Helper/DomainManipulator.php, Line: 26
[2015-12-31 11:56:04] ERR [panel] Let&#039;s Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-31 11:55:58,032:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.<br />
Install certificate failure: Unable to set certificate name :<br />
IMPORTANT NOTES:<br />
 - Congratulations! Your certificate and chain have been saved at /opt<br />
   /psa/var/modules/letsencrypt/etc/live/example.com/fullchain.pem.<br />
   Your cert will expire on 2016-03-30. To obtain a new version of the<br />
   certificate in the future, simply run Let&#039;s Encrypt again.

Additional User Account error: Permission denied

Only the "admin" username in my Plesk install is allowing certs to be added. I have another administrator account with all the same permissions as the "admin" account, and "Error: Permission denied." is displayed when trying to open the LetsEncrypt extension under that user, even for webspaces which they have created.

Unable to set certificate name

Hello,
i am unable to update/install an certificate for an subdomain. The Plesk-API responses with this error:
Install certificate failure: Unable to set certificate name :

Port 8443 (HTTPS) self connection issue

The PERL script located /opt/psa/var/modules/letsencrypt/venv.VJFRQ/lib/python2.7/site-packages/letsencrypt_plesk/api_client.py is set to port 8443. Now I didn't read all the script/plugin and research how it works but some people/hosts use alternative GUI port with disabled port 8443 or under firewall. I was unable to use this extension until changing the port to my interface port.

Q: Is it possible to detect Plesk (API?) port prior attempting connection?
THANK YOU for this awesome extension it makes Certificates issuing EXTREMELY EASY!

How to? "Corrupted meta.xml file."

Betriebssystem ‪CentOS 6.7 (Final)‬
Plesk Version 12.5.30 Update #12

I am trying to add this ls plesk module / extension ... Error Message: "Corrupted meta.xml file."

AttributeError: 'module' object has no attribute 'SSL_set_tlsext_host_name'

This is the complete history on my RHEL 5 host:

[root@www ~]# git clone https://github.com/plesk/letsencrypt-plesk.git
Cloning into 'letsencrypt-plesk'...
remote: Counting objects: 21208, done.
remote: Total 21208 (delta 0), reused 0 (delta 0), pack-reused 21208
Receiving objects: 100% (21208/21208), 5.56 MiB | 1.85 MiB/s, done.
Resolving deltas: 100% (14783/14783), done.
[root@www ~]# cd letsencrypt-plesk/
[root@www letsencrypt-plesk]# sed -i "s|--python python2|--python python2.7|" letsencrypt-auto
[root@www letsencrypt-plesk]# virtualenv-2.7 /root/.local/share/letsencrypt-plesk
New python executable in /root/.local/share/letsencrypt-plesk/bin/python2.7
Also creating executable in /root/.local/share/letsencrypt-plesk/bin/python
Installing setuptools, pip, wheel...done.
[root@www letsencrypt-plesk]# source /root/.local/share/letsencrypt-plesk/bin/activate
(letsencrypt-plesk)[root@www letsencrypt-plesk]# ./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --verbose
Bootstrapping dependencies for RedHat-based OSes...
yum is /usr/bin/yum
Loaded plugins: downloadonly, replace, rhnplugin, security
This system is receiving updates from RHN Classic or Red Hat Satellite.
epel                                                                                                                                                                  | 3.6 kB     00:00     
rackspace-rhel-x86_64-server-5-common                                                                                                                                 | 1.1 kB     00:00     
rackspace-rhel-x86_64-server-5-ius                                                                                                                                    | 1.1 kB     00:00     
res5-suse-manager-tools-x86_64                                                                                                                                        | 1.4 kB     00:00     
res5-x86_64                                                                                                                                                           | 1.4 kB     00:00     
rhel-x86_64-server-5                                                                                                                                                  | 1.1 kB     00:00     
Not using downloaded repomd.xml because it is older than what we have:
  Current   : Mon May 20 12:51:25 2013
  Downloaded: Mon May 20 07:51:25 2013
saltstack-repo                                                                                                                                                        |  951 B     00:00     
Excluding Packages in global exclude list
Finished
Excluding Packages from Rackspace - RHEL x86_64 Server 5 - Common
Finished
Excluding Packages from Rackspace - RHEL x86_64 Server 5 - IUS
Finished
Excluding Packages from RES5 SUSE-Manager-Tools x86_64
Finished
Excluding Packages from RES5 for x86_64
Finished
Excluding Packages from RHEL x86_64 Server 5
Finished
Setting up Install Process
Package git-1.8.2.1-1.el5.x86_64 already installed and latest version
Package python-2.4.3-56.el5.x86_64 already installed and latest version
Package python-devel-2.4.3-56.el5.x86_64 already installed and latest version
Package 1:python-virtualenv-1.7.2-2.el5.noarch already installed and latest version
Package python-devel-2.4.3-56.el5.x86_64 already installed and latest version
Package gcc-4.1.2-55.el5.x86_64 already installed and latest version
Package dialog-1.0.20051107-1.2.2.x86_64 already installed and latest version
Package augeas-libs-1.2.0-1.el5.x86_64 already installed and latest version
Package openssl-devel-0.9.8e-36.el5_11.x86_64 already installed and latest version
Package libffi-devel-3.0.5-1.el5.x86_64 already installed and latest version
No package ca-certificates available.
Nothing to do
Creating virtual environment...
Running virtualenv with interpreter /root/.local/share/letsencrypt-plesk/bin/python2.7
The --no-site-packages flag is deprecated; it is now the default behavior.
Using real prefix '/usr'
New python executable in /root/.local/share/letsencrypt/bin/python2.7
Also creating executable in /root/.local/share/letsencrypt/bin/python
Overwriting /root/.local/share/letsencrypt/lib64/python2.7/distutils/__init__.py with new content
Installing setuptools..............................done.
Installing pip............................done.
Updating letsencrypt and virtual environment dependencies...
Collecting setuptools
  Using cached setuptools-18.5-py2.py3-none-any.whl
Installing collected packages: setuptools
  Found existing installation: setuptools 0.6rc11
    Uninstalling setuptools-0.6rc11:
      Successfully uninstalled setuptools-0.6rc11
Successfully installed setuptools-18.5
Requirement already up-to-date: pip in /root/.local/share/letsencrypt/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg
Collecting letsencrypt
  Using cached letsencrypt-0.0.0.dev20151104-py2-none-any.whl
Collecting letsencrypt-apache
  Using cached letsencrypt_apache-0.0.0.dev20151104-py2-none-any.whl
Collecting zope.interface (from letsencrypt)
Requirement already up-to-date: setuptools in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Collecting python2-pythondialog>=3.2.2rc1 (from letsencrypt)
Collecting PyOpenSSL (from letsencrypt)
  Using cached pyOpenSSL-0.15.1-py2.py3-none-any.whl
Collecting requests (from letsencrypt)
  Using cached requests-2.8.1-py2.py3-none-any.whl
Collecting ConfigArgParse (from letsencrypt)
Collecting parsedatetime (from letsencrypt)
  Using cached parsedatetime-1.5-py2-none-any.whl
Collecting configobj (from letsencrypt)
Collecting pytz (from letsencrypt)
  Using cached pytz-2015.7-py2.py3-none-any.whl
Collecting psutil>=2.1.0 (from letsencrypt)
Collecting six (from letsencrypt)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting cryptography>=0.7 (from letsencrypt)
Collecting zope.component (from letsencrypt)
Collecting mock (from letsencrypt)
  Using cached mock-1.3.0-py2.py3-none-any.whl
Collecting acme==0.0.0.dev20151104 (from letsencrypt)
  Using cached acme-0.0.0.dev20151104-py2-none-any.whl
Collecting pyrfc3339 (from letsencrypt)
Collecting python-augeas (from letsencrypt-apache)
Collecting enum34 (from cryptography>=0.7->letsencrypt)
Collecting ipaddress (from cryptography>=0.7->letsencrypt)
  Using cached ipaddress-1.0.14-py27-none-any.whl
Collecting pyasn1>=0.1.8 (from cryptography>=0.7->letsencrypt)
  Using cached pyasn1-0.1.9-py2.py3-none-any.whl
Collecting idna>=2.0 (from cryptography>=0.7->letsencrypt)
  Using cached idna-2.0-py2.py3-none-any.whl
Collecting cffi>=1.1.0 (from cryptography>=0.7->letsencrypt)
Collecting zope.event (from zope.component->letsencrypt)
Collecting funcsigs (from mock->letsencrypt)
  Using cached funcsigs-0.4-py2.py3-none-any.whl
Collecting pbr>=0.11 (from mock->letsencrypt)
  Using cached pbr-1.8.1-py2.py3-none-any.whl
Collecting ndg-httpsclient (from acme==0.0.0.dev20151104->letsencrypt)
Collecting werkzeug (from acme==0.0.0.dev20151104->letsencrypt)
  Using cached Werkzeug-0.10.4-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.1.0->cryptography>=0.7->letsencrypt)
Installing collected packages: zope.interface, python2-pythondialog, six, enum34, ipaddress, pyasn1, idna, pycparser, cffi, cryptography, PyOpenSSL, requests, ConfigArgParse, parsedatetime, configobj, pytz, psutil, zope.event, zope.component, funcsigs, pbr, mock, ndg-httpsclient, werkzeug, pyrfc3339, acme, letsencrypt, python-augeas, letsencrypt-apache
Successfully installed ConfigArgParse-0.9.3 PyOpenSSL-0.15.1 acme-0.0.0.dev20151104 cffi-1.3.0 configobj-5.0.6 cryptography-1.1 enum34-1.0.4 funcsigs-0.4 idna-2.0 ipaddress-1.0.14 letsencrypt-0.0.0.dev20151104 letsencrypt-apache-0.0.0.dev20151104 mock-1.3.0 ndg-httpsclient-0.4.0 parsedatetime-1.5 pbr-1.8.1 psutil-3.2.2 pyasn1-0.1.9 pycparser-2.14 pyrfc3339-0.2 python-augeas-0.5.0 python2-pythondialog-3.3.0 pytz-2015.7 requests-2.8.1 six-1.10.0 werkzeug-0.10.4 zope.component-4.2.2 zope.event-4.1.0 zope.interface-4.1.3
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --verbose
Version: 1.0-20051107

























                                                         ┌──────────────────────────────────────────────────────────────────────┐
                                                         │ Saving debug log to /var/log/letsencrypt/letsencrypt.log             │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         └──────────────────────────────────────────────────────────────────────┘  

Version: 1.0-20051107
No installers are available on your OS yet; try running "letsencrypt-auto certonly" to get a cert you can install manually
(letsencrypt-plesk)[root@www letsencrypt-plesk]# ./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --verbose certonly
Updating letsencrypt and virtual environment dependencies...
Requirement already up-to-date: setuptools in /root/.local/share/letsencrypt/lib/python2.7/site-packages
Requirement already up-to-date: pip in /root/.local/share/letsencrypt/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg
Requirement already up-to-date: letsencrypt in /root/.local/share/letsencrypt/lib/python2.7/site-packages
Requirement already up-to-date: letsencrypt-apache in /root/.local/share/letsencrypt/lib/python2.7/site-packages
Requirement already up-to-date: zope.interface in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: setuptools in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: python2-pythondialog>=3.2.2rc1 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: PyOpenSSL in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: requests in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: ConfigArgParse in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: parsedatetime in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: configobj in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: pytz in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: psutil>=2.1.0 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: six in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: cryptography>=0.7 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: zope.component in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: mock in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: acme==0.0.0.dev20151104 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: pyrfc3339 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: python-augeas in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt-apache)
Requirement already up-to-date: enum34 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: ipaddress in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: pyasn1>=0.1.8 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: idna>=2.0 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: cffi>=1.1.0 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: zope.event in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from zope.component->letsencrypt)
Requirement already up-to-date: funcsigs in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from mock->letsencrypt)
Requirement already up-to-date: pbr>=0.11 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from mock->letsencrypt)
Requirement already up-to-date: ndg-httpsclient in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from acme==0.0.0.dev20151104->letsencrypt)
Requirement already up-to-date: werkzeug in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from acme==0.0.0.dev20151104->letsencrypt)
Requirement already up-to-date: pycparser in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cffi>=1.1.0->cryptography>=0.7->letsencrypt)
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --verbose certonly
Version: 1.0-20051107

























                                                         ┌──────────────────────────────────────────────────────────────────────┐
                                                                                                               │ Saving debug log to /var/log/letsencrypt/letsencrypt.log             │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         └──────────────────────────────────────────────────────────────────────┘  

Version: 1.0-20051107































                                                         ┌──────────────────────────────────────────────────────────────────────┐
                                                         │ Enter email address (used for urgent notices and lost key recovery)  │  
                                                         │ ┌──────────────────────────────────────────────────────────────────┐ │  
                                                         │ │[email protected]                                                 │ │  
                                                         │ └──────────────────────────────────────────────────────────────────┘ │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         ├──────────────────────────────────────────────────────────────────────┤  
                                                         │                     <  OK  >           <Cancel>                      │  
                                                         └──────────────────────────────────────────────────────────────────────┘  
































                                                         ┌──────────────────────────────────────────────────────────────────────┐
                                                         │ Saving debug log to /var/log/letsencrypt/letsencrypt.log             │  
                                                         │ Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         │                                                                      │  
                                                         └──────────────────────────────────────────────────────────────────────┘  

An unexpected error occurred.
AttributeError: 'module' object has no attribute 'SSL_set_tlsext_host_name'
Please see the logfiles in /var/log/letsencrypt for more details.

I had also previously submitted this same error on the upstream project. at certbot/certbot#1333 (comment), but I figure this projects developers are different form the upstream one? Sorry if this is not a correct assumption.

Created certificates are not valid

Hi,

some weeks ago, i created the certificates for 3 domains without the plugin on the server, including the www and non-www version of the domain.

1 of this domains is a non-www variant the other 2 will be redirected to the www variant.

These behavior is configured in the hosting settings of the domains as prefered domain (www/non-www)

I have no problems with the non-www domain, as the plugin created certificate is up and running.

But: all www-domain generated certificates are unsafe with an

NET::ERR_CERT_COMMON_NAME_INVALID error in Chrome.

any ideas or hint´s, how i can solve this problem?

// Oliver

Support for domain aliases

For a website with multiple second level domains it should be possible to also add any domain aliases to the certificate.
Right now certificates can be generated for domain.tld and optionally www.domain.tld. If there is a another domain like alias.tld configured as an alias in Plesk it would be great to have an option to also include alias.tld and www.alias.tld as alternative domain names.

Bulk function for every domain

Is it possible to bulk-letsencryptify all domains on the extensions list? With a big number of domains it doesn't seem to make sense to order a certificate one-by-one.

Thanks in advance!

Problems with Generating for Server Cert

I didn't find the Error.
I want to create a new certificate for the site, its the same name like the hostname.
But i want it to use as Server Certifiacate, for Plesk and Something, but i get always this Messge in Plesk.

Plesk:
Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-31 14:48:28,832:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality. An unexpected error occurred: KeyError: 'vrt_hst' Please see the logfiles in /opt/psa/var/modules/letsencrypt/logs for more details.

The Logs are longer, but the rest of the Log is uninteresting. Only funny that tail say he didn't find the log, but can write in a existing log.

Logs:

2015-12-31 14:48:30,498:DEBUG:letsencrypt.error_handler:Encountered exception: Traceback (most recent call last):                                                                                         
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges dv_resp = self.dv_auth.perform(self.dv_c) 
File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 75, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 47, in _put_validation_file
    hosting_props = api_result['data']['hosting']['vrt_hst']['property']
KeyError: 'vrt_hst'

2015-12-31 14:48:30,498:DEBUG:letsencrypt.error_handler:Calling registered functions
2015-12-31 14:48:30,498:INFO:letsencrypt.auth_handler:Cleaning up challenges
2015-12-31 14:48:30,499:DEBUG:letsencrypt.cli:Exiting abnormally:
Traceback (most recent call last):
  File "/opt/psa/var/modules/letsencrypt//venv/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 1396, in main
    return args.func(args, config, plugins)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 557, in run
    lineage = _auth_from_domains(le_client, config, domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 402, in _auth_from_domains
    lineage = le_client.obtain_and_enroll_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
    certr, chain, key, _ = self.obtain_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
    return self._obtain_certificate(domains, csr) + (key, csr)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
    authzr = self.auth_handler.get_authorizations(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 80, in get_authorizations
    cont_resp, dv_resp = self._solve_challenges()
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges
    dv_resp = self.dv_auth.perform(self.dv_c)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 75, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 47, in _put_validation_file
    hosting_props = api_result['data']['hosting']['vrt_hst']['property']
KeyError: 'vrt_hst' ```

Have console command for automated deployment.

We use Ansible to deploy our sites. Right now after deploying we have to go and manually add certificate to the domain. It would be of great help if we could just call /usr/shared/psa/bin/letsencrypt <subscription> and have it created during deployment process automatically.

Mass creation of SSL certificates

I like to create SSL certificates for all my domains on Plesk. I have >100 domains. How can I easily do it without do it manually for each domain?

include CSR organization information

The certificates currently doesn't include CSR organization information.

Plesk also shows this in the certificate details -> CSR section as "The component is missing".

I would expect the "organisation (O)" and/or "organisation unit (OU)" CSR information beeing part of the certificate. This could be extracted from domain owner information.

Or doesn't Let's Encrypt support this?

libffi.so.5: cannot open shared object file

Hi,
when I want to generate a certificate for a sub domain in Plesk I receive the error below. It appears directly after entering the email address and submitting it.
I've updated Plesk and tried to reinstall the plugin, but both had no effect.

Yours Sincerely Nicolas

Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: Traceback (most recent call last):
File "/opt/psa/var/modules/letsencrypt//venv/bin/letsencrypt", line 7, in <module>
from letsencrypt.cli import main
File "/usr/local/psa/var/modules/letsencrypt/venv.rqH6l/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 17, in <module>
import OpenSSL
File "/usr/local/psa/var/modules/letsencrypt/venv.rqH6l/local/lib/python2.7/site-packages/OpenSSL/init.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/local/psa/var/modules/letsencrypt/venv.rqH6l/local/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in <module>
from OpenSSL._util import (
File "/usr/local/psa/var/modules/letsencrypt/venv.rqH6l/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "/usr/local/psa/var/modules/letsencrypt/venv.rqH6l/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 13, in <module>
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: libffi.so.5: cannot open shared object file: No such file or directory

Installation failed with error in ndg-httpsclient

Hello i have a problem when i have installed let's encrypt extension in plesk 12.5 on debian 8 and full install .

Here the error :
Échec de l'installation de l'extension : Executing /opt/psa/admin/plib/modules/letsencrypt/scripts/post-install.php failed: Bootstrapping dependencies for debian jessie... Selecting previously unselected package plesk-letsencrypt-pre. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 158251 files and directories currently installed.) Preparing to unpack .../plesk-letsencrypt-pre_1.0.0-debian8.0.15112715_amd64.deb ... Unpacking plesk-letsencrypt-pre (1.0.0-debian8.0.15112715) ... Setting up plesk-letsencrypt-pre (1.0.0-debian8.0.15112715) ... Creating virtual environment... Updating letsencrypt and virtual environment dependencies... Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-UuwUIV/ndg-httpsclient

Thanks in advance for your help , i speak french sorry for my bad english .

Create cert for webmail

Hello,

could you please add support for creating certificates for the webmail subdomain? So we can use the webmail securly.

Error: The client lacks sufficient authorization

There is no HTTP basic auth. We use apache2 with default Plesk settings. Other domains on the same Plesk system work fine. Why does this happen on this domain?

Fehler: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-29 19:41:41,985:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
Failed authorization procedure. (domain removed) (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from (domain removed).well-known/acme-challenge/fvPZegOuGqdIoPQy5tLIMAdCfpxfFsIIS9ssVKa5p6I [(ip removed)]: 403, (domain removed)(http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from (domain removed).well-known/acme-challenge/VhIufP1Ls_LO-5hZH-N2xoriE9p-7x29WEiCot5dknI [(ip removed)]: 403
IMPORTANT NOTES:
- The following 'urn:acme:error:unauthorized' errors were reported by
the server:

Domains: (domain removed), www.(domain removed)
Error: The client lacks sufficient authorization
$ host (domain removed)
(domain removed) has address (ip removed)
(domain removed) has IPv6 address (ip removed)
(domain removed) mail is handled by 10 mail.(domain removed).
$ host www.(domain removed)
www.(domain removed) has address (ip removed)
www.(domain removed) has IPv6 address (ip removed)

Problem with IDN Domains

Looks like the Script has a parsing Issue with IDN Domains ? At least i get this Error due to a Special Character in the XML

UnicodeEncodeError: 'ascii' codec can't encode characters in position 31215-31216: ordinal not in range(128)

Is this supposed to work ? Or maybe an XML Issue with the Plesk API on 12.0.18 or my encoding ?

ExpatError in case Plesk port 8443 is customized

Hi!

I have a problem executing letsencrypt-plesk:

Fehler: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-11 01:45:31,809:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
An unexpected error occurred:
ExpatError: mismatched tag: line 1, column 1027
Please see the logfiles in /opt/psa/var/modules/letsencrypt/logs for more details.

My first guess was, that this error is similar to #13 but this seems to be another error.

Here the contents of /opt/psa/var/modules/letsencrypt/logs/:

2015-12-11 00:45:35,778:INFO:letsencrypt.auth_handler:Performing the following challenges:
2015-12-11 00:45:35,778:INFO:letsencrypt.auth_handler:http-01 challenge for XXX.de
2015-12-11 00:45:35,778:INFO:letsencrypt.auth_handler:http-01 challenge for www.XXX.de
2015-12-11 00:45:35,786:DEBUG:letsencrypt_plesk.api_client:Plesk API-RPC request: <?xml version="1.0" ?><packet><site><get><filter><name>XXX.de</name></filter><dataset><hosting/></dataset></get></site></packet>
2015-12-11 00:45:35,788:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): 127.0.0.1
2015-12-11 00:45:35,952:DEBUG:requests.packages.urllib3.connectionpool:"POST /enterprise/control/agent.php HTTP/1.1" 404 1039
2015-12-11 00:45:35,953:DEBUG:letsencrypt_plesk.api_client:Plesk API-RPC response: <html><head><title>Apache Tomcat/7.0.26 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /enterprise/control/agent.php</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/enterprise/control/agent.php</u></p><p><b>description</b> <u>The requested resource (/enterprise/control/agent.php) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.26</h3></body></html>
2015-12-11 00:45:35,956:DEBUG:letsencrypt.error_handler:Encountered exception:
Traceback (most recent call last):
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges
    dv_resp = self.dv_auth.perform(self.dv_c)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 73, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 40, in _put_validation_file
    response = self.plesk_api_client.request(request)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/api_client.py", line 60, in request
    return XmlToDict(response.text.encode('utf-8'))
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/api_client.py", line 150, in __init__
    dom = parseString(data)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1930, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString
    return builder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
ExpatError: mismatched tag: line 1, column 1027

2015-12-11 00:45:35,957:DEBUG:letsencrypt.error_handler:Calling registered functions
2015-12-11 00:45:35,957:INFO:letsencrypt.auth_handler:Cleaning up challenges
2015-12-11 00:45:35,958:DEBUG:letsencrypt.cli:Exiting abnormally:
Traceback (most recent call last):
  File "/opt/psa/var/modules/letsencrypt//venv/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 1283, in main
    return args.func(args, config, plugins)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 470, in run
    lineage = _auth_from_domains(le_client, config, domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 336, in _auth_from_domains
    lineage = le_client.obtain_and_enroll_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
    certr, chain, key, _ = self.obtain_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
    return self._obtain_certificate(domains, csr) + (key, csr)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
    authzr = self.auth_handler.get_authorizations(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 80, in get_authorizations
    cont_resp, dv_resp = self._solve_challenges()
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges
    dv_resp = self.dv_auth.perform(self.dv_c)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 73, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 40, in _put_validation_file
    response = self.plesk_api_client.request(request)
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/api_client.py", line 60, in request
    return XmlToDict(response.text.encode('utf-8'))
  File "/usr/local/psa/var/modules/letsencrypt/venv.jJNaH/local/lib/python2.7/site-packages/letsencrypt_plesk/api_client.py", line 150, in __init__
    dom = parseString(data)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1930, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString
    return builder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
ExpatError: mismatched tag: line 1, column 1027

How to? Renew letsencrypt plesk certificate via cronjob

Hi everyone,

First of all: Great work! I'm really happy we will get an let's encrypt plesk plugin!
But to get it automated in the most convenient way, I would like to give the renewal task to a cronjob.

I tried to make it work using letsencrypt-plesk plugin directly:
./letsencrypt-auto --renew-by-default --letsencrypt-plesk -d [my_domain]

But it doesnt work, says it needs some sort of secret key?
letsencrypt: error: argument --letsencrypt-plesk:plesk-secret-key: expected one argument

So i tried further on and was able to set up a certificate using webroot-plugin:
$ ./letsencrypt-auto --renew-by-default --webroot -w /var/www/vhosts/[my_location] -d [my_domain]
Works all fine, and it does create the certificate and will give me a blue promt asking, if I would like to install it to apache or plesk. If i choose plesk, it works.

Is there any way to extend my command so it doesn't show that promt and automatically chooses plesk-installation, so I can use it for a cronjob? Or can someone explain to me, what kind of secret key it needs and how to use it?

Thanks in advance!

Root is required issue on migrated Domain

Hi Guys,

on most of the domains, letsencrypt works fine. Thanks!
But I migrated a domain from another plesk server and I got following error message during the certification process:

Root (sudo) is required to run most of letsencrypt functionality

Is it possible that I need to change some rights before using letsencrypt? I had several problems to import the mailboxes. Perhaps some other rights are missing, too.

Checkbox for every subdomain defined

It would be just great, if there were checkboxes for each subdomain, especially mail. imap. ftp. and the like. Couldn't you just get the local dns records of the tld?

one of many url can´t get the certificate

hi,

i have a loterror of urls on the the server. The other works fine with the new cert, only this one not. Why?
This is the error:

"Failed authorization procedure. tsv-g.de (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://tsv-g.de/.well-known/acme-challenge/xxx [85.214.216.88]: 404

IMPORTANT NOTES:

  • The following 'urn:acme:error:unauthorized' errors were reported by
    the server:

    Domains: tsv-g.de
    Error: The client lacks sufficient authorization"

Include subdomains in certificate

In current version, in certificate you can only include www subdomain. But I have more than 5 subdomains on one domain that need Let's Encrypt certificate. The problem is that you can obtain only 5 certificates of one domain.

So, I need more subdomains in one certificate. There should be option to select subdomains to include or manual field where you can type own domain to include.

Thanks.

cannot create certificate for subdomain

I successfully created a certificate for my domain "www.domain.tld" and it works fine!
Thanks for the great plugin, guys! 👍

However, when trying to generate a certificate for a subdomain "sub.domain.tld" the following error is reported:

Error: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-21 00:43:29,192:
WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
Failed authorization procedure.
sub.domain.tld (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization ::
Invalid response from http://sub.domain.tld/.well-known/acme-challenge/A83ZrA2sR--5FpXibefwSrSoUrlZBe78ADda1MgxiFI [xxx.xxx.xxx.xxx]: 401
IMPORTANT NOTES:
- The following 'urn:acme:error:unauthorized' errors were reported by
the server:

Domains: sub.domain.tld
Error: The client lacks sufficient authorization 

Why is this?

The subdomain root is htaccess password protected - can this cause problems?

SAN support

As we have a few subdomain (irc.domain.com, mail.domain.com etc) it would be neat to implement adding those subdomains to a normal domain's certificate.

Certificate generation fails with custom DocumentRoot

We use Capistrano to deploy sites to Plesk, which keeps previous deployments in folders on the server and references the current (latest) deployment folder via a 'current' symlink under the document root (example here). As such, we reconfigure the Apache DocumentRoot via the Plesk 'Apache & nginx Settings' panel to be this symlink, i.e.:

DocumentRoot "/var/www/vhosts/getcodee.co.uk/httpdocs/current"

Screenshot: http://cloud.deucecreative.co.uk/0w0b1Y1D1Y1g

Unfortunately, certificate generation fails when this non-standard DocumentRoot is used (screenshot of error).

Temporarily removing the custom directives allows the certificate to be generated successfully.

Rewrite rules in htaccess cause an error: The client lacks sufficient authorization

Getting.. (logged in as root user have tried admin user also)

Error: Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: 2015-12-04 18:52:36,802:WARNING:letsencrypt.cli:Root (sudo) is required to run most of letsencrypt functionality.
Failed authorization procedure. a_domain.co.uk (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://a_domain.co.uk.co.uk/.well-known/acme-challenge/0wPfl4lr8OFueUZVgmoJkBT97AE6i_1qG3P0tg0oetI [212.38.162.227]: 404
IMPORTANT NOTES:

  • The following 'urn:acme:error:unauthorized' errors were reported by
    the server:

Domains: a_domain.co.uk.co.uk
Error: The client lacks sufficient authorization

SSL for Plesk IP

Is it possible to secure my Plesk CP if I access it via an IP address and not a domain name?

IE I access my CP via XXX.XX.X.XXX:8443

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.