Как установить SSL сертификат на сервер (Apache)
SSL-сертификаты применяются для обеспечения безопасного соединения и передачи данных в зашифрованном виде.
Сертификаты выдаются сертификационными центрами и представляют собой файл сертификата, выпущенного для определенного доменного имени, и приватного ключа.
Также необходимы промежуточные сертификаты в случае если файлы, упомянутые ранее, были сгенерированы не корневым центром сертификации.
Также возможно использование сертификатов, сгенерированных самостоятельно на Linux сервере. Однако, браузер пользователя при доступе к сайту в этом случае будет выдавать предупреждение о недоверенном сертификате.
SSL сертификаты чаще всего устанавливаются на веб- и почтовые сервера. В рамках данного материала будет рассмотрена установка сертификата на веб-сервер Apache для обеспечения возможности работы сайта по защищенному протоколу https
Как установить ssl сертификат на сервер Apache:
1. Чтобы установить на сервер сертификат необходимо подключиться к нему по протоколу SSH от имени пользователя root;
2. Файлы сертификатов могут размещаться в любом каталоге, часто их размещают в /etc/apache2/ssl.
Переходим в /etc/apache2 и создаем директорию
cd /etc/apache2
mkdir ssl
3.Создаем файлы сертификата, приватного ключа и промежуточного сертификата и помещаем в них содержимое аналогичных файлов, полученных от центра сертификации (или сгенерированных на сервере)
mcedit /etc/apache2/ssl/example.com.crt
Содержимое сертификата выглядит примерно следующим образом:
——BEGIN CERTIFICATE——
MIIFEDCCA/igAwIBAgISA+1wB7/BBdk7NHpvkfWRpapqMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAxMjkwNjEwMDBaFw0x
NzA0MjkwNjEwMDBaMCExHzAdBgNVBAMTFnJlbW90ZS10ZWNoLXN1cHBvcnQucnUw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChoT+eOaGZXNtkoPLe6BNJ
d2gQqeTP1n8n2GRcJE7gKgduglfs1YfvE3CtoMYEm6veKKvVKE8AGox0USUPuM8S
——END CERTIFICATE——
SHIFT+INS чтобы вставить содержимое
F2 чтобы сохранить
Выходим нажимая ESC
Аналогичным образом создаем файл приватного ключа
mcedit /etc/apache2/ssl/example.com.key
Пример содержимого файла:
——BEGIN PRIVATE KEY——
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChoT+eOaGZXNtk
oPLe6BNJd2gQqeTP1n8n2GRcJE7gKgduglfs1YfvE3CtoMYEm6veKKvVKE8AGox0
USUPuM8SRDeo4kJ7tAaQC1Ss8B6Dj57EKTJ+Jw+m+SzJEyfs3inAmrwKhR1KjRUe
SzsEgsralTZSK1uvoxPaKTsqPshs5oK3ZeTwzIR+keHbQUkxNyhKEM4j+dOFrykb
NLkJDABDzknmjodTr6fEgA5D99AAj/aWxaaOch8NxLQS60EasgdGFhIBZ/xACNdM
zIP3mn5WValj5yBOeX61f2qy0jy8RcwHMJbiA3IEw6oVVi+iTO6kgHrwhULCWJ8T
——END PRIVATE KEY——
Добавляем промежуточный сертификат, подтверждающий корректность цепочки
mcedit /etc/apache2/ssl/intermediate.crt
Пример промежуточного сертификата:
——BEGIN CERTIFICATE——
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
——END CERTIFICATE——
4. Что того чтобы работа веб-сервера по защищенному соединению необходимо, что был включен модуль apache2 SSL
Просмотреть включен ли модуль можно выполнив следующую команду:
apache2ctl -M | grep ssl
Если вывод не пустой — модуль активирован. Если в выводе ничего нет включаем модуль:
a2enmod ssl
После выполнения команды появляется сообщение «Enabling module ssl».
5. Переходим в каталог, в котором размещаются конфигурационные файлы сайтов — cd /etc/apache2/sites-available и находим конфигурационный файл сайта, подключение к которому по https настраиваем — в данном случае — example.com.conf
6. Создаем копию конфигурационного файла сайта и вносим в него коррективы
cp example.com.conf ssl-example.com.conf
6.1 В строке VirtualHost указываем порт по которому будет осуществляться подключение при работе по https — меняем 80 (значение для http) на 443
6.2 В качестве ServerName указываем имя сайта example.com
6.3 Приводим файл к следующему виду, указывая в нем полные пути к сертификату, приватному ключу и сертификату промежуточному SSLCertificateFile SSLCertificateKeyFile и SSLCACertificateFile
ServerAdmin [email protected]
ServerSignature On
ServerName example.com
AddDefaultCharset utf-8
CustomLog /var/log/apache2/logs/example.com/access.log combined
LogLevel error
SuexecUserGroup user user
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.com.key
SSLCACertificateFile /etc/apache2/ssl/intermediate.crt
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2 SSLCompression off
SSLHonorCipherOrder on
DocumentRoot «/home/admin/example.com/www/»
……
7. Активируем сайт:
a2ensite ssl-example.com.conf
Фактически при выполнении команды создается символьная ссылка /etc/apache2/sites-availible/ssl-example.com.conf /etc/apache2/sites-enabled/
8. Перезапускаем веб-сервер для того чтобы изменения вступили в силу:
service apache2 restart
или (если сервис работает под runit)
sv t apache2
9. Проверяем статус
service apache2 status
или
sv s apache2
Если никаких ошибок не наблюдается — можно проверять доступность сайта по https. Также следует проверить корректность установки сертификата при помощи одного из онлайн-сервисов, предоставляющих подобную возможность.
На этом с вопросом о том, как установить SSL сертификат на сервер все.
Читайте также про установку для Nginx
Установка SSL-сертификата на хостинг RU-CENTER
Если у вас еще нет SSL-сертификата, вы можете заказать его в RU-CENTER.
1.1. На странице www.nic.ru зайдите в Раздел для клиентов, указав номер договора и пароль.
1.2. Выберите в меню пункт Услуги → SSL-сертификаты.
1.3. Перейдите по ссылке с названием сертификата.
1.4. На открывшейся странице скачайте Корневой сертификат
2.1. В разделе Для клиентов выберите в меню пункт Услуги → Хостинг, почта, конструктор сайтов.
2.2. Перейдите к управлению хостингом.
2.3. В панели управления хостингом перейдите в раздел Сайты → Ваш_сайт → Безопасность и активируйте слайдер Включить защищённое HTTPS-соединение. Затем нажмите на кнопку Установить.
2.4. Скопируйте содержимое сохраненных ранее файлов приватного ключа, SSL-сертификата вашего домена в соответствующие поля.
При копировании необходимо убедиться в наличии пяти тире по обе стороны от BEGIN и END. В секретном ключе не должно быть лишних пробелов, разрывов строк или дополнительных символов, которые непреднамеренно были добавлены.
Если у вашего сертификата несколько промежуточных сертификатов, то необходимо загрузить их по очереди, нажав на кнопку Добавить промежуточный сертификат. Корневой сертификат должен быть загружен последним.
Если приватный ключ защищен паролем, введите его в соответствующее поле и нажмите кнопку Установить.
2.5. Установка завершена. Проверьте доступность сайта по протоколу HTTPS через несколько минут, обратившись к нему по адресу https://ваш_домен.
3.1. Чтобы настроить перенаправление всех запросов с протокола HTTP на HTTPS добавьте в файл .htaccess следующие директивы:
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Подробнее о настройке файла .htaccess.
3.2. Если после настройки перенаправления сайт отображается некорректно, то это может быть связано с наличием смешанного контента (Mixed Content).
В этом случае часть содержимого загружается на страницу сайта по небезопасному протоколу HTTP вместо HTTPS, что не позволяет считать страницу сайта полностью безопасной. Как правило, это можно исправить методом замены абсолютных ссылок на относительные. В некоторых случаях может помочь включение HTTPS в настройках вашей CMS.
По данному вопросу рекомендуем проконсультироваться с разработчиком сайта или обратиться к документации по CMS.
Установка SSL-сертификата на Zimbra / Zextras corporate blog / Habr
Почтовый сервер Zimbra поддерживает два возможных способа установки SSL:
- консоль администрирования zimbra (веб-интерфейс)
- zimbra certificate manager (интерфейс командной строки)
Установка сертификата SSL через консоль администрирования Zimbra
1. Нажмите «Настроить» в левом списке главного меню:
2. В следующем окне нажмите «Сертификаты» и выберите опцию «Установить сертификат»:
3. Вы увидите отдельное окно, в котором вам нужно выбрать нужный почтовый сервер. Затем нажмите «Далее»:
4. Выберите «Установить коммерчески подписанный сертификат», чтобы начать процесс установки:
5. Просмотрите всю информацию, которая была использована для генерации CSR. Если информация верна, нажмите кнопку «Далее»:
6. Загрузите файл сертификата SSL, корневой сертификат и промежуточные сертификаты, полученные от Центра сертификации.
7. На следующем шаге нажмите «Установить», чтобы установить выбранный сертификат SSL. Процесс установки может занять несколько минут:
8. Когда процесс установки SSL будет завершен, вы увидите уведомление:
9. Чтобы применить изменения, вам необходимо перезапустить службы Zimbra, такие как пользователь zimbra, в сеансе CLI:
sudo su
su zimbra
После того, как пользователь по умолчанию переключится на пользователя zimbra, запустите эту команду, чтобы перезапустить службы:
zmcontrol restart
10. Когда все службы будут перезагружены, здесь можно проверить новые данные сертификата SSL:
SSL-сертификат успешно установлен для следующих служб:
LDAP service: port 389
Mailbox service: ports 8443, 7071
MTA service: ports 25 (SMTP TLS), 465 (SMTP SSL), 7110 (POP3 TLS), 7143 (IMAP TLS), 7993 (IMAP SSL), 7995 (POP3 SSL)
Proxy service: 443, 110 (POP3 TLS), 143 (IMAP TLS), 993 (IMAP SSL), 995 (POP3 SSL).
С помощью этого онлайн-инструмента можно проверить установку SSL.
Установка сертификата SSL через Zimbra Certificate Manager (интерфейс командной строки)
Пакет Zimbra имеет инструмент «zmcertmgr» для управления сертификатами SSL.
Для версии 8.6 или ниже этот инструмент должен выполняться как root. Запустите эту команду в терминале, чтобы переключиться с пользователя по умолчанию на корень:
sudo su
Начиная с версии 8.7 этот инструмент должен запускаться как пользователь zimbra. Запустите эти команды, чтобы переключиться с пользователя по умолчанию на пользователя zimbra:
sudo su
su zimbra
1. Чтобы начать процесс установки, вам необходимо временно загрузить файл сертификата SSL (server_domain_com.crt) и файл пакета CA (server_domain_com.ca-bundle) в любую папку на ваш сервер хостинга. В этом примере файлы SSL загружены в каталог /opt/.
2. Убедитесь, что ваш сертификат, полученный от центра сертификации, соответствует закрытому ключу, созданному вместе с CSR:
/opt/zimbra/bin/zmcertmgr verifycrt comm
/opt/zimbra/ssl/zimbra/commercial/commercial.key /opt/server_domain_com.crt /opt/server_domain_com.ca-bundle
Результат должен выглядеть так:
3. Разверните свой коммерческий сертификат.
/opt/zimbra/bin/zmcertmgr deploycrt comm /opt/server_domain_com.crt /opt/server_domain_com.ca-bundle
Успешный вывод должен выглядеть так:
4. Убедитесь, что правильный сертификат был развернут.
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
Например, информация о сертификате PositiveSSL будет выглядеть так:
5. Чтобы применить изменения, вам необходимо перезапустить службы Zimbra, такие как пользователь zimbra:
sudo su
su zimbra
Когда пользователь по умолчанию переключится на пользователя zimbra, запустите эту команду, чтобы перезапустить службы:
zmcontrol restart
Когда все службы перезагрузятся, новые данные сертификата SSL могут быть проверены с помощью этого онлайн-инструмента.
По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании «Zextras» Катерине Триандафилиди по электронной почте [email protected]
Установка сертификата SSL на Ubuntu с Apache • Vertex Academy
Вступление
SSL сертификаты применяются веб-серверами для шифрования трафика между сервером и клиентом.
Зачем нужна установка сертификата SSL на веб-сайт:
- Позволяет устанавливать безопасное соединение между веб-сервером и клиентом. Особенно это актуально для сайтов, которые осуществляют платежи через интернет и оперируют другой чувствительной и конфиденциальной информацией пользователей.
- Позволяет сайту, защищенному сертификатом SSL, подняться в результатах выдачи Google.
Эта статья расскажет:
- Как бесплатно установить SSL сертификат на Ubuntu 16.04 с веб-сервером Apache.
- Также мы покажем, как сделать автоматическое обновление сертификата SSL с помощью сервиса cron.
- Воспользуемся сервисом Let’s Encrypt, который предоставляет бесплатные сертификаты, в отличие от других большинства сервисом, и позволяет легко установить их на сервер. Let’s Encrypt — это некоммерческая организация, которая предоставляет бесплатный, полностью автоматизированный и открытый CA (certificate authority — центр сертификации) сертификат.
Предварительные требования для того, чтобы успешно установить сертификат SSL по этой инструкции Вам необходимо:
- Установленный Ubuntu 16.04 сервер и доступ sudo user
- Установленный cron
- Установленный и правильно настроенный веб-сервер Apache с одним или несколькими доменами
Установка Let’s Encrypt делается в 4 шага
Шаг 1 — Установить необходимые программы зависимости для сервера
Обновим кэш менеджера пакетов, чтобы получить последние версии програмного обеспечения
Установим git (распределённая система управления версиями) для того, чтобы скачать последнюю версию клиента Let’s Encrypt client:
Шаг 2 — Установка клиента Let’s Encrypt
Скачаем клиент Let’s Encrypt из официального репозитория и разместим его файлы на сервере.
Клонируем репозиторий Let’s Encrypt в папку /opt, которая является стандартной папкой для размещения в Linux программ сторонних производителей:
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt |
Это создаст локальную копию официального репозитория Let’s Encrypt в папке /opt/letsencrypt.
Шаг 3 — Получение и установка SSL сертификата
Получение и установка SSL сертификата с помощью Let’s Encrypt довольно простая. Клиент Let’s Encrypt делает все автоматически и устанавливает новый SSL сертификат ,который валиден для доменов, указанных в качестве параметров.
Перейдем с папку letsencrypt:
Для того, чтобы установить сертификат для одного домена, еобходимо запустить letsencrypt-auto со следующими параметрами (в качестве примера генерируется сертификат для сайта example.com):
sudo ./letsencrypt-auto —apache -d example.com
sudo ./letsencrypt-auto —apache -d example.com |
Если вы хотите установить один сертификат, который будет действовать для нескольких доменов или субдоменов, то необходимо перечислить их в качестве дополнительных параметров:
sudo ./letsencrypt-auto —apache -d example.com -d www.example.com
sudo ./letsencrypt-auto —apache -d example.com -d www.example.com |
Рекомендуем делать именно этот вариант, чтобы потом иметь возможность перенаправлять запросы вида разных видов на единственный домен https://example.com, который будет указан в качестве основного в поисковых системах:
- http://example.com
- http://www.example.com
- https://example.com
- https://www.example.com
Во время установки программа предложит ввести опции:
— email для восстановления сертификатов и уведомлений
— выбрать вариант настройки сервера Easy при котором возможен доступ как незащищенный http, так и защищенный https или вариант Secure, при котором веб сервер будет настроен только на работу с защищенным доступом https (мы рекомендуем именно второй вариант)
Когда установка завершится, вы сможете найти сгенерированные сертификаты в папке /etc/letsencrypt/live. Чтобы проверить статус вашего SSL сертификата и его работу на сервере, воспользуйтесь сервисом https://www.ssllabs.com/ssltest/
Шаг 4 — Установка автообновления
Сертификаты Let’s Encrypt действительны на протяжении 90 дней. Однако рекомендуется обновлять их каждые 60 дней, чтобы не пропустить срок. У клиента Let’s Encrypt есть команда, которая позволяет обносить сертификат, если до истечения срока его валидности меньше 30 дней. Это позволяет сделать команда:
sudo ./letsencrypt-auto renew
sudo ./letsencrypt-auto renew |
Есть запустить эту программу сразу, после установки сертификата, то она толкьо проинформирует, что пока нет необходимости обновлять сертификат:
Checking for new version… Requesting root privileges to run letsencrypt… /root/.local/share/letsencrypt/bin/letsencrypt renew Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted.
Checking for new version… Requesting root privileges to run letsencrypt… /root/.local/share/letsencrypt/bin/letsencrypt renew Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted. |
Чтобы обеспечить автоматическое обновление сертификатов, воспользуемся командой cron. Сертификаты будут проверяться и обновляться только если будет менее 30 дней до даты истечения их валидности.
Отредактируем crontab и создадим новое задание, которео будет запускать программу проверки и обновления сертификатов каждую неделю:
Включите следующую строку:
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/letsencrypt-renew.log
Сохраните и выйдите из редактирования файла. Эта создаст новую задачу cron, которая будет автоматически запускать letsencrypt-auto каждый понедельник в 2:30. Результат будет выводиться в лог файл по адресу /var/log/ letsencrypt-renew.log.
Вывод
Вы узнали, как установить бесплатный SSL сертификат Let’s Encrypt для того, чтобы сделать безопасными соединения веб-сервера Apache.
Apache + Mod SSL + OpenSSL
Шаг 1. Скопируйте файлы domainname.crt и domainname.ca-bundle на сервер в ту же директорию, в которой содержится Private Key (приватный ключ).
В данном примере мы используем ‘/etc/ssl/crt/’ . The private key (приватный ключ), используемый в примере, помечен как ‘private.key’ , а public key будет называться ‘yourDOMAINNAME.crt’ .
Примечание : Рекомендуем Вам создавать директорию, содержащую файл private key (приватный ключ), видимой только корневым каталогом.
Совет: рекомендуется выставить права доступа на чтение для директории, содержащей приватный ключ только для пользователя root.
Шаг 2. Установите на сервере корневой и промежуточный сертификаты.
2.1. Откройте в текстовом редакторе конфигурационный файл сервера Apache 2.х httpd.conf. Найдите раздел VirtualHost, относящийся к вашему SSL-сертификату. Убедитесь, что в нем содержатся три следующие строки. Если их нет — их необходимо добавить:
SSLCertificateChainFile /etc/ssl/crt/domainname.ca-bundle
SSLCertificateFile /etc/ssl/crt/domainname.crt
SSLCertificateKeyFile /etc/ssl/crt/private.key
Для Apache 1.x используйте вместо SSLCertificateChainFile директиву SSLCACertificateFile:
SSLCACertificateFile /etc/ssl/crt/domainname.ca-bundle
Примечание: в ряде конфигураций Virtual Host размещается в файле ssl.conf. Если в файле httpd.conf не содержится раздел Virtual Host, тогда поищите его в файле ssl.conf как было сказано выше.
2.2. Сохраните изменения и закройте текстовый редактор.
2.3. Запустите (или перезапустите) ваш веб-сервер Apache.
Дополнительная информация
Файл httpd.conf должен содержать несколько или все следующие строки (для IP-based сайта). Строки, относящиеся к настройкам SSL выделены жирным шрифтом. Строки, выделенные курсивом используются только для отладки (для выявления проблем при настройке SSL).
DocumentRoot /var/www/html
ServerName 192.168.1.98
ServerAdmin [email protected]
ErrorLog /etc/httpd/logs/ssl_error_log
TransferLog /etc/httpd/logs/ssl_access_log
SSLEngine On
SSLCertificateFile /etc/ssl/crt/domainname.crt
SSLCertificateKeyFile /etc/ssl/crt/domainname.key
SSLCertificateChainFile /etc/ssl/crt/domainname.ca-bundle
SSLSessionCache dbm:/var/cache/httpd/ssl_cache
Узнать больше о настройке веб-сервера Apache можно на сайте http://httpd.apache.org/docs-2.0/mod/mod_ssl.html
Проверить настройки можно используя веб-браузер. Используйте https-протокол (например, https://ваш сервер/) для просмотра кодированных страниц. Иконка браузера с изображением навесного замка отображается в виде закрытого замка, если ваш сертификат установлен корректно и сервер правильно настроен.
Как установить сертификат на WIndows Server (IIS 7.x)
Добавляем сертификат на сервер.
Для того, чтобы загрузить сертификат перейдите в Диспетчер серверов ( “Пуск” — “Администрирование” — “Диспетчер серверов” ).
Затем откройте “Диспетчер служб IIS” (“Средства” — “Диспетчер служб IIS”) и кликните на “Сертификаты сервера”.
Далее способ установки зависит от того где вы генерировали CSR:
В меню “Действия” кликните пункт “Запрос установки сертификатов”.
Добавьте .crt файл, в поле имя — укажите домен сайта и нажмите “ОК”.
2) Если Вы генерировали CSR через личный кабинет/самостоятельно, то предварительно экспортируйте сертификат с ключом в .pfx файл.
Сгенерированный .pfx файл добавляется на сервер по кнопке “Импортировать” в меню “Действия”.
В открывшемся окне укажите расположение файла и пароль. Пароль задается при генерировании файла в openssl.
Сертификат загружен. В обоих вариантах, после добавления файла, сертификат будет доступен в разделе “Сертификаты сервера”. Осталось настроить доменное имя.
Подключение SSL-сертификата на домен.
Переходим в настройки сайта. В меню “Подключения” выберете сайт и кликните на пункт “Привязки”.
В открывшемся окне нажимаем “Добавить” и заполняем информацию:
Тип — https
Порт — 443,
Имя узла — доменное имя.
IP address — IP-адрес сайта (для сертификата следует выделять отдельный IP для каждого сайта)
скриншот
В поле “SSL сертификаты” указываем созданный сертификат.
Перезагружаем сайт/сервер.
Проверяем — сертификат установлен, сайт доступен по https://
Подробная инструкция по установке SSL-сертификата Let’s Encrypt на сервер с CMS Bitrix и Nginx
Эта инструкция, в первую очередь, должна быть интересна новичкам.
Если у вас все настройки установлены по умолчанию, можно смотреть те пути, которые я привёл. То есть, если вы используете систему, установленную с помощью скрипта Bitrix environment на операционной системе CentOS 6.X. Если же нет, вы и сами знаете где что лежит.
Установка
Первое, что необходимо сделать — установить git:
# yum install git
Далее переходим в директорию /tmp:
# cd /tmp
С помощью git скачиваем файлы Let’s Encrypt. Сам скрипт теперь называется certbot:
# git clone https://github.com/certbot/certbot
Переходим в скачанную директорию:
# cd certbot
На всякий случай, даем права на выполнение для файла скрипта:
# chmod a+x ./certbot-auto
Получение сертификата
Далее следует команда непосредственно получения сертификата:
# ./certbot-auto certonly --webroot --agree-tos --email [email protected] -w /home/bitrix/www/ -d my-domain.ru -d www.my-domain.ru
—webroot — так как автоматическая установка для nginx пока не надежна, используем этот ключ;
—agree-tos — соглашаемся с лицензионным соглашением;
—email [email protected] — указываем свой e-mail. В дальнейшем он может пригодиться для восстановления своего аккаунта;
-w /home/bitrix/www — указываем корневую директорию сайта;
-d my-domain.ru — наш домен. так же можно указывать и поддомены, например -d site.my-domain.ru.
После этого скрипт начнет работу и предложит установить недостающие пакеты. Соглашаемся и ждём.
Если всё завершится успешно, вы увидите сообщение:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/my-domain.ru/fullchain.pem. Your
cert will expire on 2016-08-21. To obtain a new version of the
certificate in the future, simply run Certbot again.
- If you lose your account credentials, you can recover through
e-mails sent to [email protected]
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 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
Сертификаты установлены, осталось только указать nginx’у, где они лежат.
Настройка
Открываем конфигурационный файл ssl.conf:
# vim /etc/nginx/bx/conf/ssl.conf
Если у вас уже были установлены сертификаты, удаляем или комментируем строки с ними и вставляем новые:
ssl_certificate /etc/letsencrypt/live/my-domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.ru/privkey.pem;
Не забываем включить ssl, если этого не было сделано ранее:
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
После этого перезапускаем nginx:
# service nginx reload
Если он не выдал никаких ошибок, значит всё в порядке. Можно зайти на сайт и посмотреть что получилось.
Обновление
Сертификат выдается на 90 дней, так что после этого срока нужно будет его обновить. Делается это командой:
# certbot-auto renew
Её так же можно поставить в cron.
На этом всё. Для составления инструкции я использовал статью Yet another инструкция по получению ssl-сертификата Let’s Encrypt и официальный гайд.
Отправить ответ