База знаний:
Как установить Let's encrypt SSL-сертификат для сайта на сервере под управлением CentOS Web Panel
Автор Максим Колодєєв, Last modified by Юрій Бесараба на 09 October 2017 13:21 PM

Let’s Encrypt - это новый центр сертификации, который легко позволяет получить и установить бесплатный TLS/SSL сертификат для Вашего сайта.

Рассмотрим подробней процесс выпуска и установки SSL-сертификата для сайта на сервераз под управлением панели CentOS Web Panel.

Важное примечание: для успешного процесса выпуска сертификата, домен, для которого он будет выпускаться, должен уже быть направленным (в настройках DNS по А-записи) и быть добавленным на сервере, с которого будет совершаться выпуск сертификата. Так же необходимо создать почтовый ящик на домене вида administrator@домен, так как он в будущем может понадобится.

1. Сперва, установим на сервере Let's Encrypt Client. Для этого, после подключения к серверу по ssh выполним следующую команду:

cd /root && git clone https://github.com/letsencrypt/letsencrypt

2. Далее устанавливаем необходимые для дальнейшей работы библиотеки и компоненты:

а) устанавливаем EPEL репозиторий:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

б) устанавливаем pip:

yum install python-pip

в) устанавливаем virtualenv:

pip install virtualenv

3. Теперь приступим к непосредственному выпуску самого сертификата. Выполняем:

 

cd /root/letsencrypt/ && ./letsencrypt-auto certonly --email administrator@pro100tech.ml --agree-tos --renew-by-default --webroot  -w /home/pro/public_html -d pro100tech.ml -d www.pro100tech.ml && cp -f /etc/letsencrypt/live/pro100tech.ml/fullchain.pem /etc/pki/tls/certs/pro100tech.ml.cert && cp -f /etc/letsencrypt/live/pro100tech.ml/privkey.pem /etc/pki/tls/private/pro100tech.ml.key && cp -f /etc/letsencrypt/live/pro100tech.ml/chain.pem /etc/pki/tls/certs/pro100tech.ml.bundle

 , где:

administrator@pro100tech.ml -  почтовый ящик на домене (соответственно, вместо pro100tech.ml вводите свой домен; предварительно не забудьте создать такой ящик);

/home/pro/public_html - путь к корневой папке сайта на сервере (заменяете на свой);

 -d pro100tech.ml - домен, для которого устанавливается сертификат (заменяете на свой).

 -d www.pro100tech.ml - необходимо указать для распространения сертификата на домен с www.

Далее в строке приведенной Выше команды везде заменяете pro100tech.ml на свой домен.

По завершению установки получаем следующее сообщение:

Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/pro100tech.ml/fullchain.pem. Your cert will
   expire on 2016-07-20. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.

4. Далее, в панели управления CentOS Web Panel переходим в меню Apache Settings => SSl Cert Manager

 

Далее в первом поле из выпадающего списка выбираем файлы сертификата для нашего домена, во втором - пользователя сайта и в поле Domain вводим имя домена, для которого выполнялся выпуск сертификата и нажимаем на кнопку Install SSL.

 

После завершения установки получаем следующее сообщение об успешной установке сертификата:

После этого проверяем работу сайта по https-протоколу:

Обратите внимание, что после установки сертификата так же нужно будет в файлах и базе данных сайта заменить все ссылки на контент сайта с http на https-ссылки для корректной работы защищенного соединения. Так же для автоматического перенаправления http-ссылок на https при переходе к сайту нужно настроить соответствующее перенаправление в файле .htaccess.

Теперь добавляем следующее cron-задание для автоматического обновление сертификата (добавить новое cron-задание можете через панель управления в меню Server settings - Crontab или непосредственно в консоли при помощи команды crontab -e  : вводим crontab -e далее нажимаем i для перехода в режим редактирования, вводим указанную ниже команду, нажимаем Esc и вводим x! для сохранения данных) :

01 3 1 * * cd /root/letsencrypt/ && ./letsencrypt-auto certonly --email administrator@pro100tech.ml --agree-tos --renew-by-default --webroot  -w /home/pro/public_html/ -d pro100tech.ml && cp -f /etc/letsencrypt/live/pro100tech.ml/fullchain.pem /etc/pki/tls/certs/pro100tech.ml.cert && cp -f /etc/letsencrypt/live/pro100tech.ml/privkey.pem /etc/pki/tls/private/pro100tech.ml.key && cp -f /etc/letsencrypt/live/pro100tech.ml/chain.pem /etc/pki/tls/certs/pro100tech.ml.bundle

 

Не забудьте заменить домен и пути на свои собственные.

Протестировать сертификат можете на следующем ресурсе - https://www.ssllabs.com/ssltest

Для улучшения оценки и повышения безопасности https-соединения открываем файл /usr/local/apache/conf.d/vhosts-ssl.conf и после строки SSLCertificateChainFile с новой строки добавляем следующие записи:

SSLProtocol All -SSLv2 -SSLv3
SSLCompression Off
SSLHonorCipherOrder On
SSLCipherSuite "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA!RC4:EECDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"

 

Сохраняем изменения в файле и перезапускаем apache :

/etc/init.d/httpd restart

Тестируем снова. После данных правок оценка была повышена с C до А.

 

 

(1 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)
Добавить новый комментарий
 
 
Полное имя:
Email:
Комментарии:
Проверка CAPTCHA 
 
Пожалуйста, введите текст, находящийся на изображении, в текстовое поле ниже (этот метод используется для предотвращения отправки автоматических сообщений).