1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Inštalácia vlastného TLS/SSL certifikátu na virtuálny server s Apache2

Inštalácia vlastného TLS/SSL certifikátu na virtuálny server s Apache2

SSL certifikáty zabezpečujú dve hlavné funkcie: šifrovanie dátových prenosov medzi prehliadačom návštevníka a serverom, a potvrdenie identity prevádzkovateľa serveru. 

Návod ako v Ubuntu 20.04 LTS nainštalovať Let’s Encrypt TLS/SSL pre Nginx (HTTPS)

Certifikát je možné v prostredí zdieľaného hostingu nainštalovať cez webové rozhranie Webadminu (v prípade zakúpenia SSL certifikátu u nás je inštalácia dokonca plne automatická), toto však neplatí u virtuálneho serveru – SSL certifikáty je nutné inštalovať manuálne.

Kopírovanie potrebných súborov

Ako úplné minimum sú pre správne fungovanie SSL certifikátu nutné dva súbory: súbor privátneho kľúča, štandardne s príponou .key, a samotný certifikát (*.crt). 

Vo väčšine prípadov tiež certifikačná autorita (CA) poskytne tzv. intermediate certifikát, niekedy nazývaný tiež certificate chain alebo bundle. Tento súbor je v skutočnosti sada certifikátov hovoriaca o vzťahu certifikačnej autority, ktorá vám certifikát vydala, s jej nadradenými certifikačnými autoritami.

Súbory na VPS môžme nakopírovať napríklad prostredníctvom programov WinSCP alebo FileZilla. Použijeme SFTP režim prenosu a pre prihlásenie použijeme rootovské prihlasovacie údaje, ktoré nám boli zaslané pri vytvorení VPS.

Nakopírujme *.crt a *.key súbory do adresáru /etc/ssl/<domena>/:

Úprava konfigurácie Apache2

Pre správne fungovanie SSL certifikátu potrebujeme upraviť nastavenia Apache webservera – presnejsie VHostu domény, pre ktorú bol SSL certifikát vydaný. Tento nájdeme v priečinku /etc/apache2/sites-enabled/.

Otvoríme ho v textovom editore. Zaujímajú nás nasledovné sekcie:


<VirtualHost *:80>


        DocumentRoot /data/web/mojadomena.sk/web


        ServerName mojadomena.sk


        ServerAlias www.mojadomena.sk


        ErrorLog /data/web/mojadomena.sk/logs/error_log


        CustomLog /data/web/mojadomena.sk/logs/access_log common


</VirtualHost>


<VirtualHost *:80>


        VirtualDocumentRoot /data/web/mojadomena.sk/sub/%-3


        ServerName mojadomena.sk


        ServerAlias *.mojadomena.sk


        ErrorLog /data/web/mojadomena.sk/logs/error_log


        CustomLog /data/web/mojadomena.sk/logs/access_log common


</VirtualHost>

Tieto sekcie v konfiguračnom súbore zduplikujeme a v ich novej kópii spravíme drobné zmeny:

<VirtualHost *:443>
        DocumentRoot /data/web/mojadomena.sk/web
        ServerName mojadomena.sk
        ServerAlias www.mojadomena.sk
        ErrorLog /data/web/mojadomena.sk/logs/error_log
        CustomLog /data/web/mojadomena.sk/logs/access_log common


        SSLEngine on
        SSLCertificateFile /etc/ssl/mojadomena.sk/server.crt
        SSLCertificateKeyFile /etc/ssl/mojadomena.sk/server.key
</VirtualHost>


<VirtualHost *:443>
        VirtualDocumentRoot /data/web/mojadomena.sk/sub/%-3
        ServerName mojadomena.sk
        ServerAlias *.mojadomena.sk
        ErrorLog /data/web/mojadomena.sk/logs/error_log
        CustomLog /data/web/mojadomena.sk/logs/access_log common


        SSLEngine on
        SSLCertificateFile /etc/ssl/mojadomena.sk/server.crt
        SSLCertificateKeyFile /etc/ssl/mojadomena.sk/server.key
</VirtualHost>

V prípade, že máme aj intermediate certifikát, použijeme ho pridaním nasledovného riadku do každej z nových sekcií:

        SSLCertificateChainFile /etc/ssl/mojadomena.sk/server.chain.crt

Novú konfiguráciu otestujeme pomocou príkazu apache2ctl -t a pokiaľ sa na nič nesťažuje,  Apache reštartujeme pomocou apache2ctl restart

Aktualizované 22. júna 2020

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu