Inštalácia SSL certifikátu na virtuálny server

 

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. 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 na virtuálny server


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.

 

Screenshot from 2014-11-19 16:38:58.png

 

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

 

Screenshot from 2014-11-19 16:47:13.png

 

 

Úprava konfigurácie webserveru


Pre správne fungovanie SSL certifikátu potrebujeme upraviť nastavenia Apache webserveru - 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 sekcii:

 

        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

 

Presmerovanie na https

Pre získanie plného úžitku z Vášho SSL certifikátu, je potrebné využívať https pre každú návštevu stránky. To je možné dosiahnúť viacerými spôsobmi, ale najbežnejší je úpravou .htaccess súboru. Pre vytvorenie presmerovania postupujte podľa nasledovného návodu