Як встановити Let's encrypt SSL-сертифікат для сайту на сервері під керуванням CentOS Web Panel

Це архівна стаття, для старих версій панелі управління CWP. Знаходиться тут для історії :)

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 https://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 до А.

 

 

Ця відповідь Вам допомогла? 0 Користувачі, які знайшли це корисним (1 Голосів)