SSL сертификат Let’s Encrypt для https вручную.

Let’s Encrypt – это центр сертификации который предоставляет сертификаты бесплатно. Выданный сертификат действует в течении трех месяцев.

На хостинге SpaceWeb, на котором находится этот сайт, установка сертификата возможна только путем загрузки файлов сертификата, через специальную форму в панели управления.

Чтобы сгенерировать сертификат нужно воспользоваться инструкцией с сайта https://certbot.eff.org/all-instructions/. Как пишут в инструкциях, установка и продление сертификата может происходить в автоматическом режиме. Но для этого нужен shell доступ к серверу. В моем случае такого доступа нет, есть возможность устанавливать сертификат через форму. Поэтому буду генерировать и устанавливать сертификат вручную, каждые три месяца.

Для этого нам нужен линукс.
Устанавливаем certbot.

wget https://dl.eff.org/certbot-auto

Делаем исполняемым

chmod a+x certbot-auto

Теперь запускаем

./certbot-auto certonly --manual

Вводим пароль

igy@IGY-COMP:~/goodigy$ ./certbot-auto certonly --manual
Requesting root privileges to run certbot...
  /home/igy/.local/share/letsencrypt/bin/letsencrypt certonly --manual
[sudo] password for igy:

Вводим название доменного имени

Соглашаемся

Далее будет такой вывод

Make sure your web server displays the following content at
http://goodigy.ru/.well-known/acme-challenge/Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E before continuing:

Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E.tWHfAVZH3lo0KtswKbFfTFoemZaLFJvU28lAWz_3sFk

If you don''t have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s" Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E.tWHfAVZH3lo0KtswKbFfTFoemZaLFJvU28lAWz_3sFk > .well-known/acme-challenge/Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
Press ENTER to continue

Поле этого нужно зайти на хостинг и файл, который должен быть доступен по такой ссылке

http://goodigy.ru/.well-known/acme-challenge/ Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E

Со следующим содержимым: 

Ifo8D9F7lSDUmscn0u9kFluPaL2yRSwZb5VaqHk1S4E.tWHfAVZH3lo0KtswKbFfTFoemZaLFJvU28lAWz_3sFk

Попробовать перейти по ссылке. Если доступа нет, то нужно открыть временный доступ, например, в .htaccess, после можно будет отключить.

Переходим в терминал, нажимаем Enter и ждем.

После того как программа отработает, будет такой вывод

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/goodigy.ru/fullchain.pem. Your cert will
   expire on 2017-03-05. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot-auto again. To
   non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

В папке /etc/letsencrypt/live/goodigy.ru/ будут лежать файлы сертификата.

cert.pem  
chain.pem  
fullchain.pem  
privkey.pem

Для загрузки, на хостинге SpaceWeb мне понадобилось два файла cert.pem и privkey.pem.

Настройка https, а также автоматическая генерация и установка на сервер с shell-доступом будет описана в другой статье. 
 

 

 

 

E-mail для связи: goodigy@goodigy.ru