Опубликовано пользователем goodigy
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-доступом будет описана в другой статье.