sudo apt-get install lamp-server^
делаем все как http://blog.valentin.in.ua/2017/08/06/apache-http-s/
потом перезаписываем pem key
open this web site https://www.sslforfree.com/create create ssl
SSLEngine on
SSLCertificateFile /etc/ssl/bigbell/certificate.crt
SSLCertificateKeyFile /etc/ssl/bigbell/private.key
SSLCertificateChainFile /etc/ssl/bigbell/ca_bundle.crt
создаем в директории /etc/ssl/private файл valentin.in.ua.pem
и записываем в него содержимое Certificate (1) и CA Bundle (3)
содержимое Private Key (2) сохраняем в директорию /etc/ssl/certs файл valentin.in.ua.key
Для начала необходимо активировать mod_ssl
: sudo a2enmod ssl
А затем включить настройки HTTPS сайта по умолчанию:
sudo a2ensite default-ssl
Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl
(или /etc/apache2/sites-enabled/default-ssl.conf
).
nano /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
SSLEngine on #set
# Публичный сертификат сервера
SSLCertificateFile /etc/ssl/certs/server.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/ssl/private/server.key
дальше
sudo service apache2 restart
Перенаправление HTTP запросов на HTTPS
Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Сделаем это с помощью mod_alias
. Если он не включён — включаем:
sudo a2enmod alias sudo service apache2 restart
Затем изменяем файл /etc/apache2/sites-enabled/000-default
, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву
Redirect / https://example.com/
При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.
sudo nano default-ssl.conf
Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS страницу.
Процесс установки сертификата
После выпуска SSL-сертификата на ваш контактный e-mail придёт сообщение с данными для установки сертификата, это:
- сам сертификат;
- корневой сертификат (нужен для установки SSL-сертификата);
- промежуточный сертификат (нужен для установки SSL-сертификата).
1
создайте на вашем компьютере при помощи любого текстового редактора файлы
, и со следующим содержимым:- — сам сертификат;
- — приватный ключ;
- — цепочка сертификатов, содержит сначала промежуточный сертификат, и следом за ним корневой (с новой строки без пробелов и пустых строк);
2
откройте файл конфигурации Apache для редактирования блока «VirtualHost». В зависимости от особенностей вашего сервера этот файл вы можете найти одним из следующих путей:
- для CentOS: ;
- для Debian, Ubuntu: .
отредактируйте блок «VirtualHost», добавив в него следующие строки:
SSLEngine on SSLCertificateFile /path/to/domain_name.crt SSLCertificateKeyFile /path/to/private.key SSLCertificateChainFile /path/to/chain.crt
где:
- — путь до сертификата;
- — путь до файла ключа;
- — путь до цепочки сертификатов.
Если необходимо, чтобы сайт работал и с защищенным соединением и с незащищенным, вам необходим виртуальный хост для каждого соединения. Поэтому создайте 2 блока «VirtualHost», лишь в один из которых включите SSL-директивы;
3
проверьте конфигурацию Apache до перезапуска командой:
apachectl configtest