1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Instalace vlastního TLS/SSL certifikátu na virtuální server s Apache2

Instalace vlastního TLS/SSL certifikátu na virtuální server s Apache2

SSL certifikáty zabezpečují dvě hlavní funkce: šifrování datových přenosů mezi prohlížečem návštěvníka a serverem, a potvrzení identity provozovatele serveru. 

Návod jako v Ubuntu 20.04 LTS nainstalovat Let’s Encrypt TLS/SSL pro Nginx (HTTPS)

Certifikát je možné v prostředí sdíleného hostingu nainstalovat přes webové rozhraní Webadminu (v případě zakoupení SSL certifikátu u nás je instalace dokonce plně automatická), toto však neplatí u virtuálního serveru – SSL certifikáty je nutné instalovat manuálně.

Kopírování potřebných souborů

Jako úplné minimum jsou pro správné fungování SSL certifikátu nutné dva soubory: soubor privátního klíče, standardně s příponou .key, a samotný certifikát (*.crt). 

Ve většině případů též certifikační autorita (CA) poskytne tzv. intermediate certifikát, někdy nazývaný též certificate chain nebo bundle. Tento soubor je ve skutečnosti sada certifikátů, vypovídající o vztahu certifikační autority, která vám certifikát vydala, s jejími nadřazenými certifikačními autoritami.

Soubory na VPS můžeme nakopírovat například prostřednictvím programů WinSCP nebo FileZilla. Použijeme SFTP režim přenosu a pro přihlášení použijeme rootovské přihlašovací údaje, které nám byly zaslané při vytvoření VPS.

Nakopírujeme *.crt a *.key soubory do adresáře /etc/ssl/<domena>/:

Úprava konfigurace Apache2

Pro správné fungování SSL certifikátu potřebujeme upravit nastavení Apache webserveru – přesněji VHostu domény, pro kterou byl SSL certifikát vydaný. Tento najdeme ve složce /etc/apache2/sites-enabled/.

Otevřeme ho v textovém editoru. Zajímají nás následovné sekce:

 <VirtualHost *:80>
 
 
         DocumentRoot /data/web/mojedomena.cz/web
 
 
         ServerName mojedomena.cz
 
 
         ServerAlias www.mojedomena.cz
 
 
         ErrorLog /data/web/mojedomena.cz/logs/error_log
 
 
         CustomLog /data/web/mojedomena.cz/logs/access_log common
 
 
 </VirtualHost>
 
 
 <VirtualHost *:80>
 
 
         VirtualDocumentRoot /data/web/mojedomena.cz/sub/%-3
 
 
         ServerName mojedomena.cz
 
 
         ServerAlias *.mojedomena.cz
 
 
         ErrorLog /data/web/mojedomena.cz/logs/error_log
 
 
         CustomLog /data/web/mojedomena.cz/logs/access_log common
 
 
 </VirtualHost> 

Tyto sekce v konfiguračním souboru zduplikujeme a v jejich nové kopii uděláme drobné změny:

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


        SSLEngine on
        SSLCertificateFile /etc/ssl/mojedomena.cz/server.crt
        SSLCertificateKeyFile /etc/ssl/mojedomena.cz/server.key
</VirtualHost>


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


        SSLEngine on
        SSLCertificateFile /etc/ssl/mojedomena.cz/server.crt
        SSLCertificateKeyFile /etc/ssl/mojedomena.cz/server.key
</VirtualHost>

V případě, že máme i intermediate certifikát, použijeme ho přidáním následovného řádku do každé z nových sekcí:

        SSLCertificateChainFile /etc/ssl/mojedomena.cz/server.chain.crt

Novou konfiguraci otestujeme pomocí příkazu apache2ctl -t a pokud si na nic nestěžuje,  Apache restartujeme pomocí apache2ctl restart

Aktualizováno: 12 října, 2021

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU