Скачать acme.sh

Скрипт acme.sh автоматизирует выдачу и продление бесплатных сертификатов Let’s Encrypt.

Вы можете использовать acme.sh, загрузив его прямо из Интернета или клонировав проект с git.

Скачать acme.sh из Интернета

Выполните любую из двух команд, показанных ниже, чтобы загрузить и выполнить скрипт acme.sh.

$ curl https://get.acme.sh | sh

или

$ wget -O -  https://get.acme.sh | sh

Ниже приведен пример того, чего можно ожидать при выполнении скрипта:

$ wget -O -  https://get.acme.sh | sh
 --2021-02-16 11:55:47--  https://get.acme.sh/
 Resolving get.acme.sh (get.acme.sh)… 2606:4700:3032::6815:223e, 2606:4700:3031::ac43:c710, 172.67.199.16, …
 Connecting to get.acme.sh (get.acme.sh)|2606:4700:3032::6815:223e|:443… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: unspecified 
 Saving to: ‘STDOUT’
 [ <=>                ]     937  --.-KB/s    in 0s 
 2021-02-16 11:55:47 (11.8 MB/s) - written to stdout [937]
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100  204k  100  204k    0     0  3350k      0 --:--:-- --:--:-- --:--:-- 3350k
 [Tue 16 Feb 2021 11:55:47 AM UTC] Installing from online archive.
 [Tue 16 Feb 2021 11:55:47 AM UTC] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
 [Tue 16 Feb 2021 11:55:47 AM UTC] Extracting master.tar.gz
 [Tue 16 Feb 2021 11:55:47 AM UTC] It is recommended to install socat first.
 [Tue 16 Feb 2021 11:55:47 AM UTC] We use socat for standalone server if you use standalone mode.
 [Tue 16 Feb 2021 11:55:47 AM UTC] If you don't use standalone mode, just ignore this warning.
 [Tue 16 Feb 2021 11:55:47 AM UTC] Installing to /home/shola/.acme.sh
 [Tue 16 Feb 2021 11:55:47 AM UTC] Installed to /home/shola/.acme.sh/acme.sh
 [Tue 16 Feb 2021 12:05:54 PM UTC] Installing alias to '/home/shola/.bashrc'
 [Tue 16 Feb 2021 12:05:54 PM UTC] OK, Close and reopen your terminal to start using acme.sh
 [Tue 16 Feb 2021 11:55:47 AM UTC] Installing cron job
 47 0 * * * "/home/shola/.acme.sh"/acme.sh --cron --home "/home/shola/.acme.sh" > /dev/null
 [Tue 16 Feb 2021 11:55:47 AM UTC] Good, bash is found, so change the shebang to use bash as preferred.
 [Tue 16 Feb 2021 11:55:48 AM UTC] OK
 [Tue 16 Feb 2021 11:55:48 AM UTC] Install success!

Клонировать проект acme.sh

Или выполните следующие команды по одной в каждой строке, чтобы клонировать проект acme.sh git и выполнить скрипт:

$ git clone https://github.com/acmesh-official/acme.sh.git
$ cd acme.sh
$ ./acme.sh --install

Какой бы метод вы ни выбрали, как только вы увидите сообщение «Install success!» , вы можете закрыть окно терминала и открыть его снова, чтобы проверить установку.

Чтобы просмотреть информацию об использовании acme.sh, выполните следующую команду.

$ acme.sh -h

Вы также можете запустить команду, показанную ниже, чтобы проверить версию acme.sh.

Как создать сертификат

Чтобы сгенерировать единый сертификат для одного домена, выполните команду, показанную ниже.

Замените yourdomain.com своим зарегистрированным доменом.

Кроме того, замените /var/www/yourdomain.com на корневую папку веб-сайта вашего домена, если это необходимо.

$ acme.sh --issue -d yourdomain.com -w /var/www/yourdomain.com

Для нескольких доменов/поддоменов, которые используют одну и ту же корневую папку веб-сайта, вы можете выполнить следующую команду, чтобы выпустить сертификат:

$ acme.sh --issue -d yourdomain.com -d www.yourdomain.com -d test.yourdomain.com -w /var/www/yourdomain.com

Установка сертификата на NGINX с помощью acme

После создания сертификата выполните следующую команду, чтобы установить его на NGINX.

$ acme.sh --install-cert -d yourdomain.com --key-file /path/to/keyfile/in/nginx/key.pem --fullchain-file /path/to/fullchain/nginx/cert.pem --reloadcmd "service nginx force-reload"

Все параметры необязательны, кроме домена.

Вам нужно будет заменить yourdomain.com на ваш зарегистрированный домен.

Продление сертификата

Сертификаты будут храниться в ~/.acme.sh/yourdomain.com и будут автоматически обновляться каждые 60 дней.

Но вы также можете вручную обновить сертификат, если захотите.

Выполните команду:

$ acme.sh --renew -d yourdomain.com --force

Чтобы остановить обновление сертификата, выполните:

$ acme.sh --remove -d yourdomain.com

Обновление acme.sh

Рекомендуется использовать последнюю версию acme.sh.

Выполните команду показанную ниже, чтобы убедиться, что acme.sh обновляется автоматически.

$ acme.sh --upgrade --auto-upgrade

Чтобы отключить автоматическое обновление acme.sh, выполните следующую команду.

$ acme.sh --upgrade --auto-upgrade 0

Если вы не хотите, чтобы acme.sh обновлялся автоматически, используйте приведенную ниже команду, чтобы обновить его вручную.

$ acme.sh --upgrade

Вывод

В этом руководстве мы описали шаги для получения и продления бесплатных сертификатов SSL/TLS от Let’s Encrypt с помощью shell скрипта acme.sh на Ubuntu 20.04.