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
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