Код: Выделить всё
sudo a2enmod ssl
Создаём директорию, куда положим ключи:
Код: Выделить всё
sudo mkdir /etc/apache2/ssl
Генерируем ключи:
Код: Выделить всё
sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key
Командой выше мы получаем ключ без пароля (passphrase), чтобы Apache не мучил нас запросам пароля при каждом перезапуске. В условиях повышенной безопасности такую возможность, конечно, игнорировать не надо, но мы решаем пока вполне бытовые задачи.
И, да, ключ наш будет действовать 365 дней. Так что через год его надо перегенерировать.
Включаем заготовленный разработчиками дефолтный виртуальный хост с поддержкой SSL:
Код: Выделить всё
sudo a2ensite default-ssl
Перезапускаем Apache:
Код: Выделить всё
sudo service apache2 restart
Готово! Теперь вы сможете зайти как на http://127.0.0.1/, так и на https://127.0.0.1/ (разумеется, тут не обязательно должен быть localhost, а может быть реальный IP вашего сервера). Если вы ставили из пакетов phpMyAdmin (sudo aptitude install phpmyadmin), то и он уже доступен через ssl по адресу: https://127.0.0.1/phpmyadmin
Если захотите создать свой защищенный хост, то копируйте конфиг:
Код: Выделить всё
sudo cp /etc/apache2/sites-available/{default-ssl,mysslhost}
Потом правьте его под себя (вероятно, вы туда захотите добавить домен директивой ServerName example.tld) и включайте ваш новый хост выше представленной командой a2ensite с последующим перезапускам Apache.