В прошлый раз мы вам рассказывали как создать виртуальный хост на Apache, а теперь перевести его на HTTPS!
Перед вами стоит задача на сервере в целях разработки создать сайт прикрепить домен и перевести его на https? Если это так, то подробно читайте данную статью!
Вначале читаем статью про создание виртуальных хостов, а потом возвращаемся сюда и читаем далее!
Включаем модуль:
a2enmod ssl
перезагружаем apache2:
service apache2 restart
генерируем rsa ключ:
openssl genrsa -out site.key 2048
генерируем ключ при запросе на выдачу:
openssl req -new -key site.key -out site.csr
и отвечаем или не отвечаем на вопросы, нажимая Enter, кроме «Common Name» вам необходимо указать адрес сайта.
Country Name (2 letter code) [AU]: можно не указывать State or Province Name (full name) [Some-State]: можно не указывать Locality Name (eg, city) []:можно не указывать Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []:можно не указывать Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: можно не указывать An optional company name []: можно не указывать
и создаем сертификат:
openssl x509 -req -days 365 -in site.csr -signkey site.key -out site.crt
Проверяем что у вас есть три файла, вводим команду:
ls и видим site.crt site.csr site.key
перемещаем все файлы в папку /etc/ssl/certs/:
mv site.* /etc/ssl/certs/
Переходим в папку /etc/apache2/sites-available:
cd /etc/apache2/sites-available
вносим правки в существующий файл конфиуграции:
nano /example.com.conf
редактируем:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html </VirtualHost> <VirtualHost *:443> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html SSLEngine on SSLCertificateFile /etc/ssl/certs/site.crt SSLCertificateKeyFile /etc/ssl/certs/site.key ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Перезапускаем apache2:
sudo service apache2 restart
Если хотим чтобы все запросы переадресовывались с версии http на htpps, то добавьте еще строчку:
Redirect / https://example.com/
должно выйти:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html Redirect / https://example.com/ </VirtualHost> <VirtualHost *:443> ......... и так далее.....
Перезапускаем apache2:
sudo service apache2 restart
Если что-то не получается, то прочтите статью о создание виртуальных хостов в apache.
У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!
Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Linux. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!