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

В одной из статей мы описали, как получить бесплатный сертификат SSL/TLS от Lets Encrypt с помощью Certbot.

А в этой инструкции мы хотели бы показать вам другой способ. С помощью которого вы можете легко получить и продлить бесплатный сертификат SSL/TLS от Lets Encrypt используя acme.sh скрипт на Ubuntu 20.04.

Если у вас еще нет рабочего веб-сервера NGINX, тогда обратитесь к этому руководству по установке NGINX. Как установить NGINX на Ubuntu 20.04 и разместить сайт.

Получение скрипта acme.sh

Скрипт оболочки linux acme.sh автоматизирует выдачу и обновление бесплатных сертификатов от Lets 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 в Ubuntu

После создания сертификата выполните следующую команду, чтобы установить его на 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 от компании Lets Encrypt. С помощью скрипта оболочки Ubuntu acme.sh. Этот метод является альтернативой использованию инструмента Certbot.

Оцените статью
Установка и настройка популярных программ на Windows, Linux и другие операционные системы