Рассмотрим процесс установки самоподписанных SSL сертификатов и Wildcard SSL сертификатов на WEB-сервер Apache 2 с целью предоставить доступ на сайт по шифрованному протоколу https.
Сертификат – это набор файлов и для работы сервера Apache2 по протоколу https файлы сертификата необходимо загрузить на сервер и прописать в конфигурационных файлах Apache.
На Ubuntu сервере для сертификатов имеется папка /etc/ssl и, логично, ваши файлы сертификатов поместить туда. Например, файл самоподписанного сертификата с расширением key помещаем в папку /etc/ssl/private, а файл с расширением pem в папку /etc/ssl/certs. Или, другой пример, мы получили в удостоверяющим центром «SSL For Free» сертификаты в архивной папке sslforfree. Извлекаем эту папку из архива и помещаем в папку /etc/ssl, так, что файлы сертификата оказываются в папке /etc/ssl/sslforfree.
Вы, так же, можете разместить файлы сертификата в папке WEB сервера в недоступном для сайтов месте, например, в папке /var/www.
Для моего сайта с самоподписанным SSL сертификатом настройки сервера Apache2 в файле /etc/apache2/sites-available/adior.ru.conf я сделал следующим образом:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
ServerName adior.ru
DocumentRoot /var/www/adior.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/adior.ru.pem
SSLCertificateKeyFile /etc/ssl/private/adior.ru.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
Для моего сайта с SSL сертификатом Wildcard от удостоверяющего центра «SSL For Free» настройки сервера Apache2 в файле /etc/apache2/sites-available/adior.ru.conf я сделал следующим образом:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
ServerName adior.ru
DocumentRoot /var/www/adior.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/sslforfree/certificate.crt
SSLCertificateKeyFile /etc/ssl/sslforfree/private.key
SSLCertificateChainFile /etc/ssl/sslforfree/ca_bundle.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>