Установка сертификатов от Lets Encrypt в FreeBSD+Apache24

Опубликовано admin -

Начнем с того что что Apache24 у вас уже установлен и настроен. Если это не так посмотрите статью FreeBSD+Apache24+Drupal8.
Перед тем как переходить к самой настройке веб сервера и получения ssl сертификата, нам нужно установить certbot

# pkg install py27-certbot
или
# cd /usr/ports/security/py-certbot && make install clean
# cd /usr/ports/security/py-certbot-apache && make install clean

Затем стопарнем Apache24 что бы настроить для коректной работы ssl сертификатов от Lets Encrypt
# /usr/local/etc/rc.d/apache24 stop

Установим OpenSSL
# /usr/ports/security/openssl

Раскомментируем или просто добавим такие строчки в конфигурационном файле Apache24
# ee /usr/local/etc/apache24/httpd.conf

LoadModule log_config_module libexec/apache24/mod_log_config.so
LoadModule setenvif_module libexec/apache24/mod_setenvif.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
Include etc/apache24/extra/httpd-ssl.conf

И редактируем конфигурационный файл до такого состояния
# ee /usr/local/etc/apache24/extra/httpd-ssl.conf

Listen 443
SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
SSLHonorCipherOrder on
#TLS 1.2 Only
SSLProtocol TLSv1.2
SSLProxyProtocol TLSv1.2
SSLPassPhraseDialog  builtin

SSLSessionCache        "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout  300

 

Приступаем к созданию самоподписанного сертификата SSL / TLS. Это можно сделать с помощью команды openssl.
#openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/apache24/server.key -out /usr/local/etc/apache24/server.crt -days 3650 #с паролем
тогда при старте Apache24 будет запрошен пароль
Enter PEM pass phrase:
Или создадим сертификат без пароля.
#openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/apache24/server.key -out /usr/local/etc/apache24/server.crt -days 3650

 

Теперь можно и стартануть Apache24
# /usr/local/etc/rc.d/apache24 start
И получим ssl сертификат на примере моего сайта.

# certbot certonly --webroot -w /usr/local/www/apache24/data/ussrkievua -d ussr.kiev.ua -d www.ussr.kiev.ua -m ussr@ussr.kiev.ua

# cd /usr/ports/security/py-certbot-apache
# make install clean
# certbot --apache -d server.olymp-travel.kiev.ua

 

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ussr.kiev.ua
http-01 challenge for www.ussr.kiev.ua
Using the webroot path /usr/local/www/apache24/data/ussrkievua for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /usr/local/etc/letsencrypt/live/ussr.kiev.ua/fullchain.pem
   Your key file has been saved at:
   /usr/local/etc/letsencrypt/live/ussr.kiev.ua/privkey.pem
   Your cert will expire on 2019-02-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Вот последний штрих добавим виртуал хост, и укажем где лежат ssl сертификаты  
# ee /usr/local/etc/apache24/extra/httpd-ssl.conf
 

<VirtualHost *:443>
    ServerName ussr.kiev.ua:443
    ServerAlias www.ussr.kiev.ua
    DocumentRoot "/usr/local/www/apache24/data/ussrkievua"
ServerAdmin ussr@ussr.kiev.ua
SSLEngine on
SSLCertificateFile "/usr/local/etc/letsencrypt/live/ussr.kiev.ua/fullchain.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/ussr.kiev.ua/privkey.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 "/usr/local/www/apache24/data/ussrkievua/logs/ussrkievua-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 "/usr/local/www/apache24/data/ussrkievua/logs/ussrkievua.ssl-error.log"
    CustomLog "/usr/local/www/apache24/data/ussrkievua/logs/ussrkievua.ssl-access_log" combined
</VirtualHost>

Ребутнем Apache24
# /usr/local/etc/rc.d/apache24 restart
Пробуем зайти через https://ussr.kiev.ua  

 

Теги

Добавить комментарий

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
5 + 1 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.