Скачать 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.