acme.sh/README.md

89 lines
2.3 KiB
Markdown
Raw Normal View History

2015-12-26 14:44:39 +01:00
# le
Simplest shell script for LetsEncrypt free Certificate client
This is a shell version from https://github.com/diafygi/acme-tiny
Pure written in bash, no dependencies to python , acme-tiny or LetsEncrypt official client (https://github.com/letsencrypt/letsencrypt)
Just one script, to issue, renew your certiricates automatically.
2015-12-26 14:55:26 +01:00
Probably it's the smallest&easiest&smartest shell script to automatically issue&renew the free certificates from LetsEncrypt.
2015-12-26 14:44:39 +01:00
#Supported OS
2015-12-27 06:23:25 +01:00
1. Ubuntu/Debian.
2. CentOS
2015-12-26 14:44:39 +01:00
#How to use
1. Clone this project: https://github.com/Neilpang/le.git
2. Install le:
```
./le.sh install
```
2015-12-27 06:50:40 +01:00
Which does 3 jobs:
* create and copy `le.sh` to your home dir: `~/.le`
2015-12-26 14:44:39 +01:00
All the certs will be placed in this folder.
2015-12-26 15:06:11 +01:00
* create symbol link: `/bin/le -> ~/.le/le.sh`
2015-12-27 06:50:40 +01:00
* create everyday cron job to check and renew the cert if needed.
2015-12-27 06:52:46 +01:00
2015-12-27 06:50:40 +01:00
Ok, you are ready to issue cert now.
2015-12-26 14:44:39 +01:00
Show help message:
```
root@xvm:~# le
Usage: issue|renew|renewAll|createAccountKey|createDomainKey|createCSR|install|uninstall
root@xvm:~# le issue
Usage: /bin/le webroot a.com [www.a.com,b.com,c.com] [key-length] [cert-file-path] [key-file-path] [reloadCmd]
```
# Just issue a cert:
```
le issue /home/wwwroot/aa.com aa.com www.aa.com,cp.aa.com
```
First argument " /home/wwwroot/aa.com" is the web root folder
2015-12-28 08:57:22 +01:00
Second argument "aa.com" is the main domain you want to issue cert for.
2015-12-26 14:44:39 +01:00
2015-12-28 08:57:22 +01:00
Third argument is the additional domain list you want to use. Comma separated list, It's Optional.
2015-12-26 14:44:39 +01:00
2015-12-28 08:57:22 +01:00
You must point and bind all the domains to the same webroot dir:`/home/wwwroot/aa.com`
2015-12-26 14:44:39 +01:00
The cert will be placed in `~/.le/aa.com/`
The issued cert will be renewed every 50 days automatically.
2015-12-26 17:35:59 +01:00
# Issue a cert, and install to apache/nginx
2015-12-26 14:44:39 +01:00
```
2015-12-26 17:35:59 +01:00
le issue /home/wwwroot/aa.com aa.com www.aa.com,cp.aa.com 2048 /path/to/certfile/in/apache/nginx /path/to/keyfile/in/apache/nginx "service apache2/nginx reload"
2015-12-26 14:44:39 +01:00
```
This can link the issued cert to the production apache or nginx path.
2015-12-28 08:57:22 +01:00
Once the cert is renewed, the apache/nginx will be automatically reloaded by the command: ` service apache2 reload` or `service nginx reload`
2015-12-26 14:44:39 +01:00
#Under the Hood
2015-12-26 17:33:53 +01:00
Speak ACME language with bash directly to Let's encrypt.
2015-12-26 14:44:39 +01:00
TODO:
#License & Other
License is GPLv3
2015-12-26 14:47:28 +01:00
Please Star and Fork me.
2015-12-26 14:44:39 +01:00
Issues and pullrequests are welcomed.