Создание SSL-сертификата для Apache на Ubuntu 12.04

Что означает красный цвет

В этом руководстве мы будем выделять красным цветом те места, в которых пользователю нужно будет ввести какие-либо данные или внести какие-то изменения. В остальном, предложенные команды можно просто скопировать и вставить в командную строку терминала.

Немного о 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

Здесь в секции, начинающейся со слов , нужно дописать строку с именем сервера (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://адрес_сайта, чтобы увидеть новый сертификат.


Средняя оценка: 5,0, всего оценок: 4