В одной из статей мы описали, как получить бесплатный сертификат SSL/TLS от Let’s Encrypt с помощью Certbot.
А в этой инструкции мы хотели бы показать вам другой способ. С помощью которого вы можете легко получить и продлить бесплатный сертификат SSL/TLS от Let’s Encrypt используя acme.sh скрипт на Ubuntu 20.04.
Если у вас еще нет рабочего веб-сервера NGINX, тогда обратитесь к этому руководству по установке NGINX. Как установить NGINX на Ubuntu 20.04 и разместить сайт.
Получение скрипта acme.sh
Скрипт оболочки linux 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 [text/html]
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 проект с git
Выполните следующие команды по одной на строку, чтобы клонировать файл 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 версия.
$ acme.sh –version
Создание сертификата
Чтобы сгенерировать сертификат для домена, выполните приведенную ниже команду.
Только замените 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.sh
После создания сертификата выполните следующую команду, чтобы установить его на 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. С помощью скрипта оболочки Ubuntu acme.sh. Этот метод является альтернативой использованию инструмента Certbot.
tnx