Настройка Apache SSL на FreeBSD .
Цель этих двух директорий - облегчить управление конфигурацией виртуального
хостинга в системе, без изменения основного файла конфигурации
Apache httpd.conf каждый раз при добавлении нового виртуального хоста.
# mkdir /usr/local/etc/apache24/sites-available
# mkdir /usr/local/etc/apache24/sites-enabled
После того, как вы создали оба каталога, откройте файл Apache httpd.conf
в текстовом редакторе и добавьте следующую строку ближе к концу файла,
как показано ниже.
# ee /usr/local/etc/apache24/httpd.conf
IncludeOptional etc/apache24/sites-enabled/*.conf
А так же снимите префикс :
LoadModule ssl_module libexec/apache24/mod_ssl.so ...... 148 строка .
Затем включите модуль TLS для Apache, создав следующий новый файл с именем
020_mod_ssl.conf в каталоге modules.d со следующим содержимым.
# touch /usr/local/etc/apache24/modules.d/020_mod_ssl.conf
# ee /usr/local/etc/apache24/modules.d/020_mod_ssl.conf
Listen 443
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog builtin
SSLSessionCacheTimeout 300
Далее создайте файл конфигурации TLS для вашего домена в каталоге sites-available ,
желательно с именем вашего домена, как показано в приведенном ниже отрывке , а
также создайте файлы логов :
# touch /var/log/dinozavr1967.ssl-error.log / указываете имя своего сайта
# touch /var/log/dinozavr1967.ssl-access_log / указываете имя своего сайта
# touch /var/log/httpd-ssl_request.log
# touch /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf
Создаём директорию для ключей :
Здесь я не совсем уверен ... Возможно при установке ключей директория и так сформируется .
# mkdir /usr/local/etc/letsencrypt/
# mkdir /usr/local/etc/letsencrypt/live/
Впрочем хуже не будет ...
Создаём виртуальный хост в bsd.lan-ssl.conf :
# ee /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf
<VirtualHost *:443>
ServerName www.dinozavr1967.ru
ServerAlias dinozavr1967.ru
# DocumentRoot "/usr/local/www/apache24/data/"
DocumentRoot "/root/torrentpier/" / пример моего пути к сайту
SSLEngine on
SSLCertificateFile "/usr/local/etc/letsencrypt/live/dinozavr1967.ru/cert.pem" / При установке ключей домен встанет автоматом
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/dinozavr1967.ru/privkey.pem" / При установке ключей домен встанет автоматом
SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/dinozavr1967.ru/fullchain.pem" / При установке ключей домен встанет автоматом
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/apache24/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd-ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<Directory "/usr/local/www/apache24/data/">
Options Indexes FollowSymLinks MultiViews
# AllowOverride controls what directives may be placed in .htaccess files.
AllowOverride All
# Controls who can get stuff from this server file
Require all granted
</Directory>
ErrorLog "/var/log/dinozavr1967.ssl-error.log" / указываете имя своего сайта
CustomLog "/var/log/dinozavr1967.ssl-access_log" combined / указываете имя своего сайта
</VirtualHost>
Обязательно замените переменную доменного имени из операторов ServerName ,
ServerAlias , ErrorLog, CustomLog соответственно.
Устанавливаем Lets'Encrypt :
# pkg install py311-certbot
Если выскочит ошибка , то проверьте последнюю версию py-certbot . Цифры могут отличаться .
Генерируем сертификат для домена :
# certbot certonly --webroot -w /root/torrentpier/ -d dinozavr1967.ru -d www.dinozavr1967.ru
/root/torrentpier/ - путь к вашему сайту .
dinozavr1967.ru , www.dinozavr1967.ru - Ваш домен .
При получении сертификата укажите адрес электронной почты
На остальные вопросы просто = y =
root@dinozavr1967:~ # certbot certonly --webroot -w /root/torrentpier/ -d dinozavr1967.ru -d www.dinozavr1967.ru
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): Ваша почта
-----------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf. You must
agree in order to register with the ACME server. Do you agree?
(Y)es/(N)o: y
-----------------------------------------------------------------
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
(Y)es/(N)o: y
-----------------------------------------------------------------