Делаем бесплатный SSL сертификат в 2017 году

от автора

Предисловие

Недавно я искал ssl сертификат для своего сайта но на Хабре было только инструкция для StartSSl который уже не поддерживают Google Chrome и MozilaFirefox. И здесь я бы хотел показать как сделать сертификат пошагово на собственном сервере.

Итак начнем

Создадим папку для ssl в корне.

mkdir /ssl

Далее зайдем в конфиги Apache

cd /etc/apache2/sites-available

Скачаем пример конфига.

sudo wget https://linode.com/docs/assets/apache2-roundcube.sample.conf

Поменяем владельца на root и права.

sudo chown root:root apache2-roundcube.sample.conf

sudo chmod 644 apache2-roundcube.sample.conf

И редактируем.

nano apache2-roundcube.sample.conf

В теге <VirtualHost *:80> и <VirtualHost *:443>
ServerAdmin меняем на webmaster@названиесайта.
ServerName меняем на название сайта.
DocumentRoot меняем на директорию где лежит сайт, у меня это:

/var/www/html/

Все теги Directory удаляем кроме:

<Directory /var/www/roundcube>...</Directory>

здесь меняем путь вместо /var/www/roundcube /var/www/html. И меняем путь к SSL сертификатам:

  SSLCertificateFile /etc/apache2/ssl/webmail.example.com/apache.crt 

  SSLCertificateKeyFile /etc/apache2/ssl/webmail.example.com/apache.key 

на

  SSLCertificateFile /ssl/crt.crt

  SSLCertificateKeyFile /ssl/key.key

Пример конфига:

 # Apache2 vhost configuration sample for Roundcube # https://linode.com/docs/email/clients/installing-roundcube-on-ubuntu-14-04/ <VirtualHost *:80>   # Virtual host configuration + information (replicate changes to *:443 below)   ServerAdmin webmaster@uranius.pp.ua   ServerName uranius.pp.ua   DocumentRoot /var/www/html/   # ErrorLog /var/log/apache2/webmail.example.com/error.log   # CustomLog /var/log/apache2/webmail.example.com/access.log combined   # Permanently redirect all HTTP requests to HTTPS   RewriteEngine on   RewriteCond %{SERVER_PORT} !^443$   RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443>   # Virtual host configuration + information (replicate changes to *:80 above)   ServerAdmin webmaster@uranius.pp.ua   ServerName uranius.pp.ua   DocumentRoot /var/www/html   # ErrorLog /var/log/apache2/webmail.example.com/error.log   # CustomLog /var/log/apache2/webmail.example.com/access.log combined   # SSL certificate + engine configuration   SSLEngine on   SSLCertificateFile /ssl/crt.crt   SSLCertificateKeyFile /ssl/key.key   # Roundcube directory permissions + restrictions   <Directory /var/www/html/>     Options -Indexes     AllowOverride All   </Directory> </VirtualHost> </IfModule>

Переименуем файл

sudo mv apache2-roundcube.sample.conf uranius.pp.ua.conf

Отключем не нужные конфиги

sudo a2dissite 000-default.conf default-ssl.conf

Включаем необходимые модули.

sudo a2enmod deflate expires headers rewrite ssl

Включаем конфиг сайта.

a2ensite uranius.pp.ua.conf

А теперь самое интересное, получим сертификат. Идем на www.sslforfree.com. Вводим доменное имя и нажимаем получить. Далее скачиваем файл и загружаем его на сервер. Идем в папку, где лежит сайт и создаем директорию:

cd /var/www/html/

mkdir .wellknown

cd .wellknown

mkdir acme-challenge

cd acme-challenge

Ставим туда файл и нажимаем Download SSl Certificate. Скачиваем zip с сертификатами и загружаем на сервер в папку ssl в корне. Зайдем в папку и переименуем:

cd /ssl

mv certificate.crt crt.crt

mv private.key key.key

И сохраняем. Проверяем конфиги:

apachectl configtest

Осталось только перезапустить сервер и сайт готов.

/etc/init.d/apache2 restart

ссылка на оригинал статьи https://habrahabr.ru/post/324740/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *