I’m running virtual web server on a shared hoster which supports certificates through the configuration panel. I’ve used the Let’s Encrypt client in manual mode to create the cert and was able to configure the server to enable https. Great!
Now, while the manual process works, it’s a bit tedious to create the challenge files and upload them to the web server. I would be interested to fully automate this process.
The provider specific configuration part is already solved (they provide a soap api for the web configuration panel), but with the Let’s Encrypt client I’m no sure what the best way would be to automate the creation and upload of the challenge files to our server.
Is is (already) possible to write a plugin for that? Or would the client and/or the manual plugin have to be altered to provide a mechanism for that?
Thanks! I was not aware of alternative implementations.
Looking at https://github.com/unixcharles/acme-client, their example already seems nearly there! I’ve never been exposed to ruby before, but looking at that code it seems that adding the uploading bit should not be hard (if there is some means to securely upload a file like SFTP).
For the soap part I already have a solution provided by a 3rd party (written in php), but I might re-implement it as a programming exercise.
It's a custom solution, I guess (might be a customization of some common product, I have not much experience in this space, it does not look that way).
But that part is already solved. I just want to automate the cert creation at this point.
In the meantime I’ve found an easier way that involves no custom scripting: Mounting the webspace directly into the filesystem using CurlFtpFS and using the webroot plugin provided by the official client.
I’m trying to follow your example of mounting the webspace. Unfortunately I get the following error: The webroot plugin is not working; there may be problems with your existing configuration. The error was: PluginError('/home/vagrant/<path to dir>/www does not exist or is not a directory',)
I’m trying to run this command from a vagrant box runnning Ubunut 14.x. using sshfs/fuse instead of curlftpfs. The webspace mounted with no issues and I can write files to it. Any ideas? Here’s copy of the command I used:
Seems like the letencrypt client still can’t write the files over sshfs. Would prefer that as I don’t have to put passwords in the shell script wrappers I’ve been trying.
Thanks, I tried a couple of different options/fixes and haven’t had any success with the Let’s Encrypt client. That said I seem to be making headway using acme-tiny client and sshfs to get the certificates signed on my vagrant box.
@devNoise I had the perfect result with sshfs. Ur above posted error points to a non web-accessible folder. Are u sure ur domain directs to the folder ur .well_known folder sits in?