Да все просто там.
Исхожу из предположения, что используется nginx.
Забудь про их официальные клиенты.
1) берешь
вот этот шелл-скрипт, кладешь, скажем, в файл /usr/local/sbin/letsencrypt и ставишь +x.
2) конфиги и сертификаты мы будем держать... ну, пусть в /etc/ssl/letsencrypt
3) кладешь файл config на основе
https://github.com/lukas2511/dehydrated/blob/master/docs/examples/config в предварительно созданный каталог /etc/ssl/letsencrypt, правишь там BASEDIR=/etc/ssl/letsencrypt, остальное можно оставить по умолчанию
4) делаешь там же рядом файлик domains.txt, где будет по строчке на домен, altnames - в одной строчке через пробел, типа так
foo.com
www.foo.com
bar.com
www.bar.com somesubdomain.bar.com
5) делаешь там же папочки accounts и certs, на обе chmod 700
6) в конфигурации nginx в server{}-блоки для http (не https!) серверов добавляешь location
PHP:
location /.well-known/acme-challenge/ {
alias /etc/ssl/letsencrypt/acme/;
}
7) запускаешь /usr/local/sbin/letsencrypt -f /etc/ssl/letsencrypt/config -c
8) если все нормально, добавляешь https-секции в конфиг nginx, все как обычно, сертификат и ключ будут тут:
PHP:
ssl_certificate /etc/ssl/letsencrypt/certs/foo.com/fullchain.pem;
ssl_certificate_key /etc/ssl/letsencrypt/certs/foo.com/privkey.pem;
где foo.com - первый домен из строчек в domains.txt.
9) пихаешь /usr/local/sbin/letsencrypt -f /etc/ssl/letsencrypt/config -c в крон.
10) при желании автоматизируешь это все каким-нибудь ansible.