Самоподписанный сертификат для Apache

Если нужно альтернативные имена, в /etc/ssl/openssl.cnf поправить раздел v3_req и добавить @alt_names. В этом же файле можно указать остальные параметры, чтобы не вводить во время команды.

Создать ключ с сертификатом командой:

Создать ключи Диффи-Хеллмана

Создать файл /etc/apache2/conf-available/ssl-params.conf

Настройка виртуального хоста для https в файле /etc/apache2/sites-available/default-ssl.conf

Если нужна переадресация с http, то в http хосте добавить Redirect:

Включить модуль Apache для SSL, mod_ssl, модуль mod_headers, для работы сниппета SSL и https хост:

Проверка настроек командой sudo apache2ctl configtest, может выдать ошибку, что Syntax OK, но директива ServerName не установлена глобально в /etc/apache2/apache2.conf. Это делать не обязательно.
Перезагрузить Apache командой sudo systemctl restart apache2.