Скачать acme.sh#
Скрипт acme.sh автоматизирует выдачу и продление бесплатных сертификатов Let’s Encrypt.
Вы можете использовать acme.sh, загрузив его прямо из Интернета или клонировав проект с git.
Скачать acme.sh из Интернета#
Выполните любую из двух команд, показанных ниже, чтобы загрузить и выполнить скрипт acme.sh.
1
| $ curl https://get.acme.sh | sh
|
или
1
| $ wget -O - https://get.acme.sh | sh
|
Ниже приведен пример того, чего можно ожидать при выполнении скрипта:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| $ 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 и выполнить скрипт:
1
2
3
| $ git clone https://github.com/acmesh-official/acme.sh.git
$ cd acme.sh
$ ./acme.sh --install
|
Какой бы метод вы ни выбрали, как только вы увидите сообщение «Install success!» , вы можете закрыть окно терминала и открыть его снова, чтобы проверить установку.
Чтобы просмотреть информацию об использовании acme.sh, выполните следующую команду.
Вы также можете запустить команду, показанную ниже, чтобы проверить версию acme.sh.
Как создать сертификат#
Чтобы сгенерировать единый сертификат для одного домена, выполните команду, показанную ниже.
Замените yourdomain.com
своим зарегистрированным доменом.
Кроме того, замените /var/www/yourdomain.com
на корневую папку веб-сайта вашего домена, если это необходимо.
1
| $ acme.sh --issue -d yourdomain.com -w /var/www/yourdomain.com
|
Для нескольких доменов/поддоменов, которые используют одну и ту же корневую папку веб-сайта, вы можете выполнить следующую команду, чтобы выпустить сертификат:
1
| $ acme.sh --issue -d yourdomain.com -d www.yourdomain.com -d test.yourdomain.com -w /var/www/yourdomain.com
|
Установка сертификата на NGINX с помощью acme#
После создания сертификата выполните следующую команду, чтобы установить его на NGINX.
1
| $ 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 дней.
Но вы также можете вручную обновить сертификат, если захотите.
Выполните команду:
1
| $ acme.sh --renew -d yourdomain.com --force
|
Чтобы остановить обновление сертификата, выполните:
1
| $ acme.sh --remove -d yourdomain.com
|
Обновление acme.sh#
Рекомендуется использовать последнюю версию acme.sh.
Выполните команду показанную ниже, чтобы убедиться, что acme.sh обновляется автоматически.
1
| $ acme.sh --upgrade --auto-upgrade
|
Чтобы отключить автоматическое обновление acme.sh, выполните следующую команду.
1
| $ acme.sh --upgrade --auto-upgrade 0
|
Если вы не хотите, чтобы acme.sh обновлялся автоматически, используйте приведенную ниже команду, чтобы обновить его вручную.
Вывод#
В этом руководстве мы описали шаги для получения и продления бесплатных сертификатов SSL/TLS от Let’s Encrypt с помощью shell скрипта acme.sh на Ubuntu 20.04.