Что означает красный цвет
В этом руководстве мы будем выделять красным цветом те места, в которых пользователю нужно будет ввести какие-либо данные или внести какие-то изменения. В остальном, предложенные команды можно просто скопировать и вставить в командную строку терминала.
Немного о SSL-сертификатах
SSL-сертификаты используются для шифрования информация на сайте и создания безопасных соединений. Кроме того, такой сертификат может использоваться посетителями для получения информации о VPS-сервере, на котором запущен сайт. SSL-сертификаты могут выдаваться специальные сертификационными центрами, которые уполномочены проверять и подтверждать информацию о сервере, также существуют самоподписанные сертификаты, созданные владельцами сайтов, которые никто не «заверяет».
Настройка
Для того, чтобы сгенерировать сертификат, вам необходимо обладать root-правами на вашем сервере (в системе 1cloud такие права пользователи получают по-умолчанию). Кроме того, необходимо установить веб-сервер Apache (о том, как это сделать написано в нашей статье «Как установить LAMP-стек (Linux, Apache, MySqL, PHP) на сервере с Ubuntu»).
Если Apache еще не установлен на сервере, это можно сделать с помощью специальной команды:
sudo apt-get install apache2
Шаг #1: Активация модуля SSL
Затем нужно активировать модуль SSL на сервере:
sudo a2enmod ssl
И перезапустить Apache, чтобы изменения вступили в силу:
sudo service apache2 restart
Шаг #2: Создание новой директории
Нужно создать новую директорию (то есть папку), где будут хранится ключ сервера и сам сертификат:
sudo mkdir /etc/apache2/ssl
Шаг #3: Создание самоподписанного SSL-сертификата
При «заказе» сертификата можно установить срок, в течение которого он должен оставаться действующим (число 365 в запросе можно поменять на любое другое). Мы создадим сертификат, который будет действителен в течение одного года:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
С помощью этой команды запускается создание самоподписанного SSL-сертификата, а также серверного ключа для его защиты. Оба этих фала будут храниться в ранее созданной директории.
В процессе создания сертификата система будет задавать вопросы, на которые нужно будет ответить.
Самое важное поле “Common Name” — здесь нужно вбить доменное имя сайта, если у него еще нет домена (или его использование не предполагается), можно вбить IP-адрес.
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Region Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:OOO Romashka Organizational Unit Name (eg, section) []:Sales Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []:webmaster@example.com
Шаг #4: Установка сертификата
После того, как проделаны все подготовительные процедуры, необходимо сконфигурировать виртуальные хосты для отображения сертификата. Для этого в текстовом редакторе нужно открыть конфигурационный файл SSL:
nano /etc/apache2/sites-available/default-ssl
Здесь в секции, начинающейся со слов <virtualhost _default_:443="">, нужно дописать строку с именем сервера (ServerName):
ServerName example.com:443
Слово example.com надо заменить на доменное имя сайта или IP-адрес сервера (значение должно совпадать с тем, что вы внесли в поле CommonName при создании SSL-сертификата). Также нужно найти поиском три строки и убедиться что в них указаны значение, как в примере ниже:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Затем нужно сохранить изменения и выйти из файла.
Шаг #5: Активация нового виртуального хоста
Прежде чем активировать сайт на 443 порте, нужно включить соответствующий виртуальный хост:
sudo a2ensite default-ssl
После этого нужно перезагрузить Apache:
sudo service apache2 reload
После этого нужно вбить в браузер https://адрес_сайта, чтобы увидеть новый сертификат.