#language cs
## 20210714 AK
----
 '''česky''' | [[HowToDocuments/ServerSSLWithDebian|english]]
----
= Jak nastavit server s certifikátem SSL na Debianu =

Jak nastavit, aby webový server Apache 2.4 na operačním systému Debian GNU/Linux používal certifikát SSL.

Všechny následující příkazy musíte vydávat jako root z příkazového řádku:

 * jděte do adresáře /etc/apache/ssl (pozor, závisí na verzi Debianu): 
'''cd /etc/apache/ssl'''

 * vytvořte privátní klíč: 
'''openssl genrsa  -out supersecret.key 4096'''

 * generujte z něj žádost o certifikát: 
'''openssl req -key supersecret.key -new'''

Odpovězte na následující otázky (po každé odpovědi stiskněte ''Enter''):<<BR>>
Country Code [kód země]: (viz: [[https://www.iso.org/obp/ui/#search]], pro Českou republiku CZ)<<BR>>
State or Province: Kraj/okres/provincie, kde bydlím<<BR>>
Locality name [lokalita]: Město/obec, kde bydlím<<BR>>
Organization Name [název organizace]: Dávám sem tečku, která ponechá pole prázdné<<BR>>
Organizational Unit [organizační jednotka]: Dávám tečku<<BR>>
Common Name [obecný název]: Plně kvalifikovaný název (FQDN) mého serveru<<BR>>
Email Address: Moje e-mailová adresa<<BR>>
Challenge password [heslo]: Toto nechávám prázdné<<BR>>
Optional company name [volitelný název firmy]: Toto nechávám prázdné<<BR>>

 * To vygeneruje žádost o certifikát (CSR) a zobrazí ji. Zkopírujte ji a vložte do webového formuláře CAcert: [[https://secure.cacert.org/account.php?id=10|Certifikáty serveru - Nový]].<<BR>>
 * CACert pak vygeneruje certifikát. Zkopírujte ho a vložte do souboru na serveru. Protože používám Debian, je správné umístění:
'''/etc/apache2/ssl'''
 * Uložte ho do uvedeného adresáře certifikát jako soubor např. myserver.crt
 * Dále si stáhněte od CACert zprostředkující certifikát (třídy 3) a uložte ho do téhož adresáře (/etc/apache2/ssl). Stáhněte rovněž kořenový certifikát CACert třídy 1 a uložte ho do téhož adresáře.
 * Zkombinujte privátní klíč, certifikát svého serveru a oba kořenové certifikáty do jednoho souboru:
'''cat supersecret.key myserver.crt class3_x14E228.crt root_X0F.crt > myserver.pem'''
 * Změňte oprávnění, aby výsledný soubor PEM nemohl číst nikdo jiný:
'''chmod 600 myserver.pem'''

POZOR: Postup platí pro Apache verze vyšší než 2.4.8. Máte-li starší verzi, pak dejte oba kořenové certifikáty do jiného, tzv. řetězového souboru (chain file).
 * Upravte konfigurační soubor Apache SSL (/etc/apache2/sites-available/default-ssl.conf) (a opět - toto je specifické pro Debian) a určete umístění souboru v SSLCertificateFile.  
POZOR, nechcete-li raději uložit privátní klíč do souboru PEM, specifikujte také SSLCertificateKeyFile. Já to mám raději všechno pohromadě v jediném souboru typu PEM. Používáte-li Apache verze nižší než 2.4.8, zadejte také "řetězový soubor" (chain file), který obsahuje oba kořenové certifikáty CACert, do parametru SSLCertificateChainFile.
 * Zapněte SSL web:
'''a2ensite default-ssl'''
 * Restartujte Apache
'''apache2ctl graceful'''

To je vše; nyní Váš server běží a používá SSL certifikát od CACert.org.

Podobný návod pro Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

Zdroj: BM/15

----

 . CategoryTutorials
 . CategoryStepByStep